محدودیت برای تست کاربران معمولا به عوامل زیادی بستگی دارد و همین امر نیز برای محدودیت های JMeter استفاده می شود. محدودیت JMeter بستگی به قابلیت های دستگاه و شبکه شما، پیچیدگی اسکریپت های عملکردی، تعداد کاربران شبیه سازی شده و غیره دارد.

دستگاه مورد نظر برای تست این کار شامل مشخصات زیر است:

CPU: 1.4 Ghz Intel Core i5

RAM: 4GB 1600 MHz

یک اسکریپت عملکرد برای ۵۰ کاربر ایجاد کنید

در ابتدا اسکریپتی ایجاد و یک Thread Group در آن تعریف می کنیم. در صورتی که به اصطلاحات و یا عملکرد ماژول های JMeter آشنایی ندارید لطفا به بخش آموزش مرتبط با بسته آموزشی موجود در این لینک مراجعه نمایید.

اسکریپت با ۵۰ کاربر، Ramp Up مقدار ۲ دقیقه و ۵ دقیقه تست شروع می شود.

سپس یک HTTP Sampler ایجاد می کنیم و POST به دامنه blazedemo.com/reserve.php شامل دو پارامتر fromPort=Paris و the toPort=Buenos Aires ارسال می کنیم.

در ادامه یک Listener در جهت نمایش خروجی ها به Thread Group اضافه می کنیم.

همچنین در جهت نمایش دقیق نتایج در گراف یک Listener با نام Graph Results listener اضافه می کنیم.

HTTP Sampler را درون یک Loop بی نهایت قرار داده که این امر توسط Loop Controller ایجاد می شود. این روش موجب ایجاد بار بر روی Thread تا اتمام زمان تست می شود.

یک Assertion برای اعتبار سنجی HTTP Sampler در Child درخواست HTTP قرار دهید.

اسکریپت ما به پایان رسیده و آماده اجرا می باشد. بعد از ۵ دقیقه تمامی درخواست های ما با موفقیت به پایان رسیده است.

 

اجرای تست بار برای ۵۰۰ کاربر

حال اسکریپت را با ۵۰۰ کاربر اجرا می کنیم. برای این منظور تعداد کاربران را در Thread Group به ۵۰۰ افزایش می دهیم.

اجرای تست بار برای ۱۰۰۰ کاربر

در این تست به دلیل قدرت پایین دستگاه به مشکل بر خورد کردیم. از درخواست ۷۴۳ به بعد JMeter UI Application هنگ کرده و پاسخی دریافت نمی شود. در لاگ JMeter خطای زیر نمایش داده شد.

این خطا به معنی آن است که ما به انتهای فضای heap تخصیص داده شده توسط Java به JMeter رسیده ایم.

نکته اول: در جهت آزاد سازی فضای بیشتر برای اجرای تست بار خود از طریق JMeter می توانید از Non-GUI mode استفاه کنیم که توضیحات آن در بسته آموزشی موجود در سایت داده شده است.

اجرای تست بار برای ۲۰۰۰ کاربر

این مرتبه تست خود را از طریق Non-GUI Mode اجرا می کنیم و نتیجه زیر بدست می آید.

همانطور که مشخص شده این مرتبه بر روی درخواست ۱۱۹۱ خطای OutOfMemoryError صادر شده است.

نکته دوم: در جهت جلوگیری از این مشکل می توانید مقدار پیش فرض JMeter heap را افزایش دهید. در این تست ما آن را به ۲GB افزایش می دهیم که نتیجه زیر حاصل شد.

نکته سوم: از LAN به جای Wi-Fi هنگام انجام تست بار استفاده نمایید.

در نتیجه، می توانیم بگوییم که شما می توانید تا ۱۰،۰۰۰ کاربر را در تست بارJMeter حتی در یک لپ تاپ معمولی شبیه سازی کنید. این بستگی به چهار قانون ساده دارد:

  • از JMeter Listeners برای تنها Debugging استفاده کنید زیرا فضای Java heap را اشغال می کنند
  • تست عملکرد JMeter را در حالت غیر GUI اجرا کنید
  • فضای JMeter heap  را برای تولید بار بیشتر افزایش دهید
  • هنگام اجرای آزمون بار، به جای یک اتصال Wi-Fi از LAN استفاده کنید

 

حداکثر تعداد کاربران که می توانید در JMeter برای وب سایت خود آزمایش کنید چقدر است؟
برچسب ها: