چگونه معیار عملکرد وب سرور را انجام دهیم؟

آیا میانگین زمان پاسخ وب سایت خود را می دانید؟ آیا می دانید سایت شما با چند کاربر همزمان می تواند اداره کند?


آزمایش بار برای شناختن وب سایت از برنامه های وب ضروری است ظرفیت. اگر قرار است سرور وب را انتخاب کنید ، یکی از اولین کارهایی که می خواهید انجام دهید این است که تست بار را انجام دهید و ببینید کدام یک برای شما مناسب است.

معیار سنجش می تواند به شما در تصمیم گیری کمک کند.

  • کدام وب سرور بهترین کار را دارد
  • تعداد سرورهای مورد نیاز برای ارائه تعداد x درخواستها
  • کدام پیکربندی به شما بهترین نتیجه را می دهد

چندین ابزار آنلاین برای انجام تست استرس وجود دارد. اما اگر به دنبال یک راه حل داخلی هستید یا می خواهید فقط عملکرد سرور وب را محک بزنید ، می توانید از آن استفاده کنید ApacheBench و همچنین برخی از ابزارهای زیر ذکر شده.

من از آپاچی استفاده کرده ام & وب سرور Nginx که در آن میزبانی شده است DigitalOcean آن را امتحان کنید.

ApacheBench

ApacheBench (ab) یک برنامه خط فرمان منبع باز است که با هر سرور وب کار می کند. در این پست نحوه نصب این برنامه کوچک و انجام تست بار برای محک نتایج را توضیح خواهم داد.

آپاچی

بیایید ApacheBench را با استفاده از یک دستور yum نصب کنیم.

yum ابزارهای httpd را نصب کنید

اگر از قبل ابزارهای httpd دارید ، ممکن است این موضوع را نادیده بگیرید.

حال ، بیایید ببینیم که چگونه برای 5000 درخواست با همزمانی 500 انجام می شود.

[[ایمیل محافظت شده] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
این ApacheBench ، نسخه 2.3 است <نسخه تجدیدنظر شده $: 655654 $>
کپی رایت 1996 آدام Twiss ، زئوس فناوری با مسئولیت محدود ، http://www.zeustech.net/
دارای مجوز به بنیاد نرم افزار Apache ، http://www.apache.org/
معیار محلی سازی (صبور باشید)
500 درخواست را انجام داد
1000 درخواست را انجام داد
1500 درخواست را انجام داد
2000 درخواست را انجام داد
2500 درخواست انجام شد
3000 درخواست را انجام داد
3500 درخواست تکمیل شد
4000 درخواست را انجام داد
4500 درخواست را انجام داد
5000 درخواست را انجام داد
5000 درخواست به پایان رسید
نرم افزار سرور: Apache / 2.2.15
نام میزبان سرور: localhost
درگاه سرور: 80
مسیر سند: /
طول سند: 4961 بایت
سطح همزمانی: 500
زمان لازم برای آزمایش: 13.389 ثانیه
درخواست های کامل: 5000
درخواست های انجام نشد: 0
خطاها در نوشتن: 0
پاسخهای غیر 2xx: 5058
کل منتقل شده: 26094222 بایت
HTML منتقل شد: 25092738 بایت
درخواست در هر ثانیه: 373.45 [# / ثانیه] (میانگین)
زمان درخواست: 1338.866 [ms] (میانگین)
مدت زمان درخواست: 2.678 [ms] (میانگین ، در کلیه درخواست های همزمان)
نرخ انتقال: 1903.30 [Kbytes / sec] دریافت شده است
زمان اتصال (ms)
حداقل میانگین [+/- sd] متوسط ​​حداکثر
اتصال: 0 42 20.8 41 1000
پردازش: 0 428 2116.5 65 13310
انتظار: 0 416 2117.7 55 13303
تعداد کل: 51 470 2121.0 102 13378
درصد درخواست های ارائه شده در مدت معینی (ms)
50٪ 102
66٪ 117
75٪ 130
80٪ 132
90٪ 149
95٪ 255
98٪ 13377
99٪ 13378
100٪ 13378 (طولانی ترین درخواست)
[[ایمیل محافظت شده] ~] #

بنابراین همانطور که می بینید ، آپاچی دست به کار شده است 373 درخواست در ثانیه, و در مجموع 13.389 ثانیه طول کشید تا کل درخواست ها را ارائه دهیم.

اکنون می دانید که پیکربندی پیش فرض می تواند این درخواست های زیادی را ارائه دهد ، بنابراین هنگام انجام هرگونه تغییر تنظیمات می توانید دوباره آزمایش را برای مقایسه نتایج انجام دهید و بهترین یکی.

نگینکس

بیایید آنچه را که ما برای Apache انجام دادیم آزمایش کنیم تا بتوانید مقایسه کنید که کدام یک عملکرد بهتری دارد.

[[ایمیل محافظت شده] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
این ApacheBench ، نسخه 2.3 است <نسخه تجدیدنظر شده $: 655654 $>
کپی رایت 1996 آدام Twiss ، زئوس فناوری با مسئولیت محدود ، http://www.zeustech.net/
دارای مجوز به بنیاد نرم افزار Apache ، http://www.apache.org/
معیار محلی سازی (صبور باشید)
500 درخواست را انجام داد
1000 درخواست را انجام داد
1500 درخواست را انجام داد
2000 درخواست را انجام داد
2500 درخواست انجام شد
3000 درخواست را انجام داد
3500 درخواست تکمیل شد
4000 درخواست را انجام داد
4500 درخواست را انجام داد
5000 درخواست را انجام داد
5000 درخواست به پایان رسید
نرم افزار سرور: nginx / 1.10.1
نام میزبان سرور: localhost
درگاه سرور: 80
مسیر سند: /
طول سند: 3698 بایت
سطح همزمانی: 500
زمان لازم برای آزمایش: 0.758 ثانیه
درخواست های کامل: 5000
درخواست های انجام نشد: 0
خطاها در نوشتن: 0
کل منتقل شده: 19660000 بایت
HTML منتقل شده است: 18490000 بایت
درخواست در هر ثانیه: 6593.48 [# / ثانیه] (میانگین)
زمان درخواست: 75.832 [ms] (میانگین)
زمان در هر درخواست: 0.152 [ms] (میانگین ، در کلیه درخواست های همزمان)
نرخ انتقال: 25317.93 [Kbytes / sec] دریافت شده است
زمان اتصال (ms)
حداقل میانگین [+/- sd] متوسط ​​حداکثر
اتصال: 0 6 11.0 2 53
پردازش: 5 19 8.2 17 53
انتظار: 0 18 8.2 16 47
کل: 10 25 17.4 18 79
درصد درخواست های ارائه شده در مدت معینی (ms)
50٪ 18
66٪ 21
75٪ 21
80٪ 22
90٪ 69
95٪ 73
98٪ 75
99٪ 76
00٪ 79 (طولانی ترین درخواست)
[[ایمیل محافظت شده] ~] #

وای! اون رو دیدی؟ Nginx رسیدگی کرد 6593 درخواست در هر ثانیه! یک برنده.

بنابراین می بینید که فقط با دو سرور وب مقایسه می کنید ، ایده ای را برای انتخاب برنامه وب خود دریافت خواهید کرد.

تست فوق در CentOS 6.8 ، 64 بیتی است. می توانید چندین سیستم عامل را امتحان کنید & نسخه وب سرور برای نتایج بهینه.

محاصره

محاصره ابزار تست بار HTTP است که در UNIX پشتیبانی می شود. می توانید چندین URL را در یک فایل متنی قرار دهید تا تست بارگیری شود. می توانید محاصره را با استفاده از yum نصب کنید.

# yum محاصره نصب کنید

بیایید تست را با 500 درخواست همزمان 5 ثانیه انجام دهیم.

[[ایمیل محافظت شده] ~] # محاصره -q -t 5S -c 500 http: // localhost /
بلند کردن محاصره سرور … انجام شد.
معاملات: 4323 بازدید
در دسترس بودن: 100.00٪
زمان سپری شده: 4.60 ثانیه
داده منتقل شده: 15.25 مگابایت
زمان پاسخ: 0.04 ثانیه
نرخ معاملات: 939.78 ترانس / ثانیه
توان: 3.31 مگابایت در ثانیه
همزمانی: 37.97
معاملات موفق: 4323
معاملات ناموفق: 0
طولانی ترین معامله: 1.04
کوتاهترین معامله: 0.00
[[ایمیل محافظت شده] ~] #

برای تجزیه پارامترها.

-q – برای اجرای آن بی سر و صدا (نمایش جزئیات درخواست)

-تی – 5 ثانیه اجرا کنید

-ج – 500 درخواست همزمان

بنابراین همانطور که مشاهده می کنید ، در دسترس بودن 100٪ و زمان پاسخگویی 0.04 ثانیه است. می توانید پارامتر تست بار را بر اساس هدف خود تنظیم کنید.

گوبنچ

گوبنچ برای مشخص کردن عملکرد سرور وب به زبان Go و ابزار تست بار ساده نوشته شده است. این برنامه از بیش از 20،000 کاربر همزمان پشتیبانی می کند که ApacheBench از آنها پشتیبانی نمی کند.

Apache JMeter

JMeter یکی از محبوب ترین ابزارهای منبع باز برای اندازه گیری عملکرد برنامه وب است. JMeter یک برنامه مبتنی بر جاوا است و نه تنها وب سرور ، بلکه می توانید از آن در برابر PHP ، Java استفاده کنید. ASP.net ، SOAP ، REST ، و غیره.

JMeter دارای رابط کاربری گرافیکی مناسب و مطابق با آخرین نسخه 3.0 برای راه اندازی برنامه نیاز به Java 7 یا بالاتر دارد. اگر هدف شما بهینه سازی عملکرد برنامه وب است ، باید JMeter را امتحان کنید.

پیچ

پیچ یکی دیگر از ابزارهای مدرن اندازه گیری عملکرد برای قرار دادن بار روی سرور وب و تأخیر ، درخواست در ثانیه ، انتقال در ثانیه و غیره است..

با استفاده از wrk ، می توانید یک تست بار را با تعداد موضوعات مشخص کنید.

بیایید نمونه ای از اجرای آزمایشی به مدت 5 دقیقه با 500 کاربر همزمان با 8 موضوع داشته باشیم.

wrk –t8 –c500 -d300s http: // localhost

HTTPL بار

Httpload می تواند URL های متعدد را از پرونده بخواند ، یا می توانید آن را در آرگومان فرمان مشخص کنید. آخرین نسخه از SSL / TLS پشتیبانی می کند ، بدین معنی که می توانید URL صفحه وب را فعال کنید با HTTPS (SSL).

هنگام آزمایش URL فعال شده با SSL ، گزینه ای برای مشخص کردن رمزنگاری دارید ، و دستور تست ساده شبیه این است.

https-رمزگذاری AES256-SHA – 200 ثانویه مشابه 120 URL_LIST.txt

برای درک بهتر آن ، در بالا تست را در برابر 200 کاربر همزمان به مدت 2 دقیقه اجرا می کنید.

حلقه گیر

حلقه کن برای شبیه سازی بار برنامه در C نوشته شده است و از SSL / TLS پشتیبانی می کند. در کنار تست صفحه وب ، می توانید از این ابزار منبع باز نیز برای انجام بار در سرورهای FTP استفاده کنید.

می توانید یک طرح آزمایشی را با ترکیبی از HTTP ، HTTPS ، FTP و FTPS در یک پیکربندی دسته ای ایجاد کنید..

httperf

httperf ابزاری با کارایی بالا است که روی معیار سطح خرد و کلان متمرکز است. این پروتکل HTTP / 1.1 و SSL را پشتیبانی می کند.

اگر از کاربران همزمان انتظار داشته اید و به دنبال آزمایش اینکه تعدادی از درخواست ها توسط وب سرور شما قابل ارائه است ، می توانید از دستور زیر استفاده کنید.

httperf –server localhost –port 80 –num-conns 1000 – 100

دستور فوق با 100 درخواست در هر ثانیه برای 1000 درخواست HTTP تست می کند.

تسونگ

تسونگ یک ابزار تست استرس توزیع شده چند پروتکل برای استرس HTTP ، SOAP ، PostgreSQL ، LDAP ، XAMP ، سرور MySQL است. از HTTP / 1.0 ، HTTP / 1.1 پشتیبانی می کند ، و کوکی ها به طور خودکار کنترل می شوند.

تهیه گزارش با Tsung امکان پذیر است.

نتیجه

به بالا امیدوارم ابزارهای محک در مورد عملکرد سرور وب خود ایده ای به شما ارائه می دهیم و به تصمیم گیری در مورد بهترین عملکرد برای پروژه خود کمک می کنید.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map