منذ أسبوعين فقط لقد أخبرتهم حول كيفية قياس أداء خادم الويب باستخدام Apache Benchmark ، ثم رسمه باستخدام GNUPlot.
هذه المرة سأخبرك عن بديل لـ Apache Benchmark ، سأخبرك عن: حصار
ما هو Siege وكيف يتم تثبيته؟
باستخدام Siege ، نقوم بمحاكاة عمليات الوصول إلى موقع ويب ، أي أننا نشير إلى العدد النهائي للطلبات التي يجب إجراؤها على موقع معين ، وعدد الطلبات المتزامنة ، إذا أردنا أن تزور عنوان URL محددًا أو مجموعة منها ، إلخ. في النهاية ، نحصل على مخرجات تخبرنا بالوقت الذي استغرقه خادم الويب لدينا لتلبية جميع الطلبات ، وما إلى ذلك. في النهاية ، هي البيانات التي تساعدنا على معرفة ما إذا كانت مهام التحسين التي قد نقوم بها فعالة أم لا.
لتثبيت Siege ، ما عليك سوى تثبيت الحزمة التي تحمل الاسم نفسه في توزيعتنا ، في Debian أو Ubuntu أو ما شابه ذلك ، سيكون:
sudo apt-get install siege
في ArchLinux أو المشتقات سيكون:
sudo pacman -S siege
كيف تستخدم Siege؟
كما هو الحال مع Apache Benchmark ، باستخدام معلمة واحدة ، نجتاز جميع الطلبات التي ستقدمها ومع أخرى نشير إلى عدد الطلبات المتزامنة:
siege --concurrent=50 --reps=100 http://www.misitio.com
وفقًا لهذا المثال ، سنقدم ما مجموعه 100 طلب ، 50 طلبًا متزامنًا.
سيكون الإخراج شيئًا مثل هذا:
أدى هذا إلى تقديم طلبات فقط إلى فهرس الموقع ، وأهم شيء يجب مراعاته هو أوقات الاستجابة.
نفس الشيء إذا أنشأنا ملفًا (urls.txt على سبيل المثال) وفيه نضع عدة عناوين URL لنفس الموقع ، ثم مع الحصار نستخدم السطر التالي لزيارة عناوين URL هذه وقياس الأداء ، فهذه ممارسة أكثر واقعية أو ممكنة ، حيث لا يقوم أي شخص بزيارة فهرس الموقع 100 مرة على التوالي 🙂
siege --concurrent=50 --reps=100 -f urls.txt
نهاية
حتى الآن لم أتمكن من رسم النتيجة بيانيًا باستخدام GNUPlot (كما فعلت مع Apache Benchmark) ، إنها مهمة لا يزال لديّ في ToDo 😉
لدي سؤال ، كما ذكرت ، عادةً لن يقوم شخص واحد بزيارة نفس عنوان url 100 أو x مرة متتالية في مثل هذه الفترة الزمنية القصيرة ، لذلك لا يمكن اعتبار هذا هجوم DDoS وأن نفس الخادم يمنعنا؟ ، على افتراض أننا بالطبع قمنا بتثبيت الحد الأدنى من الأمان.
مع أطيب التحيات.
اعجبني اكثر من هذا