تست کارایی برنامههای تحت وب با Siege - احتمالا قسمت آخر
این بخش از ابزار siege
جا مونده بود پس تصمیم گرفتم آموزش ابزار رو کامل کنم. یکی از بخش هایی که جا مونده بود استفاده از siege
برای ارسال دیتای پست هستش. از این قابلیت شاید برای تست API
ها استفاده بشه ولی با وجود ابزار های قدرتمندی مث Postman
فک نمی کنم کسی از siege
برای تست API استفاده کنه. ولی با این وجود این قابلیت در siege
وجود داره و خب باید گفته می شد که فراموش کردم.
برای ارسال دیتای پست با سیج به صورت زیر عمل می کنیم:
siege -c 1 -r 1 -v 'http://sample.com/ POST foo=bar&baz=bash'
این دستور با یک کاربر شبیه سازی شده و تعداد تکرار یک، به آدرس فرضی sample.com
دیتاهای foo=bar
و baz=bash
رو ارسال می کنه. خب یه مثال عملی می زنم.
siege -c 1 -r 1 -v 'https://reqres.in/api/register POST email=eve.holt@reqres.in&password=pistol'
این دستور دو دیتای email
و password
رو به آدرس مورد نظر می فرسته و در صورت موفقیت آمیز بودن درخواست، کد 200 برگشت داده می شه.
سایت https://reqres.in برای تست API استفاده می شه و اگر در خواستی با فرمت از پیش تعیین شده به اون ارسال بشه،پاسخ های مختلفی برگشت داده میشه. مثلا برای مثال ما خروجی json برگشت داده میشه.
خب این از این. بخش بعدی که جا مونده بود، کانفیگ ابزار siege
هستش. تو یکی از بخش ها اشاره ی کوتاهی به فایل کانفیگ شد. گفتم که فایل کانفیگ در مسیر /etc/siege/siegerc
قرار داره. البته یه نمونه از اون هم در مسیر ~/.siege/siege.cong
وجود داره. برای هر کانفیگی هم توضیحات در بالای اون نوشته شده اما چن تا از مهم ترین هاشون رو می گم بقیه رو خودتون چک کنید.
درباره ی log
در ابزار قبلا حرف زدیم. تنظیم logfile
مسیر لاگ های ابزار رو مشخص می کنه.
تنظیم بعدی verbose
هستش که قبلا در باره ی اون حرف زدم این همون سوئیچ -v
هستش!
تنظیم بعدی color
هستش و مقادیر اون هم on\off
هستش. اگر این تنظیم با مقدار on مقدار دهی بشه، خروجی ابزار به صورت رنگی نمایش داده میشه.
تنظیم بعدی quiet
هستش که همون کار سوئیچ -q
رو انجام می ده.
گفتم که اگر ابزار با سوئیچ -g
اجرا بشه، هدر درخواست و پاسخ نمایش داده میشه. تنظیم gmethod
متدی رو که ابزار در حالتی که با سوئیچ -g
اجرا میشه رو تعیین می کنه. مقادیر این تنظیم GET/HEAD
هستش. با متد HEAD فقط هدر درخواست و پاسخ نمایش داده میشه اما با متد GET تمام صفحه ای که درخواست به اون ارسال میشه، بر گشت داده میشه و این دقیقا همون کاریه که سوئیچ -p
انجام میده.
وقتی که درخواستی به یک سرور ارسال میشه - اگر آپشن -v
استفاده شده باشه - لاگ های ابزار در خروجی قرار می گیرن. آدرس هایی که تست
میشن به صورت خلاصه شده در لاگ خروجی قرار می گیرن. با تنظیم fullurl
می تونیم به ابزار بفهمونیم که خروجی لاگ های مورد تست به صورت کامل نمایش داده بشه.(مقادیر این تنظیم به صورت true/false
است.)
تنظیم بعدی protocol
پروتکل درخواست رو مشخص می کنه مقادیر اون می تونه HTTP/1.0
یا HTTP/1.1
باشه. در مورد HTTP/2.0
در مستندات اشاره ای نشده و خودم هم تست نکردم.
تنظیم concurrent
همون کار سوئیچ -c
رو انجام می ده. همین رابطه رو برای تنظیم های time
و reps
و file
و dely
و internet
و benchmark
و سوئیچ های -t
و -r
و -f
و -d
و -i
و -b
در نظر بگیرید.
تا این جا فک کنم کافی باشه. ابزار siege
رو تقریبا به طور کامل توضیح دادم. امیدوارم این ابزار به کارتون بیاد.
شاد و پیروز باشید