Siege هي أداة لاختبار وتحميل خوادم HTTP و HTTPS مصممة لاختبار إجهاد خوادم الويب في ظل طلب متزامن مرتفع.
الاستخدام الأساسي
# اختبار مع 10 اتصالات متزامنة لمدة دقيقة واحدة
siege -c 10 -t 1m https://example.com/
خيارات سطر الأوامر الشائعة
| الخيار | المعلمة | الوصف |
|---|---|---|
-c N |
--concurrent=N |
عدد المستخدمين المحاكين في نفس الوقت |
-t MINm |
--time=MINm |
إجمالي مدة الاختبار (مثل 30s, 5m, 1h) |
-r N |
--reps=N |
عدد الطلبات لكل مستخدم قبل الإنهاء |
-b |
--benchmark |
وضع الاختبار المعياري (بدون تأخير بين الطلبات) |
-i |
--internet |
طلب الروابط من الملف بترتيب عشوائي |
-f <file> |
--file=<file> |
قراءة قائمة الروابط المستهدفة من ملف |
-H <hdr> |
--header=<hdr> |
إضافة ترويسة HTTP مخصصة للطلبات |
اختبار ملف متعدد الروابط
إنشاء ملف urls.txt:
https://example.com/
https://example.com/api/items
https://example.com/about
تشغيل محاكاة إنترنت عشوائية عبر الروابط:
siege -i -c 25 -t 2m -f urls.txt
شرح مقاييس المخرجات
- Availability: النسبة المئوية للطلبات التي تمت معالجتها بنجاح (يُفضل أن تكون 100%).
- Elapsed time: إجمالي المدة الزمنية لتشغيل الاختبار.
- Transaction rate: عدد الطلبات المعالجة في الثانية (RPS / الإنتاجية).
- Throughput: ميغابايت من البيانات المنقولة في الثانية.
- Concurrency: متوسط عدد الاتصالات المتزامنة النشطة.