سه شنبه , ۱۱ اردیبهشت ۱۴۰۳

آموزش JMeter-قسمت سوم: نصب و اجرای JMeter(بخش اول)

Jmeter Tutorial
Jmeter Tutorial

نصب

همیشه توصیه می‌کنم که از آخرین نسخه JMeter را برای نصب و راه‌اندازی استفاده نمایید.

برای نصب یک نسخه Release Build، فایل zip/rar را در پوشه‌ای قرار دهید که JMeter را نصب می‌کنید. در صورتیکه JRE/JDK به درستی نصب شده باشند و متغیر محیطی JAVA_HOME تنظیم شده باشد، شما کار دیگری برای انجام دادن ندارید.

توجه داشته باشید: اگر در مسیر دایرکتوری خود Space(فضای خالی) داشته باشید، به مشکل بر خواهید خورد(به ویژه در Client-Server Mode)

ساختار دایرکتوری نصب باید چیزی شبیه به این باشد (که در آن X.Y شماره نسخه است):

apache-jmeter-X.Y
apache-jmeter-X.Y/bin
apache-jmeter-X.Y/docs
apache-jmeter-X.Y/extras
apache-jmeter-X.Y/lib/
apache-jmeter-X.Y/lib/ext
apache-jmeter-X.Y/lib/junit
apache-jmeter-X.Y/licenses
apache-jmeter-X.Y/printable_docs

اگر بخواهید می‌توانید دایرکتوری والد(یعنی apache-jmeter-X.Y) را تغییر نام دهید، اما هیچ یک از نام‌های زیر شاخه را تغییر ندهید.

اجرای JMeter

برای اجرای JMeter باید jmeter.bat(برای ویندوز) یا jmeter(برای یونیکس) را اجرا کنید. این فایل‌ها در پوشه bin قرار گرفته‌اند. بعد از یک زمان کوتاه، باید رابط گرافیکی JMeter ظاهر شود.

توجه داشته باشید: GUI mode باید فقط برای ساختن Test Script استفاده شود، و از NON GUI Mode باید برای Load Testing بهره جست.

برخی از اسکریپت‌های اضافی در پوشه bin وجود دارد که ممکن است مفید باشند. فایل‌های Windows Script(فایل‌های CMD. به Win2K یا بعد از آن نیاز دارند):

  • jmeter.bat: که JMeter را اجرا می‌کند(به صورت پیشفرض در GUI Mode)
  • jmeterw.cmd: که JMeter را بدون کنسول Windows Shell اجرا می‌کند(به طور پیشفرض در حالت GUI)
  • jmeter-n.cmd: یک فایل JMX را روی آن بیندازید تا یک تست Non-GUI را اجرا کنید
  • jmeter-n-r.cmd: یک فایل JMX را روی آن بیندازید تا یک تست Non-GUI را به صورت Remote اجرا کنید
  • jmeter-t.cmd: فایل JMX را روی آن بیندازید تا آنرا در GUI Mode بارگذاری کنید
  • jmeter-server.bat: که JMeter را در Server Mode آغاز می‌کند
  • mirror-server.cmd: که JMeter Mirror Server را در Non-GUI Mode اجرا می‌کند
  • shutdown.cmd: که Shutdown Client را اجرا می‌کند تا بدین ترتیب یک Non-GUI Instance را به آرامی متوقف نماید
  • stoptest.cmd: که Shutdown Client را اجرا می‌کند تا بدین ترتیب یک Non-GUI Instance را به صورت ناگهانی متوقف نماید

توجه داشته باشید: نام ویژه LAST می‌تواند با jmeter-n.cmd، jmeter-t.cmd و jmeter-n-r.cmd استفاده شود و این بدین معنیست که این آخرین Test Planایست که به صورت تعاملی(Interactively) اجرا می‌شود.

چند متغیر محیطی(Environment Variable) وجود دارد که می‌تواند برای Customize کردن(سفارشی‌سازی) JVM Setting برای JMeter استفاده شود. یک راه آسان برای سِت کردن این تنظیمات، ایجاد یک فایل به نام setenv.bat در پوشه bin است. چنین فایل می‌تواند شبیه مورد پایین باشد:

rem This is the content of bin\setenv.bat,
rem it will be called by bin\jmeter.bat

set JVM_ARGS=”-Xms1024m -Xmx1024m -Dpropname=value”

JVM_ARGS می‌تواند برای Override کردن JVM Setting در jmeter.bat Script استفاده شود و علاوه بر آن هنگام آغاز به کار JMeter سِت شود، به عنوان مثال:

jmeter -t test.jmx …

متغیرهای محیطی زیر می‌توانند تعریف شوند:

  • DDRAW: گزینه‌های JVM برای تأثیر استفاده از DirectDraw. به عنوان مثال Dsun.java2d.ddscale=true. مقدار پیشفرض این متغیر Empty(خالی) است
  • GC_ALGO: عبارتست از گزینه‌های JVM Garbage Collector. مقدار پیشفرض XX:+UseG1GC  -XX:MaxGCPauseMillis=250  -XX:G1ReservePercent=20-
  • HEAP: تنظیمات JVM Memory که هنگام شروع JMeter استفاده می‌شود. پمقدار پیشفرض Xms1g -Xmx1g  -XX:MaxMetaspaceSize=256mJMETER_BIN-
  • JMETER_BIN: دایرکتوری JMeter bin(باید با \ پایان یابد). وقتی که setenv.bat فراخوانی می‌شود، مقدار حدس زده خواهد شد
  • JMETER_COMPLETE_ARGS: اگر سِت شود نشان می‌دهد، که فقط JVM_ARGS و JMETER_OPTS استفاده می‌شوند. تمام گزینه‌های دیگر مانند HEAP و GC_ALGO نادیده گرفته خواهند شد. مقدار پیشفرض این متغیر Empty(خالی) است
  • JMETER_HOME: دایرکتوری نصب است. از محل jmeter.bat حدس زده خواهد شد
  • JMETER_LANGUAGE: گزینه‌های زمان اجرای Java برای مشخص کردن زبان مورد استفاده. مقدار پیشفرض “Duser.language=”en” -Duser.region=”EN”-
  • JM_LAUNCH: نام قابل اجرای جاوا، مانند java.exe(به طور پیش فرض) یا javaw.exe
  • JVM_ARGS: گزینه‌های جاوا که در زمان آغاز به کار JMeter استفاده می‌شود. اینها در آخر به Java Command اضافه می‌شوند. مقدار پیشفرض این متغیر Empty(خالی) است

فایل‌های Un*x Script؛ باید بر روی اکثر سیستم‌های لینوکس/یونیکس کار کند:

  • jmeter: اجرای JMeter(به صورت پیش فرض در حالت GUI). برخی از تنظیمات JVM را تعریف می‌کند که ممکن است برای همه JVM‌ها کار نکند
  • jmeter-server: که JMeter را در Server Mode آغاز می‌کند(Jmeter Script را با پارامترهای مناسب فراخوانی می‌کند)
  • jmeter.sh: اسکریپت JMeter بسیار ساده(شما ممکن است نیاز به انطباق با گزینه‌های JVM داشته باشید مانند Memory Settingها)
  • mirror-server.sh: که  JMeter Mirror Server را در Non-GUI Mode اجرا می‌شود
  • shutdown.sh: که Shutdown Client را برای توقف آرام یک Non-GUI Instance، اجرا می‌کند
  • stoptest.sh: که Shutdown Client را برای توقف ناگهانی یک Non-GUI Instance، اجرا می‌کند

ممکن است لازم باشد تعدادی متغیر محیطی را برای پیکربندیِ JVM مورد استفاده توسط JMeter، سِت کنید. این متغیرها می‌توانند مستقیما در shell ایجاد شوند و از Jmeter Script آغاز شوند. به عنوان مثال سِت کردن متغر JVM_ARGS، بیشتر Settingهای از پیش تعریف شده را Override(لغو) می‌کند. برای مثال:

JVM_ARGS=”-Xms1024m -Xmx1024m” jmeter -t test.jmx [etc.]

تنظیمات HEAP در اسکریپت را لغو می‌کند.

برای سِت کردن این متغیرها به طور دائم، می‌توانید آنها را در یک فایل به نام setenv.sh در پوشه bin بگذارید. این فایل هنگام اجرای JMeter بوسیله فراخوانیِ Jmeter Script، سورس خواهد شد. یک مثال برای bin/setenv.sh را می‌تواند در پایین ببینید:

# This is the file bin/setenv.sh,
# it will be sourced in by bin/jmeter

# Use a bigger heap, but a smaller metaspace, than the default
export HEAP=”-Xms1G -Xmx1G -XMaxMetaspaceSize=192m”

# Try to guess the locale from the OS. The space as value is on purpose!
export JMETER_LANGUAGE=” “

متغیرهای محیطی زیر می‌توانند تعریف شوند:

  • GC_ALGO: گزینه‌های زمان اجرا جاوا برای مشخص کردن الگوریتم JVM Garbage Collection. مقدار پیش فرض XX:+UseG1GC -XX:MaxGCPauseMillis=250 -XX:G1ReservePercent=20-
  • HEAP: گزینه‌های زمان اجرا Java برای مدیریت حافظه زمانی که JMeter آغاز شده است. مقدار پیش فرض Xms1g -Xmx1g -X:MaxMetaspaceSize=256m-
  • JAVA_HOME: باید در نصب Java Development Kit خود بدان اشاره کنید. برای اجرا به آرگومان “debug” نیاز دارد. در برخی از سیستم عامل‌ها JMeter بهترین کارایی را برای حدس زدن محل JVM از خود نشان خواهد داد.
  • JMETER_COMPLETE_ARGS: اگر سِت شود نشان می‌دهد، که فقط JVM_ARGS و JMETER_OPTS استفاده می‌شوند. تمام گزینه‌های دیگر مانند HEAP و GC_ALGO نادیده گرفته خواهند شد. مقدار پیشفرض این متغیر Empty(خالی) است
  • JMETER_HOME: ممکن است به دایرکتوری نصب JMeter اشاره نماید. اگر خالی باشد، متناسب با Jmeter Script تنظیم خواهد شد.
  • JMETER_LANGUAGE: گزینه‌های زمان اجرای Java برای مشخص کردن زبان مورد استفاده. مقدار پیشفرض “Duser.language=”en” -Duser.region=”EN”-
  • JMETER_OPTS: گزینه‌های زمان اجرای جاوا مورد استفاده در زمانی که JMeter آغاز شده است. گزینه‌های ویژه برای سیستم‌های عامل ممکن است توسط JMeter اضافه شود.
  • JRE_HOME: باید در نصب Java Runtime بدان اشاره شود. اگر خالی باشد پیشفرض آن JAVA_HOME است. اگر JRE_HOME و JAVA_HOME هر دو خالی باشند، JMeter سعی می‌کند تا JAVA_HOME را حدس بزند. اگر JRE_HOME و JAVA_HOME هم سِت شوند، JAVA_HOME استفاده می‌شود.
  • JVM_ARGS: گزینه‌های جاوایی که برای شروع JMeter استفاده می‌شوند. اینها قبل از JMETER_OPTS و بعد از گزینه‌های دیگر JVM اضافه می‌شوند. مقدار پیشفرض این متغیر Empty(خالی) است

 

قسمت‌های بعدی به محض آماده شدن علاوه بر اینکه در صفحه Home وبسایت اطلاعرسانی خواهد شد، به صورت دسته‌بندی شده از اینجا نیز در دسترس است.

ابوالفضل خواجه دیزجی

همچنین ببینید

Selenium

آموزش Selenium-قسمت هفدهم: Mouse Click Event و Keyboard Event و موضوع Action Class در Selenium WebDriver

در این بخش، ما رویداد کیبورد(Keyboard Event) و ماوس(Mouse Event) را در Selenium Webdriver آموزش …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *