±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚinfoq£¬jmeterÊÇapache¹«Ë¾»ùÓÚjava¿ª·¢µÄÒ»¿î¿ªÔ´Ñ¹Á¦²âÊÔ¹¤¾ß£¬Ìå»ýС£¬¹¦ÄÜÈ«£¬Ê¹Ó÷½±ã£¬ÊÇÒ»¸ö±È½ÏÇáÁ¿¼¶µÄ²âÊÔ¹¤¾ß¡£ |
|
meterÊÇapache¹«Ë¾»ùÓÚjava¿ª·¢µÄÒ»¿î¿ªÔ´Ñ¹Á¦²âÊÔ¹¤¾ß£¬Ìå»ýС£¬¹¦ÄÜÈ«£¬Ê¹Ó÷½±ã£¬ÊÇÒ»¸ö±È½ÏÇáÁ¿¼¶µÄ²âÊÔ¹¤¾ß£¬Ê¹ÓÃÆðÀ´·Ç³£¼òµ¥¡£ÒòΪjmeterÊÇjava¿ª·¢µÄ£¬ËùÒÔÔËÐеÄʱºò±ØÐëÏÈÒª°²×°jdk²Å¿ÉÒÔ¡£jmeterÊÇÃâ°²×°µÄ£¬Äõ½°²×°°üÖ®ºóÖ±½Ó½âѹ¾Í¿ÉÒÔʹÓã¬Í¬Ê±ËüÔÚlinux/windows/macosÉ϶¼¿ÉÒÔʹÓá£
jmeter¿ÉÒÔ×ö½Ó¿Ú²âÊÔºÍѹÁ¦²âÊÔ¡£ÆäÖнӿڲâÊԵļòµ¥²Ù×÷°üÀ¨×öhttp½Å±¾£¨·¢get/postÇëÇó¡¢¼Ócookie¡¢¼Óheader¡¢¼ÓȨÏÞÈÏÖ¤¡¢ÉÏ´«Îļþ£©¡¢×öwebservice½Å±¾¡¢²ÎÊý»¯¡¢¶ÏÑÔ¡¢¹ØÁª£¨ÕýÔò±í´ïʽÌáÈ¡Æ÷ºÍ´¦Àíjson-json
path extractor£©ºÍjmeter²Ù×÷Êý¾Ý¿âµÈµÈ¡£
½Ó¿Ú²âÊÔ
Jmeter-http½Ó¿Ú½Å±¾
Ò»°ã·ÖÎå¸ö²½Öè:£¨1£©Ìí¼ÓÏß³Ì×é £¨2£©Ìí¼ÓhttpÇëÇó £¨3£©ÔÚhttpÇëÇóÖÐдÈë½ÓÈëurl¡¢Â·¾¶¡¢ÇëÇó·½Ê½ºÍ²ÎÊý
£¨4£©Ìí¼Ó²é¿´½á¹ûÊ÷ £¨5£©µ÷Óýӿڡ¢²é¿´·µ»ØÖµ
jmeter ·¢getÇëÇó


jmeter ·¢postÇëÇó

jmeter Ìí¼Ócookie
ÐèÒªÔÚÏß³Ì×éÀïÌí¼ÓÅäÖÃÔª¼þ¡ªHTTP Cookie ¹ÜÀíÆ÷


jmeter Ìí¼Óheader
ÐèÒªÔÚÏß³Ì×éÀïÃæÌí¼ÓÅäÖÃÔª¼þ¡ªHTTPÐÅϢͷ¹ÜÀíÆ÷


jmeter ÉÏ´«Îļþ

jmeter ²ÎÊý»¯
Èë²Î¾³£±ä»¯µÄ»°£¬Ôò¿ÉÒÔÉèÖóÉÒ»¸ö±äÁ¿£¬·½±ãͳһÐ޸ĹÜÀí£»Èç¹ûÈë²ÎÒªÇóËæ»ú»ò¿É¶àÖÖÑ¡Ôñ£¬Ôòͨ¹ýº¯ÊýÉú³ÉÆ÷»òÕß¶ÁÈ¡ÎļþÐγÉÒ»¸ö±äÁ¿¡£ËùÒÔ²ÎÊý»¯ÓÐÈýÖÖ·½Ê½£ºÓû§¶¨ÒåµÄ±äÁ¿¡¢º¯ÊýÉú³ÉÆ÷¡¢¶ÁÈ¡Îļþ¡£
£¨1£©Óû§¶¨ÒåµÄ±äÁ¿
ÐèÒªÌí¼ÓÅäÖÃÔª¼þ-Óû§¶¨ÒåµÄ±äÁ¿¡£


£¨2£©º¯ÊýÉú³ÉÆ÷
ÐèÒªÓõ½º¯ÊýÖúÊÖ¹¦ÄÜ£¬¿ÉÒÔµ÷Óú¯ÊýÉú³ÉһЩÓйæÔòµÄÊý¾Ý¡£³£Óõöº¯ÊýÓÐ_uuid¡¢_random¡¢_time¡£_uuid»áÉú³ÉÒ»¸öËæ»úΨһµÄid£¬±ÈÈçÔÚ±ÜÃâjavaÇëÇóÖØ·¢Ôì³Éδ´¦ÀíÊý¾ÝÌ«¶àµÄÇé¿ö£¬½Ó¿ÚÇëÇó¿É¼ÓÒ»¸öΨһµÄÇëÇóidΨһµÄÏìÓ¦id½øÐÐÒ»Ò»¶ÔÓ¦£»Ëæ»úÊý_random£¬¿ÉÒÔÔÚÄãÖ¸¶¨µÄÒ»¸ö·¶Î§ÀïÈ¡Ëæ»úÖµ£»È¡µ±Ç°Ê±¼ä_time£¬Ò»Ð©Ê±¼äÀàµÄÈë²Î¿ÉÒÔʹÓÃ,Èç{__time(,)}
ÊÇÉú³É¾«È·µ½ºÁÃëµÄʱ¼ä´Á¡¢{__time(/1000,)}ÊÇÉú³É¾«È·µ½ÃëµÄʱ¼ä´Á¡¢${__time(yyyy-MM-dd
HH:mm:ss,)} ÊÇÉú³É¾«È·µ½ÃëµÄµ±Ç°Ê±¼ä¡£

£¨3£©´ÓÎļþ¶ÁÈ¡
ÐèÒªÔÚÏß³Ì×éÀïÃæÌí¼ÓÅäÖÃÔª¼þ-CSV Data Set Config
ÆäÖÐRecycle on EOF:ÉèÖÃTrueºó£¬ÔÊÐíÑ»·È¡Öµ

¾ßÌåµÄÀý×ÓÈçÏÂËùʾ£º



jmeter ¶ÏÑÔ
jmeter¶ÏÑÔÓÃÀ´¼ì²âÏìÓ¦·µ»ØµÄ½á¹ûºÍÎÒÃÇÔ¤ÆÚµÄÊÇ·ñÒ»Ö¡£ÈôÕë¶ÔÕû¸öÏß³Ì×éµÄ»°£¬ÔòÔÚÏß³Ì×éÏÂÌí¼Ó¶ÏÑÔ-ÏìÓ¦¶ÏÑÔ£»ÈôÖ»ÊÇÕë¶Ôij¸öÇëÇóµÄ»°£¬ÔòÔÚÇëÇóÏÂÌí¼Ó¶ÏÑÔ-ÏìÓ¦¶ÏÑÔ¡£


jmeter¹ØÁª
½Ó¿ÚÇëÇóÖ®¼ä´æÔÚ²ÎÊýµ÷Óã¬ÎªÁ˱£´æÕâ¸ö²ÎÊý£¬½¨Á¢jmeter¹ØÁª¡£±ÈÈçµÇ½½Ó¿ÚºÍ¹ºÂòÉÌÆ·½Ó¿Ú£¬¹ºÂòÉÌÆ·½Ó¿Ú¾ÍÐèÒªµÇ½½Ó¿Ú·µ»ØµÄtokenµÈµÇ½ÐÅÏ¢£¬jmeter¹ØÁª¾Í¿ÉÒÔ±£´æÕâ¸ötokenÐÅÏ¢£¬·½±ã¹ºÂòÉÌÆ·½Ó¿ÚʹÓá£
jmeter¹ØÁª¿ÉÒÔͨ¹ý¶þÖÖ·½Ê½À´Íê³É£¬»ñÈ¡µ½·µ»Ø½á¹ûÖÐÖ¸¶¨µÄÖµ¡£ËüÃÇ·Ö±ðÊÇÕýÔò±í´ïʽÌáÈ¡Æ÷¡¢
json path extractor¡£
£¨1£©ÕýÔò±í´ïʽÌáÈ¡Æ÷
ÈôÏë»ñÈ¡µÄ·µ»ØÖµÎ´Æ¥Åäµ½£¬¿ÉÒÔ°ÑÕýÔò±í´ïʽÁ½±ßÆ¥ÅäµÄÊý¾ÝÀ©´óµã¡£

a. ¹ØÓÚÕýÔò±í´ïʽ
()£ºÀ¨ÆðÀ´µÄ²¿·Ö¾ÍÊÇÒªÌáÈ¡µÄ¡£
.£ºÆ¥Åä³ý»»ÐÐÍâµÄÈκÎ×Ö·û´®¡£
+£º´ú±í+ºÅÇ°ÃæµÄ×Ö·û±ØÐëÖÁÉÙ³öÏÖÒ»´Î£¨Ò»´Î»ò¶à´Î£©¡£
?£º´ú±í£¿Ç°ÃæµÄ×Ö·û×î¶à¿ÉÒÔ³öÏÖÒ»´Î£¬ÔÚÕÒµ½µÚÒ»¸öÆ¥ÅäÏîºóÍ£Ö¹£¨0´Î»ò1´Î£©¡£
£º´ú±íºÅÇ°ÃæµÄ×Ö·û¿ÉÒÔ²»³öÏÖ£¬Ò²¿ÉÒÔ³öÏÖÒ»´Î»òÕß¶à´Î£¨0´Î¡¢1´Î»òÕß¶à´Î£©
(.*)£ºÌ°À·Ä£Ê½£¬Æ¥Å価¿ÉÄܶàµÄ×Ö·û
£¨.*?£©»ò£¨.+?£©£ºÆ¥Å価¿ÉÄÜÉÙµÄ×Ö·û£¬Ò»µ©Æ¥Åäµ½µÚÒ»¸ö¾Í²»ÍùÏÂ×ßÁË¡£
b. ¹ØÓÚÄ£°å
ÈôÏëÌáÈ¡¶à¸öÖµµÄ»°£¬±ÈÈçÊÇaºÍbÕâÁ½¸öÖµ£¬Ôò¿ÉÒÔд³É£º$1$$2$¡£ÎÞÂÛÒªÌáÈ¡¶àÉÙ¸öÖµ£¬ÒýÓÃÃû³Æ¾ÍÊÇÒ»¸öµÄ£¬±ÈÈçÃû³ÆÎªid£¬${id_go}:»ñÈ¡Õû¸ö×Ö·û´®ab£¬${id_g1}£º»ñÈ¡µÄÊÇa£¬${id_g2}£º»ñÈ¡µÄÊÇb¡£
ÏÂÃæÓÐÒ»¸ö¾ßÌåµÄʵÀý£¬ÈçÏÂͼËùʾ£º



£¨2£©json path extractor
jmeterͨ¹ý°²×°json path extractor²å¼þÀ´´¦Àíjson´®£¬ÌáÈ¡json´®ÖеÄ×Ö¶ÎÖµ¡£²å¼þµÄÏÂÔØµØÖ·£ºhttps://jmeter-plugins.org/?search=jpgc-json£¬ÏÂÔØÍê³É£¬½âѹºó£¬Ö±½Ó°ÑlibÎļþ¼Ð·Åµ½jmeterÏàӦĿ¼ÏÂÃæ¡£Ìرð˵Ã÷£ºjmeter
2.xx×óÓҵİ汾³¢ÊÔ¹ýÎÞ·¨Ê¹Óøòå¼þ£¬ÔÚjmeter 3.xx×óÓҵİ汾װÍê²å¼þºóÄÜÕý³£Ê¹Óá£
ÐèÒªÔÚÇëÇóÏ´´½¨ºóÖô¦ÀíÆ÷-jp@gc-JSON Path Extractor£¬¾ßÌåµÄʵÀýÈçÏÂËùʾ£º



¹ØÓÚjson pathÏà¹Ø²å¼þµÄ·½·¨ºÍʹÓã¬ÍƼö¿ÉÒÔ¿´ÕâÆª²©¿Í£º http://www.jianshu.com/p/56a607fc0d8f
jmeter ²Ù×÷Êý¾Ý¿â
²Ù×÷Êý¾Ý¿â»ù±¾ÓÐËĸö²½Ö裺£¨1£©µ¼ÈëmysqlµÄjdbcµÄjar°ü £¨2£©´´½¨Êý¾Ý¿âµÄÁ¬½ÓÅäÖã¬Ïß³Ì×éÀïÌí¼ÓÅäÖÃÔª¼þ-JDBC
Connection Configuration £¨3£©Ïß³Ì×éÀïÌí¼Ójdbc request£¬Ð´sqlÓï¾ä
£¨4£©Ìí¼Ó²ì¿´½á¹ûÊ÷£¬µã»÷Æô¶¯°´Å¥£¬¾ÍÄÜ¿´µ½Ö´ÐеÄSQL¡£¾ßÌåµÄʵÀýÈçϽØÍ¼Ëùʾ£º




ÌØ±ð˵Ã÷£ºjmeter»¹¿ÉÒÔ²Ù×÷oracle¡¢postgreSQL¡¢msSQL¡¢mongodbµÈµÈÊý¾Ý¿â£¬Í¬Ê±²»Í¬µÄÊý¾Ý¿â£¬JDBC
Connection ConfigurationÌîдµÄDatabase url¸ñʽºÍJDBC DriverÇý¶¯Ãû³ÆÒ²²»Ïàͬ¡£jmeterÊý¾Ý¿âÇý¶¯ÁбíÈçϱíËùʾ£º

Jmeter-webservice½Ó¿Ú½Å±¾
»ù±¾·ÖΪÎå¸ö²½Ö裺(1)ÏÈÐèҪͨ¹ýsoapui¹¤¾ß»ñÈ¡µ½webservice½Ó¿ÚµÄÇëÇóµØÖ·¡¢ÇëÇó±¨ÎĺÍÇëÇósoapaction¡££¨2£©jmeterн¨Ò»¸öÏß³Ì×é
£¨3£©Ïß³Ì×éϽ¨Á¢SOAP/XML-RPC Request£¬Ð´ÈëÇëÇóurl¡¢ÇëÇó±¨ÎÄ¡¢ÇëÇósoapaction¡££¨3£©Æô¶¯jmeter£¬µ÷Óýӿڣ¬Í¨¹ý²ì¿´½á¹ûÊ÷²é¿´·µ»ØÖµ¡£
soapui»ñÈ¡ÐÅÏ¢µÄʵÀýÈçÏÂͼËùʾ£º

soapuiÌá½»Íêºó£¬µã»÷raw,¿É¿´µ½soapation£¬ÓÐЩ½Ó¿ÚÈôû·µ»Øsoapation,ÔòjmeterÀïÒ²¾Í²»ÓÃÌî¡£

jmeter-webservice½Å±¾ÊµÀýÈçÏÂͼËùʾ£º

ѹÁ¦²âÊÔ
ѹÁ¦²âÊÔ·ÖÁ½ÖÖ³¡¾°£ºÒ»ÖÖÊǵ¥³¡¾°£¬Ñ¹Ò»¸ö½Ó¿ÚµÄ£»µÚ¶þÖÖÊÇ»ìºÏ³¡¾°£¬¶à¸öÓйØÁªµÄ½Ó¿Ú¡£Ñ¹²âʱ¼ä£¬Ò»°ã³¡¾°¶¼ÔËÐÐ10-15·ÖÖÓ¡£Èç¹ûÊÇÆ£ÀͲâÊÔ£¬¿ÉÒÔѹһÌì»òÒ»ÖÜ£¬¸ù¾Ýʵ¼ÊÇé¿öÀ´¶¨¡£
ѹ²âÈÎÎñÐèÇóµÄÈ·ÈÏ
ѹ²âǰҪÃ÷ȷѹ²â¹¦ÄܺÍѹ²âÖ¸±ê£¬Ò»°ãÐèҪȷ¶¨µÄ¼¸¸öÎÊÌ⣺
¹Ì¶¨½Ó¿Ú²ÎÊý½øÐÐѹ²â»¹ÊǽøÐнӿڲÎÊýËæ»ú»¯Ñ¹²â£¿
ÒªÇóÖ§³Ö¶àÉÙ²¢·¢Êý£¿
TPS£¨Ã¿ÃëÖÓ´¦ÀíÊÂÎñÊý£©Ä¿±ê¶àÉÙ£¿ÏìӦʱ¼äÒª´ïµ½¶àÉÙ£¿
ѹ·þÎñÆ÷Ãû³Æ»¹ÊÇѹ·þÎñÆ÷IP£¬Ò»°ã¶¼ÊÇѹ²âÖ¸¶¨µÄ·þÎñÆ÷
ѹ²âÉèÖÃ
Ïß³ÌÊý£º²¢·¢ÊýÁ¿£¬ÄÜÅܶàÉÙÁ¿¡£¾ßÌå˵ÊÇÒ»´Î´æÔÚ¶àÉÙÓû§Í¬Ê±·ÃÎÊ
Rame-Up Period(in seconds):±íʾJMeterÿ¸ô¶àÉÙÃë·¢¶¯²¢·¢¡£Àí½â³É×¼±¸Ê±³¤£ºÉèÖÃÐéÄâÓû§ÊýÐèÒª¶à³¤Ê±¼äÈ«²¿Æô¶¯¡£Èç¹ûÏß³ÌÊýÊÇ20£¬×¼±¸Ê±³¤Îª10£¬ÄÇôÐèÒª10ÃëÖÓÆô¶¯20¸öÊýÁ¿£¬Ò²¾ÍÊÇÿÃëÖÓÆô¶¯2¸öÏ̡߳£
Ñ»·´ÎÊý£ºÕâ¸öÉèÖò»»á¸Ä±ä²¢·¢Êý£¬¿ÉÒÔÑÓ³¤²¢·¢Ê±¼ä¡£×ÜÇëÇóÊý=Ïß³ÌÊý*Ñ»·´ÎÊý
µ÷¶ÈÆ÷£ºÉèÖÃѹ²âµÄÆô¶¯Ê±¼ä¡¢½áÊøÊ±¼ä¡¢³ÖÐøÊ±¼äºÍÆô¶¯ÑÓ³Ùʱ¼ä¡£
ѹ²â½á¹û²é¿´
ÔËÐÐÍêºó£¬¾ÛºÏ±¨¸æ»áÏÔʾѹ²âµÄ½á¹û¡£Ö÷Òª¹Û²ìSamples¡¢Average¡¢error¡¢Throughput¡£
Samples:±íʾһ¹²·¢³öµÄÇëÇóÊý
Average£ºÆ½¾ùÏìӦʱ¼ä£¬Ä¬ÈÏÇé¿öÏÂÊǵ¥¸öRequestµÄƽ¾ùÏìӦʱ¼ä£¨ms£©
Error%:²âÊÔ³öÏֵĴíÎóÇëÇóÊýÁ¿°Ù·Ö±È¡£Èô³öÏÖ´íÎó¾ÍÒª¿´·þÎñ¶ËµÄÈÕÖ¾£¬ÅäºÏ¿ª·¢²éÕÒ¶¨Î»ÔÒò
Throughput:¼ò³Ætps,ÍÌÍÂÁ¿£¬Ä¬ÈÏÇé¿öϱíʾÿÃë´¦ÀíµÄÇëÇóÊý£¬Ò²¾ÍÊÇÖ¸·þÎñÆ÷´¦ÀíÄÜÁ¦£¬tpsÔ½¸ß˵Ã÷·þÎñÆ÷´¦ÀíÄÜÁ¦Ô½ºÃ¡£
ѹ²â½á¹ûµÄ·ÖÎö
ÓдíÎóÂÊͬ¿ª·¢È·ÈÏ£¬È·¶¨ÊÇ·ñÔÊÐí´íÎóµÄ·¢Éú»òÕß´íÎóÂÊÔÊÐíÔÚ¶à´óµÄ·¶Î§ÄÚ£»
ThroughputÍÌÍÂÁ¿Ã¿ÃëÇëÇóµÄÊý´óÓÚ²¢·¢Êý£¬Ôò¿ÉÒÔÂýÂýµÄÍùÉÏÃæÔö¼Ó£»ÈôÔÚѹ²âµÄ»úÆ÷ÐÔÄܺܺõÄÇé¿öÏ£¬³öÏÖÍÌÍÂÁ¿Ð¡ÓÚ²¢·¢Êý£¬ËµÃ÷²¢·¢Êý²»ÄÜÔÙÔö¼ÓÁË£¬¿ÉÒÔÂýÂýµÄÍùϼõ£¬ÕÒµ½×î¼ÑµÄ²¢·¢Êý£»
ѹ²â½áÊø£¬¡¤µÇ½ÏàÓ¦µÄweb·þÎñÆ÷²é¿´CPUµÈÐÔÄÜÖ¸±ê£¬½øÐÐÊý¾ÝµÄ·ÖÎö;
×î´óµÄtps:²»¶ÏµÄÔö¼Ó²¢·¢Êý£¬¼Óµ½tps´ïµ½Ò»¶¨Öµ¿ªÊ¼³öÏÖϽµ£¬ÄÇôÄǸöÖµ¾ÍÊÇ×î´óµÄtps¡£
×î´óµÄ²¢·¢Êý£º×î´óµÄ²¢·¢ÊýºÍ×î´óµÄtpsÊDz»Í¬µÄ¸ÅÂÊ£¬Ò»°ã²»¶ÏÔö¼Ó²¢·¢Êý£¬´ïµ½Ò»¸öÖµºó£¬·þÎñÆ÷³öÏÖÇëÇó³¬Ê±£¬Ôò¿ÉÈÏΪ¸ÃֵΪ×î´óµÄ²¢·¢Êý¡£
ѹ²â¹ý³Ì³öÏÖÐÔÄÜÆ¿¾±£¬ÈôѹÁ¦»úÈÎÎñ¹ÜÀíÆ÷²é¿´µ½µÄcpu¡¢ÍøÂçºÍcpu¶¼Õý³££¬Î´´ïµ½90%ÒÔÉÏ£¬Ôò¿ÉÒÔ˵Ã÷·þÎñÆ÷ÓÐÎÊÌ⣬ѹÁ¦»úûÓÐÎÊÌâ¡£
Ó°ÏìÐÔÄÜ¿¼Âǵã°üÀ¨£ºÊý¾Ý¿â¡¢Ó¦ÓóÌÐò¡¢Öмä¼þ£¨tomact¡¢Nginx£©¡¢ÍøÂçºÍ²Ù×÷ϵͳµÈ·½Ãæ¡£
jmeterÔÚlinuxϽøÐÐѹÁ¦²âÊÔ
jmeter ÔÚlinux°²×°
¼òµ¥ËµÏ£¬¾ÍÊÇÒªÏȰ²×°jdk,ͬʱÔÙÅäÖû·¾³±äÁ¿£¬×îºóÔÙÉÏ´«jmeterѹËõµÄ°²×°°ü£¬ÔÚlinuxϽâѹÍê°²×°°ü¾Í¿ÉÒÔʹÓÃÁË¡£ÍƼö²©¿Í£ºhttp://blog.csdn.net/zhemeteor/article/details/51315874
jmeterÔÚlinuxÔËÐÐ
½øÈëjmeterϵÄbinĿ¼ÏÂÔËÐнű¾£¬Î´ÅäÖÃjmeter»·¾³±äÁ¿µÄÌõ¼þÏ£¬ÔËÐеÄÃüÁ
./jmeter -n
-t a.jmx -l res.jtl |
ÆäÖÐa.jmxÊÇ×¼±¸ºÃµÄjmeter½Å±¾,res.jtlÊDzâÊÔ½á¹ûÎļþ£¬²âÊÔ½á¹ûÎļþ¿ÉÒÔµ¼Èëµ½jmeter²ì¿´½á¹ûÊ÷ϲ鿴¡£ |