{"id":309803,"date":"2020-09-11T15:00:45","date_gmt":"2020-09-11T15:00:45","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=309803"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2020-09-11T15:00:45","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=309803","title":{"rendered":"\u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0421\u043c\u0438\u0440\u043d\u043e\u0432 \u2014 \u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c Apache JMeter"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/518702\/\">\n<h4 id=\"vyacheslav-smirnov--uskoryaem-apache-jmeter\">\u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0421\u043c\u0438\u0440\u043d\u043e\u0432 \u2014 \u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c Apache JMeter<\/h4>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lz\/rp\/v9\/lzrpv9iyxgiwpbbd3ksu0-geabc.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/jmeter.apache.org\/\">Apache JMeter<\/a> \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u043d\u043e \u043d\u0435\u0447\u0430\u0441\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0443\u0434\u0435\u043b\u044f\u044e\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0430\u043c\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e-\u043d\u043e\u0432\u043e\u043c\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 JMeter.<\/p>\n<p>  <\/p>\n<p>Apache JMeter \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439. \u041e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Apache JMeter \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0432\u0430\u0436\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u0418 \u0445\u043e\u0440\u043e\u0448\u043e \u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0440\u0435\u0439\u0442\u0438\u043d\u0433 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 Apache JMeter \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Java Flight Recorder, jVisualVM, SJK, \u0438\u043c\u0435\u044f \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b \u0438 \u0432\u0437\u044f\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043a\u043b\u0430\u0434 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c Apache JMeter, \u043a\u0430\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c, \u0442\u0430\u043a \u0438 \u043e\u043f\u044b\u0442\u043d\u044b\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c JVM\/JDK \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u0434\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u042f \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c Apache JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/me\/uv\/l4\/meuvl4an0gkyvtzlollq3qcpyp0.png\"\/><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u0441\u0435\u0431\u0435. \u042f \u0431\u044b\u0432\u0430\u044e \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u0447\u0438\u043a\u0430, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0448\u0430\u0442\u0435\u043b\u044f. \u0411\u044b\u043b \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435, \u0432\u0435\u043b \u043a\u0443\u0440\u0441\u044b \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e, \u043f\u0438\u0441\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 Hubr. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u0430.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5i\/ih\/ox\/5iihoxcqn_mcvkfu-6jxfn_ic9o.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0435\u0441\u0442\u044c \u0443 \u043c\u0435\u043d\u044f \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438. \u0418\u0445 \u043c\u043d\u043e\u0433\u043e. \u041c\u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0435\u0442\u043e\u0440\u043e\u043f\u043b\u0438\u0432\u044b\u0439 \u043f\u0430\u0440\u0435\u043d\u044c, \u043d\u043e \u043a\u043e\u0435-\u0447\u0442\u043e \u044f \u0443\u043c\u0435\u044e \u0434\u0435\u043b\u0430\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/p8\/ga\/2e\/p8ga2eiipxhamm23nawcqbywmzo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u042f \u0443\u0441\u043a\u043e\u0440\u044f\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u0431\u0430\u043d\u043a\u0430\u0445 \u0438 \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445 \u0440\u0430\u043d\u044c\u0448\u0435 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b. \u0418 \u0447\u0430\u0441\u0442\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u043b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Apache JMeter. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u0443\u0441\u043a\u043e\u0440\u044f\u0442\u044c \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0430 \u0441\u0430\u043c Apache JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ox\/vg\/y8\/oxvgy8wyjd5flhr4ed41va5gluk.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 JMeter, \u0434\u0443\u043c\u0430\u044e, \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435. <\/p>\n<p>  <\/p>\n<ul>\n<li>\u042d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0435\u0439\u0448\u0438\u0445 \u0438 \u0441\u0442\u0430\u0440\u0435\u0439\u0448\u0438\u0445 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435. \u041e\u043d \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0441 2003-\u0433\u043e \u0433\u043e\u0434\u0430. <\/li>\n<li>\u0418\u043c\u0435\u0435\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u043a \u0431\u043e\u043b\u0435\u0435, \u0447\u0435\u043c \u043a 50 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c, \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u043c, \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432. <\/li>\n<li>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432 ClickHouse, InfluxDB, Graphite. \u041c\u043d\u043e\u0433\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0432\u0438\u0434\u0435\u043b\u0438, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442 \u044d\u0442\u043e \u0432 Grafana \u0438\u043b\u0438 \u0432 html-\u043e\u0442\u0447\u0435\u0442\u0435.<\/li>\n<li>\u0422\u0430\u043a\u0436\u0435 \u0435\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b CI\/CD. <\/li>\n<li>\u041e\u043d \u0438\u043c\u0435\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/li>\n<li>\u0418 \u0435\u0441\u0442\u044c \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e. <\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/jy\/i8\/1j\/jyi81jvnksfknshjhvisgtsesm8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c 5 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0442\u0435\u043c. \u042d\u0442\u043e:<\/p>\n<p>  <\/p>\n<ol>\n<li>HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e. <\/li>\n<li>\u041a\u0430\u043a \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430. \u0418 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0435\u043c\u0441\u044f \u0441 \u043a\u0430\u043a\u0438\u043c\u0438-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438.<\/li>\n<li>\u0422\u0430\u043a\u0436\u0435 PostProcessor \u043d\u0430 HTTP-\u043e\u0442\u0432\u0435\u0442\u044b.<\/li>\n<li>PreProcessor.<\/li>\n<li>\u0418 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043e\u0440\u0443\u0436\u0438\u0435. \u042d\u0442\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u043e\u0440\u0443\u0436\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0435. <\/li>\n<\/ol>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/8p\/v7\/ux\/8pv7uxk3gvy0gpx3b1xzlr1pa8y.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u044f \u0446\u0435\u043b\u044c \u0440\u0430\u0437\u0432\u0435\u044f\u0442\u044c \u043c\u0438\u0444, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u0438\u043c, \u043e \u0442\u043e\u043c, \u0447\u0442\u043e JMeter \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/aa\/nd\/cu\/aandcuixd4-uapjszmds6icdmhg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u044f \u0431\u044b \u0445\u043e\u0442\u0435\u043b, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0432\u043e\u0438\u0445 \u0446\u0435\u043b\u0435\u0439:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0423\u043a\u0440\u0435\u043f\u0438\u043b\u0438 \u0441\u0432\u043e\u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0435\u0441\u0442 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b\u0430, \u0430 \u043d\u0435 \u0442\u0435\u0441\u0442\u044b.<\/li>\n<li>\u041a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0438 \u0442\u0435\u0441\u0442\u043e\u0432 \u0431\u044b\u043b\u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u043d\u044b\u043c\u0438, \u0438 \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u044b \u0432\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u043e\u0432 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0432 CI\/CD-\u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438. <\/li>\n<li>\u0418 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e. <\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6x\/30\/vb\/6x30vbslcnxrlusjzhhohgklo9a.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0441 HTTP Request \u2013 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/o1\/se\/_w\/o1se_wirnjfoeix8xn0k0ngz_s4.png\"\/><\/p>\n<p>  <\/p>\n<p>Samplers.HTTP.Request.X. \u041f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0435\u0441\u0442. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e GET-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442. \u041d\u0430\u0437\u0432\u0430\u043b \u0435\u0433\u043e Samplers.HTTP.Request.X. X \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d. \u0412 \u043d\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432\u0441\u0435. \u0421\u0430\u043c \u0442\u0435\u0441\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0438\u0437 \u0447\u0435\u0433\u043e \u043e\u043d \u0441\u043e\u0441\u0442\u043e\u0438\u0442. \u041e\u043d \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 GET-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 \u0446\u0438\u043a\u043b\u0435 \u0438 \u0432\u0441\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yr\/4o\/wf\/yr4owfx5btbcyqravg24hatcqei.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 nginx \u0432 \u0442\u0435\u0441\u0442\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f OS Process Sampler<\/p>\n<p>  <\/p>\n<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0442\u0435\u0441\u0442\u0430 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0442\u0435\u0441\u0442\u0430 \u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 nginx-\u0441\u0435\u0440\u0432\u0435\u0440. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e setup-\u043a\u0430\u0442\u0443\u0448\u043a\u0443 \u0438 tearDown-\u043a\u0430\u0442\u0443\u0448\u043a\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e OS Process Sampler \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f nginx \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hb\/wz\/cx\/hbwzcxnz92wsh9_lwdghwfdtyuc.png\"\/><\/p>\n<p>  <\/p>\n<p>Nginx \u0441 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0414\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u2013 \u0434\u0432\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0434\u043d\u043e\u0433\u043e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vc\/lw\/dj\/vclwdjdjas1uugrfwur4alzj6zo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u0441\u0435\u0440\u0434\u0446\u0435\u043c \u0442\u0435\u0441\u0442\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 Thread Group \u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0435 HTTP Request. \u042f \u0432 \u043d\u0435\u043c \u0437\u0430\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u0441\u0435: \u043d\u0430 \u043a\u0430\u043a\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441, \u043a\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c. \u0418 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u2013 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0430\u043a\u0438\u0435, \u043a\u0430\u043a Use KeepAlive. \u041e\u043d\u0430 \u0432\u0430\u0436\u043d\u0430, \u043d\u0430 \u043d\u0435\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u043e\u0437\u0436\u0435.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/o6\/5e\/gw\/o65egwgcsatbnkwzif61qykx-fq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0442\u0435\u0441\u0442\u0435 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u2013 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441. \u0418 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u2013 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0432\u0432\u0435\u0441\u0442\u0438 \u043b\u043e\u0433\u0438\u043d-\u043f\u0430\u0440\u043e\u043b\u044c, \u0438\u043b\u0438 \u043d\u0430 100, \u043d\u0430 1000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0437\u0434\u0435\u0441\u044c Loop Controller. \u0412 \u043d\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00abRequestCount\u00bb, \u044f \u043c\u043e\u0433\u0443 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u043b\u0438\u043d\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u0441\u0442\u0440\u043e JMeter \u043f\u0440\u0438 \u0440\u0430\u0437\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/n_\/15\/_n\/n_15_nt0qptyhhczvgdoehyitye.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u0432\u0432\u0435\u0440\u0445\u0443 \u0443 Thread Group \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b: \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u2013 \u044d\u0442\u043e Threads, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439 \u2013 \u044d\u0442\u043e LoopCount.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q1\/1r\/vf\/q11rvfq8wi1iitzu6o-opnb7clk.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u044e \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u0443\u0434\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u0442\u0440\u0435\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u043e\u043a\u043e\u0432: 1, 2, 3. <\/li>\n<li>\u0414\u043b\u0438\u043d\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f. \u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043d\u0430 1, 10, 50, 100 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<\/li>\n<li>\u0418 \u0431\u0443\u0434\u0435\u043c \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c-\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c Keep-Alive. <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u043a\u0430\u0436\u0443\u0442\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  <\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u044f\u044f \u044d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u044f \u043f\u0440\u043e\u0432\u0435\u043b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u0438\u0445. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yh\/fm\/qa\/yhfmqaytt0ru0b3tp7li-mlre2a.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435, \u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443. \u041d\u0430 \u0442\u0435\u0441\u0442\u0435 \u0441 \u043e\u0434\u043d\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c (\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u2013 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443) \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0441\u0440\u0435\u0434\u043d\u044e\u044e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c. \u042d\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 300-400 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u0434\u043b\u0438\u043d\u0443 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0434\u043e 10, \u0442\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u043e 4 000 \u0438 \u0442. \u0434. \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u044e\u0449\u0435\u0439. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0434\u0435\u043b\u043e, \u0447\u0442\u043e \u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c Keep-Alive \u0442\u0430\u043a\u043e\u0439 \u043e\u043f\u0446\u0438\u0438 \u043d\u0435\u0442, \u0434\u043b\u044f \u043d\u0435\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0435.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xz\/3v\/ro\/xz3vrozd0o3ca8ut8rd53inqn00.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 (\u0434\u0432\u0430 \u043f\u043e\u0442\u043e\u043a\u0430, \u0442\u0440\u0438 \u043f\u043e\u0442\u043e\u043a\u0430) \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0440\u0430\u0441\u0442\u0443\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qv\/ak\/gq\/qvakgqzxb_ks-4u4awoad0uh_ve.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0438 \u0442\u0440\u0435\u043c\u044f \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0432 \u043c\u043e\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0442\u0435\u0441\u0442\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0431\u044b\u043b\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435? \u0417\u0430\u0447\u0435\u043c \u044f \u0432\u043a\u043b\u044e\u0447\u0430\u043b \u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u043b Keep-Alive? \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u043c, \u043a\u0430\u043a\u043e\u0439 \u043e\u043d \u0434\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qy\/uj\/xm\/qyujxmvyyzr4zelwhiikgtm71ji.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0442\u0435\u0441\u0442\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430? \u0412\u0441\u0435 benchmarks, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0432\u0438\u0434\u0435\u043b \u043d\u0430 JMeter, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0438 \u043a\u0430\u043a \u0440\u0430\u0437 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0422\u0430\u043c \u0440\u0435\u0431\u044f\u0442\u0430 \u0431\u0440\u0430\u043b\u0438 \u0440\u0430\u0437\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u0442\u0443\u0434\u0430 \u0440\u043e\u0432\u043d\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043b\u0438, \u043a\u0430\u043a JMeter, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0446\u0438\u043a\u043b\u0435, \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u043b\u0430\u044e\u0442 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435. <\/p>\n<p>  <\/p>\n<p>JMeter, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0437\u0430\u043f\u0440\u043e\u0441, \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0443\u0436 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0439. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c Keep-Alive \u043e\u043d \u0441\u0442\u0430\u043d\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u041c\u043e\u0439 \u0442\u0435\u0441\u0442 \u044d\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mc\/su\/ae\/mcsuae2xxnlerxlirfockmcdmlc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435\u0441\u0442 \u043f\u043e\u0434\u043b\u0438\u043d\u043d\u0435\u0435, \u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Keep-Alive \u0443\u0436\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0438\u0433\u0440\u0430\u0435\u0442 \u0440\u043e\u043b\u0438. \u041e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0443\u0436\u0435 \u0440\u0430\u0432\u043d\u044b \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9q\/sa\/ha\/9qsahadu-e_r-tcf-fsutq5efmy.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0432\u0441\u044f \u0441\u0438\u043b\u0430 Keep-Alive \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0441\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439, \u0442. \u0435. \u0432 50-100 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lq\/xf\/ku\/lqxfkudyvf5ejfmbyzwcyc8ycqq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0438\u043b\u0438 \u043f\u0438\u0448\u0435\u0442 benchmarks: Keep-Alive \u043f\u043e\u043b\u0435\u0437\u0435\u043d. \u041e\u043d \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0434\u043e. \u041d\u043e \u0432\u0441\u044f \u0435\u0433\u043e \u0441\u0438\u043b\u0430 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u0438\u043d\u043d\u044b\u0439, \u0445\u043e\u0442\u044f \u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u044d\u0442\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fo\/vi\/ia\/foviiank9myuys3nubvolsq6cvk.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0443\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u0438\u0448\u0438\u0442\u0435 benchmarks \u043d\u0430 JMeter \u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445, \u0442\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0438\u0445 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438, \u0442. \u0435. \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041e\u043d\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438. \u0418 \u0442\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438\u0437\u0431\u044b\u0442\u043e\u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u0438\u0448\u043d\u0438\u0439 \u0440\u0430\u0437 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f. \u042d\u0442\u043e \u043d\u0430\u043c \u0441\u043d\u0438\u0436\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vr\/al\/oc\/vralochjerf2btyem6gwi45sz3c.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u0430\u043c\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u0442 \u043d\u0435 \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u043d\u0435 \u0438\u0437 100, \u0430 \u0438\u0437 \u0447\u0435\u0433\u043e-\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0437 10. \u042d\u0442\u043e \u0437\u0430\u0439\u0442\u0438, \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0438\u0442\u044c\u0441\u044f, \u043a\u0443\u0434\u0430-\u0442\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438, \u0432\u044b\u0439\u0442\u0438. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u044d\u0442\u043e \u043d\u0430 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. <\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043d\u0430\u0448 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432\u044b\u0434\u0430\u0432\u0430\u043b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0442 4 000 \u0434\u043e 5 000 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u041d\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u0442\u0430\u043a\u0436\u0435, \u0447\u0442\u043e \u0443 JMeter \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ld\/c5\/wu\/ldc5wusa7p8e5mzaqhs3o6ms9w0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c \u043d\u0430\u0448 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441 4 000 \u0434\u043e 16 000 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0410, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0434\u0430\u0436\u0435 \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043c \u044d\u0442\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0414\u0443\u043c\u0430\u044e, \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-x\/lg\/5y\/-xlg5ym6as-rdrzark9vfjcprjy.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Telegraf, InfluxDB, Grafana. <\/li>\n<li>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0437\u0430\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0443\u044e \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0432 Linux \u2013 \u044d\u0442\u043e Netstat \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. <\/li>\n<li>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044f\u0434\u0440\u0430 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u0447\u0435\u0440\u0435\u0437 \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 Linux: \/proc\/sys\/net\/*.<\/li>\n<li>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f.<\/li>\n<li>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438: SJK, Java Fligth Recorder. <\/li>\n<li>\u0418 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e JMeter.<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u044f\u044f \u0432\u0441\u0435 \u044d\u0442\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0441 4 000 \u0434\u043e 16 000 \u043d\u0430\u0448 \u0442\u0435\u0441\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ae\/jx\/qj\/aejxqj6zlpm-ezptuck5-pg5ija.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u0448 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u0439 \u0442\u0435\u0441\u0442 \u043d\u0430 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043f\u043e \u043d\u043e\u0432\u043e\u0439. \u0418 \u0437\u0430\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043c \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438, \u0430 \u043a\u0430\u043a \u043e\u043d\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435. \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b JMeter Backend Listener. \u0418 \u044d\u0442\u043e \u0433\u0440\u0430\u0444\u0438\u043a \u0438\u0437 Grafana.<\/p>\n<p>  <\/p>\n<p>\u042f \u043e\u0436\u0438\u0434\u0430\u043b, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439, \u0442. \u0435. \u0440\u043e\u0432\u043d\u043e 4 000-5 000. \u0410 \u043e\u043d\u0430 \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f, \u043e\u043d\u0430 \u0441\u043a\u0430\u0447\u0435\u0442 \u0438\u0437 \u043d\u0438\u0436\u043d\u0435\u0439 \u043f\u043e\u043b\u043a\u0438 \u0432 500 (\u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435) \u0434\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u043f\u043e\u043b\u043e\u0447\u043a\u0438 \u0432 16 000 (\u043d\u0430 100 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445). \u0412\u0438\u0434\u0438\u043c \u0432\u0441\u043f\u043b\u0435\u0441\u043a\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yn\/cd\/qf\/yncdqfgfs22uexjaqvn_ugpip_8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Non HTTP response code. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432 Linux \u0443 \u043c\u0435\u043d\u044f \u0432\u044b\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430, \u043a\u0430\u043a \u0430\u0434\u0440\u0435\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u0412 Windows \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. \u041d\u043e \u0443 \u043d\u0438\u0445 \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u0441\u0443\u0442\u044c. <\/p>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0441\u043b\u043e\u0432\u0438\u043b 5,24 % \u043e\u0448\u0438\u0431\u043e\u043a. \u0418 \u0442\u0435\u0441\u0442 \u0443\u0436\u0435 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0439. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/s9\/ax\/vm\/s9axvmijvhslyccelv_gpggacaw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c JMeter \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SJK, \u0442\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0430\u043c\u044b\u0439 \u0434\u043e\u043b\u0433\u0438\u0439 \u043c\u0435\u0442\u043e\u0434, \u0442. \u0435. \u0431\u043e\u043b\u0435\u0435 64 % \u2014 \u044d\u0442\u043e socketConnect. \u0422. \u0435. JMeter \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u044b \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u0430\u0440\u0441\u0438\u0442, \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435. \u041e\u043d \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0435\u043c\u0443 \u0434\u0430\u0434\u0443\u0442 \u043d\u043e\u0432\u044b\u0439 \u0441\u043e\u043a\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 nginx. \u0418 \u043d\u0430 \u044d\u0442\u043e \u0442\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u044b. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kf\/f8\/at\/kff8atkw1f5gtrhznhajvau7yoq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u044f \u0432\u0441\u0435 \u044d\u0442\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u0430\u043a-\u0442\u043e \u044d\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u043f\u0443\u0442\u0438, \u043a\u0430\u043a \u0443 \u0432\u0438\u0442\u044f\u0437\u044f \u043d\u0430 \u0440\u0430\u0441\u043f\u0443\u0442\u044c\u0435. \u041a\u0430\u043a\u0438\u0435 \u044d\u0442\u043e \u043f\u0443\u0442\u0438?<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/am\/qb\/ge\/amqbgenrytouhusf3vjj4hs9usw.png\"\/><\/p>\n<p>  <\/p>\n<ol>\n<li>\u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442, \u0442. \u0435. \u0447\u0442\u043e-\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0432 JMeter. <\/li>\n<li>\u041c\u043e\u0436\u0435\u043c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JMeter. \u041d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u043d\u043e\u0433\u043e, \u0435\u0441\u0442\u044c \u0447\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c.<\/li>\n<li>\u0418 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0442. \u0435. \u043a\u0430\u043a-\u0442\u043e \u043f\u043e\u0442\u044e\u043d\u0438\u0442\u044c \u044f\u0434\u0440\u043e, \u043f\u043e\u0442\u044e\u043d\u0438\u0442\u044c Linux, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0431\u044b\u0441\u0442\u0440\u0435\u0435. <\/li>\n<\/ol>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xw\/sx\/bm\/xwsxbm60bmvqiw8hqw9bl6qlnj8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u043a\u0440\u0438\u043f\u0442 JMeter: \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (RequestCount) \u0434\u043e 50. \u0418\u0437\u043c\u0435\u043d\u0438\u043c \u0441\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/eb\/kj\/fl\/ebkjflieylxj0jxmrfz2ghpnnqa.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u0442\u043e \u044f \u043d\u0430\u0447\u0430\u043b \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u044b \u0441 \u0440\u0430\u0437\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f: 1, 10, 50, 100. \u0418 \u0431\u044b\u043b\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u0438\u043d\u043d\u044b\u0439 (50 \u0438 100), \u0442\u043e \u043d\u0430\u043c \u0432\u044b\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e 16 000 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. <\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u044d\u0442\u0438\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c, \u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u2013 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043d\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. <\/p>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u044c \u0434\u043b\u0438\u043d\u043d\u043e\u0439 \u0432 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0430\u0441 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u2013 \u044d\u0442\u043e \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u043b\u0443\u0447\u0448\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0435\u0449\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ud\/-b\/uk\/ud-bukmgnxauz22-hv2cc-5upn8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, HTTP Cache Manager \u0443\u0441\u043a\u043e\u0440\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443? \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0434\u0430, \u043e\u043d \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442, \u043d\u043e \u0443 \u043c\u0435\u043d\u044f \u0442\u0443\u0442 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430: \u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 html-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442. \u041e\u043d \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/w7\/_e\/k3\/w7_ek3xbiyuopcxxpq6ufyprsmc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435, \u0435\u0441\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c HTTP Cache Manager, \u0442\u043e \u044d\u0444\u0444\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439. \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u044b\u043c. <\/p>\n<p>  <\/p>\n<p>\u042f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0432 4 800. \u0418 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442 \u043e\u0448\u0438\u0431\u043e\u043a, \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0438\u0439. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xc\/4v\/0d\/xc4v0dfewbwbvyoeclrud2ff-w0.png\"\/><\/p>\n<p>  <\/p>\n<p>JMeter \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0441 HTTP Cache Manager\u2019\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0435 socketConnect. \u0422. \u0435. \u043c\u044b \u043e\u0436\u0438\u0434\u0430\u0435\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 nginx.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ul\/hv\/bo\/ulhvbovsrseu3lzprre-lz5ox2g.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0435\u0439 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c \u0442\u0435\u0441\u0442 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043d\u0435 \u0443\u0434\u043b\u0438\u043d\u044f\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439. \u0423 \u043d\u0430\u0441 \u043f\u043e \u043f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043e\u043d 10. \u0410 HTTP Cache Manager \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 \u043d\u0430\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0430\u043b.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9j\/mw\/16\/9jmw16wfr6y3fqunutqs2ysxoo4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041e\u0442\u043a\u0430\u0442\u0438\u043c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u0430\u0434. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0432\u0435\u0440\u043d\u0443\u043b\u0438\u0441\u044c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u043e\u043a \u043d\u0435 \u0431\u044b\u043b\u043e, HTTP Cache Manager \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/sc\/sd\/7l\/scsd7lxsggbub2kl7aqo-nbp5zc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0435\u0449\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u041f\u043e\u043a\u043b\u0438\u043a\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bg\/my\/j6\/bgmyj6wree3w9v0s8np6pa0cb58.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0432\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u044b\u0431\u0440\u0430\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u0441\u0435 \u0432\u0438\u0434\u0435\u043b\u0438, \u043d\u043e \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438, \u044d\u0442\u043e HttpClient4 \u043d\u0430 Java. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f HttpClient4.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e java-\u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b 8-\u0443\u044e Java), \u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0435\u043c\u0430\u043b\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0432 3,3 \u0440\u0430\u0437 \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0438 \u043e\u0434\u043d\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432\u043e\u043e\u0431\u0449\u0435. \u0422. \u0435. \u044d\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u0435\u0447\u0442\u044b. \u041c\u043e\u0436\u043d\u043e \u0435\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441 \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u0430\u043c\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e JavaClient \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435 \u0442\u043e, \u0447\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 HttpClient4. \u041e\u043d \u0440\u0430\u0441\u043a\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f JMeter. \u041d\u043e \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 HTTP, \u0442\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u0438 \u043d\u0435\u0442?<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/78\/sd\/nq\/78sdnqn0-ymdt2xarr4qw9zwlxu.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e JMeter \u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u0434\u0435\u043b\u043e\u043c. \u0411\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u043d \u0447\u0438\u0442\u0430\u0435\u0442 \u043e\u0442\u0432\u0435\u0442. \u041a\u0430\u043a\u0443\u044e-\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u043d \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0422. \u0435. \u043c\u044b \u043d\u0435 \u0432\u0438\u0441\u0438\u043c \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0435 socketConnect. \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u043b\u043e \u043d\u0430\u0441 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9j\/mw\/16\/9jmw16wfr6y3fqunutqs2ysxoo4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u043e\u0442\u043a\u0430\u0442\u0438\u043c\u0441\u044f \u0441\u043d\u043e\u0432\u0430 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u044d\u0442\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438. \u041f\u043e\u0438\u0449\u0435\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0435\u0449\u0435 \u0441\u043f\u043e\u0441\u043e\u0431.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qk\/xl\/gt\/qkxlgt7wie8mhnjesabzi4pdbqs.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430. \u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u0431\u0440\u043e\u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u0442. \u0435. \u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u0438 \u0442\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0431\u0440\u043e\u0441 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. \u041c\u044b \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u043c TCP \u2013 \u0437\u0430\u043a\u0440\u043e\u0439\u0441\u044f, SSL \u2013 \u043f\u0435\u0440\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439\u0441\u044f \u0438 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0432\u0441\u0435 \u043f\u043e \u043d\u043e\u0432\u043e\u0439. <\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u00abfalse\u00bb: \u043d\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0439 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 \u0435\u0433\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mj\/6k\/iq\/mj6kiq659gfxqa7eqksockbowzu.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c. \u0418, \u043e \u0447\u0443\u0434\u043e! \u0422\u0435\u0441\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432 4 \u0440\u0430\u0437\u0430. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u0445 \u044f \u043f\u0440\u0435\u0432\u044b\u0441\u0438\u043b \u0434\u0430\u0436\u0435 \u043f\u043e\u043b\u043e\u0447\u043a\u0443 20 000 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0418 \u044d\u0442\u043e \u0438\u043c\u0435\u044f \u043b\u0438\u0448\u044c \u0441\u043b\u0430\u0431\u0435\u043d\u044c\u043a\u0438\u0439 \u043d\u043e\u0443\u0442\u0431\u0443\u043a \u0441 4-\u043c\u044f \u044f\u0434\u0440\u0430\u043c\u0438 \u0438 \u0442\u0440\u0438 \u043f\u043e\u0442\u043e\u043a\u0430. \u041d\u0435\u043f\u043b\u043e\u0445\u043e, \u043d\u043e \u0432\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443 \u043d\u0430\u0441 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0430 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u043d\u043e \u043e\u043d\u0430 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0430 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/p0\/6q\/cf\/p06qcf_4wh6txz6cw5jix4mhnys.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0420\u0435\u0437\u044e\u043c\u0438\u0440\u0443\u044e \u043f\u043e \u044d\u0442\u0438\u043c \u0434\u0432\u0443\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c. \u0415\u0441\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e HttpClient4, \u0442\u043e \u043c\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u043d\u0430 3,3 \u0440\u0430\u0437\u0430. \u0410 \u0435\u0441\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043d\u043e \u043d\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u0442\u043e \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432 4 \u0440\u0430\u0437\u0430. \u041d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9j\/mw\/16\/9jmw16wfr6y3fqunutqs2ysxoo4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0441\u043d\u043e\u0432\u0430 \u043e\u0442\u043a\u0430\u0442\u0438\u043c\u0441\u044f \u043d\u0430\u0437\u0430\u0434. \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u043b\u0438. \u0418 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lj\/kg\/zv\/ljkgzv9hvshsjhldgqbwknr3zrg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u0443 \u043d\u0430\u0441 \u0435\u0449\u0435 \u0435\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0418 \u0442\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0446\u0438\u0439 \u0432 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u044f\u0434\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u043b\u0438\u0441\u044c \u0432 JMeter, \u0442. \u0435. \u0432\u0441\u0435 \u0431\u044b\u043b\u043e \u0448\u0443\u0441\u0442\u0440\u0435\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yr\/ln\/1i\/yrln1itiozapod9-7vdqfdyu6co.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442 \u043f\u043e \u043d\u043e\u0432\u043e\u0439, \u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0432\u0441\u0435\u0433\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u044f \u0437\u0430\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043b nginx. \u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a nginx \u0438\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e, \u0442. \u0435. \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u043a\u0430\u0447\u0435\u0442 \u043e\u0442 0 \u0434\u043e 1 200-1 300-1 400. \u0418 \u0432 \u043f\u0438\u043a\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043b\u0430\u043d\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 10 \u0440\u0430\u0437 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0442 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0432 \u0442\u0435\u0441\u0442\u0435. \u042d\u0442\u043e \u043b\u043e\u0433\u0438\u0447\u043d\u043e. \u041c\u044b \u0434\u0435\u043b\u0430\u0435\u043c 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u2013 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, 10 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u2013 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0422. \u0435. \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043a\u043e\u0440\u0440\u0435\u043b\u0438\u0440\u0443\u0435\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vm\/h3\/gz\/vmh3gzf8dk9xeffrwmybhm0zkpq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0433\u0434\u0435 \u043a\u0440\u0430\u0441\u043d\u0430\u044f \u043b\u0438\u043d\u0438\u044f \u2013 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0430 \u0441\u0438\u043d\u044f\u044f \u043b\u0438\u043d\u0438\u044f \u2013 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u0410 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043b\u0438\u043d\u0438\u0438 \u2013 \u044d\u0442\u043e waits \u0438 \u0447\u0442\u043e-\u0442\u043e \u0435\u0449\u0435. \u0418 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0440\u0430\u0442\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b, \u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 \u0432 3,5 \u0440\u0430\u0437\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-o\/ya\/cg\/-oyacgokxgbh-cqegie_uuwwjkm.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u0447\u0438\u0442, \u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438. \u041f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0435. \u0418 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043c\u0435\u0442\u0440\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 Grafana, Telegraf \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u2026 Netstat, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043c\u0435\u0442\u0440\u0438\u043a\u0430 tcp_time_wati, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u0435\u0441\u0442\u0430 \u043c\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0434\u043e\u0445\u043e\u0434\u0438\u043c \u0434\u043e \u043f\u043e\u043b\u043e\u0447\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0447\u0435\u0442\u043b\u0438\u0432\u043e \u0432\u044b\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 28 231. \u0412\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0418 \u0434\u0435\u0440\u0436\u0438\u043c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u0439 \u043f\u043e\u043b\u043e\u0447\u043a\u0435 \u0432\u0435\u0441\u044c \u0442\u0435\u0441\u0442. \u0418\u043d\u043e\u0433\u0434\u0430 \u043b\u0438\u0448\u044c \u043f\u0440\u043e\u0433\u0438\u0431\u0430\u044f\u0441\u044c, \u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f\u0441\u044c. \u0422. \u0435. \u0447\u0442\u043e-\u0442\u043e \u043d\u0430\u0441 \u0434\u0435\u0440\u0436\u0438\u0442, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 tcp_time_wait \u044d\u0442\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rb\/jf\/qb\/rbjfqbvmdczzwkbmx4cfuwcrcgy.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c, \u043a\u0442\u043e \u043f\u043e\u0434\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u0442\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c\u0443 nginx (\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 nginx \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443 5555), \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 NetStat.<\/p>\n<p>  <\/p>\n<p>\u041e\u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0442\u0430\u043c \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 JMeter \u043a nginx \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e, \u0430 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 TIME_WAIT. \u0422. \u0435. \u0432\u0441\u0435 \u044d\u0442\u0438 28 000 \u2013 \u044d\u0442\u043e JMeter \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043c \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0430\u0441\u044c, \u0438 \u043e\u043d \u0441\u043a\u0430\u0437\u0430\u043b: \u00ab\u0421\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u0440\u043e\u0439\u0441\u044f\u00bb. \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 nginx \u0435\u043c\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442: \u00ab\u0414\u0430, \u044f \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u044e\u0441\u044c, \u0434\u0430\u0432\u0430\u0439 \u0437\u0430\u043a\u0440\u043e\u0435\u043c\u0441\u044f\u00bb, \u0442. \u0435. \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435\u043a\u043e\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435. \u041e\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0435 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0432\u0438\u0441\u0438\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/iu\/sd\/at\/iusdatax8gpsmq6x6a8pveufoeq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0438\u0441\u043a \u043f\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0441 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u043e\u043f\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044c. \u041e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f local_port_range. \u0415\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 Ubuntu \u043e\u0442 32 000 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e 61 000. <\/p>\n<p>  <\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0438\u0437 61 000 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c 32 000, \u0442\u043e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0430\u0448\u0438 28 000.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u044d\u0442\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b cat, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u00abcat \/\u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438\u00bb, \u0438 \u043d\u0430\u043c \u0432\u044b\u0432\u0435\u0434\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6r\/or\/iy\/6roriysrdtlgsoxe8eyvvavawim.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u00abecho\u00bb, \u0432\u044b\u0437\u0432\u0430\u0432 \u0435\u0435 \u0441 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u0438\u043c\u0438 \u043f\u0440\u0430\u0432\u0430\u043c\u0438. <\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043e\u0442\u043e\u0434\u0432\u0438\u043d\u0435\u043c \u043b\u0435\u0432\u0443\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 32 000 \u0435\u0449\u0435 \u043b\u0435\u0432\u0435\u0435 \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0430\u0448 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0442. \u0435. \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430: \u043e\u0442 1 025 \u0434\u043e 60 999. \u0421\u043e\u0432\u0441\u0435\u043c \u0434\u043e \u043d\u0443\u043b\u0435\u0439 \u043e\u0442\u043e\u0434\u0432\u0438\u0433\u0430\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435 \u0437\u043d\u0430\u044e, \u043a \u043a\u0430\u043a\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u0431\u044b. <\/p>\n<p>  <\/p>\n<p>\u041e\u0447\u0435\u043d\u044c \u043c\u043d\u0435 \u043f\u043e\u043c\u043e\u0433 <a href=\"https:\/\/blog.kireev.pro\/2017\/07\/\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b-\u0441-\u043e\u0447\u0435\u0440\u0435\u0434\u044c\u044e-time_wait\/\">@blog.kireev.pro<\/a>. \u0422\u0430\u043c \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 tcp_time_wait \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442, \u0438 \u0447\u0442\u043e \u0441 \u044d\u0442\u0438\u043c \u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ue\/fr\/wc\/uefrwczdlfwcgxubcqmqgzpjs7m.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443. \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442. \u0418 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 1,6 \u0440\u0430\u0437\u0430. \u0422\u0435\u043f\u0435\u0440\u044c \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0435\u0442 \u043d\u0435 \u043e\u0442 500 \u0434\u043e 16 000, \u0430 \u043e\u0442 3 500 \u0434\u043e 19 000. \u042d\u0442\u043e \u0443\u0436\u0435 \u0445\u043e\u0440\u043e\u0448\u043e. \u0421\u0440\u0435\u0434\u043d\u044f\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0430 7 700.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/2_\/sb\/q4\/2_sbq4ezafxbwirhjtxpigalgga.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041e\u0448\u0438\u0431\u043a\u0438 \u0443\u0448\u043b\u0438, \u0447\u0442\u043e \u043d\u0435\u043c\u0430\u043b\u043e \u0432\u0430\u0436\u043d\u043e. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0431\u0435\u0434\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mk\/b_\/em\/mkb_emmf3_6bew019voo1phm3kk.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u043c \u0447\u0442\u043e \u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 JMeter, \u043e\u043d \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u0438\u0441\u0438\u0442 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0435 socketConnect.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hb\/nl\/6o\/hbnl6obiuat7zb3jlzeuj1xroz8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c, \u0438\u0437\u0431\u0430\u0432\u0438\u043b\u0438\u0441\u044c \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u043a Address not available \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u043f\u0446\u0438\u0438 ip_local_port_range.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xn\/rc\/wd\/xnrcwd-drjs0f_qfrz1rzilnwa0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u043c\u044b \u043b\u0438\u0448\u044c \u043f\u043e\u043b\u0435\u0447\u0438\u043b\u0438 \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u044b, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c, \u043c\u044b \u0432\u0441\u0435 \u0435\u0449\u0435 \u0432\u0438\u0441\u0438\u043c \u043d\u0430 socketConnect. \u0418 \u0435\u0441\u043b\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043d\u0430 \u043c\u0435\u0442\u0440\u0438\u043a\u0443 Netstat: tcp_time_wait, \u0442. \u0435. \u0437\u0430\u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Telegraf, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c Grafana, \u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043c\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0443\u043f\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0432 28 000. \u041c\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u043f\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0432 32 768. \u0421\u043d\u043e\u0432\u0430 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0434\u0443\u043c\u0430\u044e, \u0437\u043d\u0430\u043a\u043e\u043c\u043e\u0435 \u0430\u0439\u0442\u0438\u0448\u043d\u0438\u043a\u0430\u043c. \u0418 \u0447\u0442\u043e-\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043b\u0438\u043c\u0438\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/o8\/jj\/q9\/o8jjq9cyjjsamu9xwylb4kvsqws.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0435\u0433\u043e \u043d\u0430\u0439\u0442\u0438. \u0422\u0430\u043a\u043e\u0439 \u043b\u0438\u043c\u0438\u0442 \u0435\u0441\u0442\u044c. \u0418 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043e\u043f\u0446\u0438\u044f tw_ buckets \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u043b\u0438\u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 TIME_WAIT.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u043d\u043e\u0432\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u00abcat\u00bb, \u043e\u043d\u0430 \u043f\u043e\u0434\u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u0432 Ubuntu \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0440\u0430\u0437 \u0440\u0430\u0432\u043d\u043e 32 768. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lf\/mi\/bk\/lfmibk0bqrofhjvx-3btjqctmuc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043c\u044b \u0435\u0433\u043e \u043c\u043e\u0436\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u0432 \u0442\u0443\u0434\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 65 000. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/02\/y5\/rc\/02y5rcezil2cwqnziim5lpa6ql8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0435\u0441\u0442, \u043d\u043e \u0443\u0432\u044b, \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c \u0442\u043e\u0439 \u0436\u0435. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u043e \u0436\u0435. \u041e\u043d\u0430 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0441\u043a\u0430\u0447\u0435\u0442 \u043e\u0442 3 500 \u0434\u043e 19 000. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/4a\/2a\/pl\/4a2aplhe7l-ft3sprlaveedn3je.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u043f\u043b\u044e\u0441\u044b? Tcp_time_wait \u0443\u043f\u0438\u0440\u0430\u043b\u0441\u044f \u0432 \u043f\u043e\u043b\u043e\u0447\u043a\u0443 \u0432 32 768, \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u043d \u043d\u0435 \u0443\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f. \u041e\u043d \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0437\u0430\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0435\u0442 \u043d\u0430 46 000. \u0418 \u043f\u043e \u0445\u043e\u0434\u0443 \u0442\u0435\u0441\u0442\u0430 \u043f\u043b\u0430\u0432\u0430\u0435\u0442 \u0432 \u0431\u043e\u043b\u0435\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0435, \u0442. \u0435. \u043f\u043e\u043b\u043e\u0447\u043a\u0438 \u043d\u0435\u0442, \u043d\u043e \u0440\u0430\u0437\u043e\u0433\u043d\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/k7\/fl\/y8\/k7fly8lqbsj8dwqcognkrx8uf8e.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442. \u042d\u0442\u043e \u043e\u043f\u044b\u0442. \u0415\u0441\u043b\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c local_port_range, \u0430 \u043f\u043e\u0442\u043e\u043c \u0441\u0432\u0435\u0440\u0445\u0443, \u043d\u0435 \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430\u0437\u0430\u0434 \u043d\u0430 \u043c\u0430\u0448\u0438\u043d\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0435\u0449\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c tw_buckets, \u0442\u043e tw_buckets \u043a\u0430\u043a-\u0442\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e, \u043d\u043e \u043c\u044b \u0443\u0445\u043e\u0434\u0438\u043c \u043e\u0442 \u043f\u043e\u043b\u043e\u0447\u043a\u0438. \u0418 \u044d\u0442\u043e \u043f\u043b\u044e\u0441. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rq\/u0\/44\/rqu044pxw2q7tkv8huneijniq0s.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0441 \u0434\u0432\u0443\u043c\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 JMeter \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0432\u0438\u0441\u0438\u0442 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434\u0435 socketConnect, \u043d\u043e \u0443\u0436\u0435 \u043c\u0435\u043d\u044c\u0448\u0443\u044e \u0434\u043e\u043b\u044e \u2013 \u043e\u043a\u043e\u043b\u043e 50 %. \u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u0430\u043b\u044c\u0448\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/sp\/tn\/ku\/sptnkuge4dqlfq5pstmsvavd-rc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043d\u0430\u0441 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c TIME_WAIT-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u00ab1\u00bb \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 tcp_tw_reuse. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0430\u043c \u00ab0\u00bb. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qj\/gg\/ds\/qjggdsmsjx3t2qc_0m9psqanrt0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0442\u043e \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043f\u0440\u0430\u0432\u043e\u043a \u0442\u0435\u0441\u0442\u0430, \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043e\u043f\u0446\u0438\u0439 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 3,6 \u0440\u0430\u0437\u0430 \u0438 \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442 19 000 \u0438\u043d\u043e\u0433\u0434\u0430. \u0421\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u044b \u0438\u0437\u0431\u0430\u0432\u043b\u044f\u0435\u043c\u0441\u044f \u043e\u0442 \u043e\u0448\u0438\u0431\u043e\u043a. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mx\/5f\/qo\/mx5fqonabamy53k0kegtau4hzfg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e JMeter \u0443\u0436\u0435 \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u0434\u0435\u043b\u043e\u043c. \u041e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 socketRead, \u0438\u043d\u043e\u0433\u0434\u0430 socketWrite, \u0442. \u0435. \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0447\u0438\u0442\u0430\u0435\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043e\u0442\u0432\u0435\u0442\u0430 \u0438 \u0442\u0440\u0430\u0442\u0438\u043c \u043d\u0430 \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/h8\/8u\/wd\/h88uwdj-aqqtpakuupwcj6s1zmq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u00ab\u0437\u0430\u0434\u044b\u0448\u0430\u043b\u00bb, \u043c\u044b \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u043c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u0430\u0445, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0448 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u043e\u0434. \u0414\u0443\u043c\u0430\u044e, JMeter \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/o8\/kq\/4r\/o8kq4rvpt-1jlelqtrwi7v4hypq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0441\u043d\u043e\u0432\u0430 \u0443\u043f\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0432 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u043b\u043e\u0447\u043a\u0443 \u043f\u043e TIME_WAIT. \u041d\u043e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u044b \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0437\u0430\u0434\u0430\u0447\u0438. \u0415\u0441\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u0431\u044b\u043b\u0430 \u2013 \u043f\u043e\u0431\u0438\u0442\u044c \u043f\u043b\u0430\u043d\u043a\u0443 \u0432 16 000, \u0442\u043e \u043c\u044b \u0435\u0435 \u043f\u043e\u0431\u0438\u043b\u0438. \u041a\u0430\u043a\u0430\u044f \u0442\u0430\u043a\u0430\u044f \u0435\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0432 30 000, \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u043d\u043e \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0443 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Gatling.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/k4\/qc\/80\/k4qc80zeqyvoe571d1bficz9mru.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/bit.ly\/gatling-tuning\">https:\/\/bit.ly\/gatling-tuning<\/a><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/gatling.io\/docs\/current\/general\/operations\/\">https:\/\/gatling.io\/docs\/current\/general\/operations\/<\/a><\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Gatling, \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 General\/ Operations. \u0422\u0430\u043c \u0435\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e Java \u0438 \u0442\u044e\u043d\u0438\u043d\u0433\u043e\u0432\u044b\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/va\/4t\/ef\/va4tef4gfi0o3k7kgp6stbpvk1w.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f \u0441 \u0442\u0435\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0443\u0436\u0435 \u0443\u0441\u043f\u0435\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, local_port_range.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u0438 \u0441 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u043e\u0447\u0435\u043c\u0443? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u0432 5, 6 \u0441\u0442\u0440\u043e\u0447\u043a\u0430\u0445 \u043c\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u041d\u043e \u043f\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0432 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 Linux \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 nr_open \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0432\u043d\u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0443. \u0418 \u0435\u0441\u043b\u0438 \u0431\u0435\u0437\u0434\u0443\u043c\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044e, \u0442\u043e \u043c\u044b \u0435\u0435 \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043c, \u0430 \u043f\u043e\u043d\u0438\u0437\u0438\u043c \u0434\u043e 300 000. <\/p>\n<p>  <\/p>\n<p>\u0412\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 file-max \u0440\u043e\u0432\u043d\u0430 70 000 \u0441 \u043b\u0438\u0448\u043d\u0438\u043c, \u0438 \u043c\u044b \u0435\u0435 \u043f\u043e\u043d\u0438\u0437\u0438\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438, \u043f\u043e \u043e\u0434\u043d\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0438 \u0442\u0435\u043c \u0438\u043b\u0438 \u0438\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0432\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/sq\/id\/mw\/sqidmwgjcd7em74hfztzdvw3hme.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043c \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 tw_reuse = 1. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/e4\/9u\/ln\/e49ulnx1vleb1rhmsivduzk3tp0.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/yandextank.readthedocs.io\/en\/develop\/generator_tuning.html#tuning\">https:\/\/yandextank.readthedocs.io\/en\/develop\/generator_tuning.html#tuning<\/a><\/p>\n<p>  <\/p>\n<p>\u0418 \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u043e\u0442 Yandex.Tank. \u041e\u043d\u0438 \u0442\u043e\u0436\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0442\u0441\u044f, \u0438\u0445 \u0442\u043e\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e \u043e\u0434\u043d\u043e\u0439, \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0447\u0438\u0442\u0430\u044f. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 tw_recycle. Tw_reuse \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u043d\u043e\u043b\u044c. \u0414\u0443\u043c\u0430\u044e, \u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Gatling \u0431\u044b\u043b\u0438 \u0441\u0432\u043e\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u044d\u0442\u0438 \u0434\u0432\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f\u0434\u0440\u0430 \u0434\u0430\u0432\u0430\u043b\u0438 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u044d\u0444\u0444\u0435\u043a\u0442.<\/p>\n<p>  <\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Yandex.Tank, Gatling, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0435\u0449\u0435 \u0447\u0442\u043e-\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0442\u044e\u043d\u0438\u0442\u044c, \u043c\u044b \u0443\u0436\u0435 \u0432 \u044d\u0442\u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/75\/bw\/gv\/75bwgvizme9s5n-tycazs_bbuee.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430 \u0442\u043e\u043c, \u0447\u0442\u043e tw_reuse \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u043d\u0430\u043c \u0432 3,6 \u0440\u0430\u0437\u0430 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0442\u0435\u0441\u0442. \u0418 \u044d\u0442\u043e \u0437\u0434\u043e\u0440\u043e\u0432\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/od\/kv\/cm\/odkvcmconkqirhqzabrdqeanqmo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0446\u0435\u043b\u0438\u043a\u043e\u043c, \u0442\u043e \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c?<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0415\u0441\u043b\u0438 \u043d\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0430 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 reset_state \u0432 false, \u0442\u043e \u043c\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c 3,9 \u0440\u0430\u0437\u0430. <\/li>\n<li>\u0415\u0441\u043b\u0438 \u0441\u043c\u0435\u043d\u0438\u0442\u044c Httpsampler \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e Java, \u0442\u043e \u0432 3,3 \u0440\u0430\u0437\u0430.<\/li>\n<li>\u0410 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c Linux c tw_reuse \u0432 3,6 \u0440\u0430\u0437\u0430 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0432\u0441\u0435\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. <\/li>\n<li>\u0418 local_port_range \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u043d\u0430\u043c \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u043e \u0442\u0435\u0441\u0442. <\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0448\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u043f\u0446\u0438\u0438 \u0438\u0437 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u041e\u043d\u0438 \u043d\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ju\/ko\/lm\/jukolmbtdknqcddskzqp3k1gchg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443 JMeter \u2013 \u044d\u0442\u043e \u043d\u0435 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u0432\u0438\u0441\u0438\u0442 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 \u0432 socketConnect. \u0410 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0440\u0435\u0442\u044c \u0432\u0438\u0441\u0438\u0442 \u0432 read. 20 % \u043e\u043d \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 timeout \u2013 \u044d\u0442\u043e \u043d\u0435\u043a\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. 11 % \u0432 BackendListener. \u0418 12 % \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b. \u0412\u043e\u0442 \u044d\u0442\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0438 \u0437\u0434\u043e\u0440\u043e\u0432\u043e\u0433\u043e JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qq\/eb\/uz\/qqebuzmry6p5gm1_8pnyqn5uwoy.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u0430\u043a-\u0442\u043e \u0438\u0445 \u0441\u043c\u0435\u0448\u0430\u0442\u044c. \u0414\u0443\u043c\u0430\u044e, \u0443 \u0432\u0430\u0441 \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/a2\/1b\/bw\/a21bbwcyj1345qcelj7jcfmg-6g.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 \u043c\u044b \u043f\u043e\u043a\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438. \u042d\u0442\u043e \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0432 JMeter, \u0432\u043e \u0447\u0442\u043e \u043c\u044b \u0443\u043f\u0440\u0435\u043c\u0441\u044f \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0438 \u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cs\/gt\/ha\/csgthagbxys6gstun_dptxe9ig8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Thread Group \u043d\u0430 \u043e\u0434\u0438\u043d \u043f\u043e\u0442\u043e\u043a \u0438 200 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u0438\u043c\u0435\u044f 4 \u0413\u0431\u0430\u0439\u0442 Heap Size<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u044f \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b \u0442\u0430\u043a\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c 200 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e. \u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u043f\u043e\u0442\u043e\u043a \u0438 \u0432 \u043d\u0435\u043c 200 \u0440\u0430\u0437 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442. \u0418 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a JMeter \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u0438 \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0435\u043c\u0441\u044f. <\/p>\n<p>  <\/p>\n<p>\u0424\u0430\u0439\u043b \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 1 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442. \u042f \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b DD. \u0414\u0443\u043c\u0430\u044e, \u0432\u0441\u0435 \u0435\u0439 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ro\/5d\/ap\/ro5dapl9yncjdhlrv418xj8lde8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0418 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. 5 \u043c\u0438\u043d\u0443\u0442. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430. \u0412 \u0446\u0435\u043b\u043e\u043c 1,5 \u0441\u0435\u043a\u0443\u043d\u0434\u044b. \u041d\u043e \u043c\u044b \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u0438\u043b\u0438 \u0432\u0441\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0432\u044b\u0434\u0435\u043b\u044f\u043b \u043f\u043e JMeter. \u042f \u0432\u044b\u0434\u0435\u043b\u044f\u043b 4 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gc\/7d\/ig\/gc7digzkv13wjahtj_dhzaigo28.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Java Fligth Recorder, \u043a\u0430\u043a \u0443\u0442\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u043c\u044f\u0442\u044c, \u0442\u043e \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u0441\u0438\u043d\u0438\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u0438 \u043e\u0447\u0438\u0449\u0430\u0435\u0442\u0441\u044f, \u0442. \u0435. \u0441\u0431\u043e\u0440\u043e\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u0438\u0445 200 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0431\u044b\u043b\u043e \u043d\u0435\u0438\u043c\u043e\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e. \u0410 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 memory traffic (\u043c\u0435\u0442\u0440\u0438\u043a\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u043d\u0438\u0436\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u0434\u0430\u043d\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0438) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 2 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0422. \u0435. JMeter \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b 200 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0438 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0432\u044b\u0434\u0435\u043b\u044f\u043b 2 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430, \u0430 JFR \u0438\u0445 \u043e\u0447\u0438\u0449\u0430\u043b. \u0414\u0443\u043c\u0430\u044e, \u0431\u044b\u043b \u0431\u043e\u043b\u044c\u0448\u043e\u0439 overhead \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 JFR.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gx\/1m\/sl\/gx1mslsx6u0rhjzbmzg8urxfpxq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e SJK \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u043e, \u0447\u0442\u043e \u043c\u044b \u0432\u0438\u0441\u0435\u043b\u0438 \u043d\u0430 socketRead, \u0442. \u0435. \u0447\u0438\u0442\u0430\u043b\u0438, \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u0438 \u043f\u0430\u043c\u044f\u0442\u044c, \u043e\u0447\u0438\u0449\u0430\u043b\u0438.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1q\/_t\/k-\/1q_tk-_vuryktduj_lmjv5atlco.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412\u0430\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0448\u0442\u0443\u043a\u0443. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u044c \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430, \u0438\u043c\u0435\u044f Heap \u0432 4 \u0413\u0411\u0430\u0439\u0442\u0430, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b 1 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u0430 \u0431\u0443\u0434\u0443 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c 1,1 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u044e OutOfMemoryError. \u042d\u0442\u043e \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0432\u0430\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u042f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c 2 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430, \u0442\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e HEAP 8 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u0442. \u0435. \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u044a\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/tv\/_p\/4z\/tv_p4zq1xvyps83rilb7a-vecmo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u044d\u0442\u043e\u0442 \u043e\u043f\u044b\u0442, \u043a\u0430\u043a \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0439. Httpsampler \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kf\/f8\/at\/kff8atkw1f5gtrhznhajvau7yoq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0443\u0442\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043d\u043e\u0442\u0435, \u044f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u043f\u0443\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043a\u0430\u043a-\u0442\u043e \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/am\/qb\/ge\/amqbgenrytouhusf3vjj4hs9usw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442, \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xw\/sx\/bm\/xwsxbm60bmvqiw8hqw9bl6qlnj8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qn\/c0\/bk\/qnc0bklrobjbtmi2cevkvtzuu8e.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e HTTP Request \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043e\u043f\u0446\u0438\u044f Save response as MD5 hash. \u0427\u0442\u043e \u043e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442? \u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0442\u0435\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u0430, \u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 MD5 hash. \u0418 \u043c\u044b, \u044f \u0434\u0443\u043c\u0430\u044e, \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043c \u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u0438. \u0422. \u0435. \u043c\u044b \u0443\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0441\u0435\u0433\u043e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mf\/6z\/ze\/mf6zzeht3bkvtojdt9_mxfmpayc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0435, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0435\u0441\u0442. \u0418, \u043f\u0440\u0430\u0432\u0434\u0430, \u043c\u044b \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u0438. \u0423\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0442\u0430\u043b\u0430 \u0440\u0430\u0432\u043d\u0430 \u043d\u0443\u043b\u044e. \u041d\u043e \u043c\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0434\u043b\u0438\u043d\u0438\u043b\u0438 \u0441\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f, \u0442. \u0435. \u0430\u0436 \u0434\u043e 18 \u043c\u0438\u043d\u0443\u0442. \u0421\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u043e 5,5 \u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bf\/-y\/gy\/bf-ygyeqf-mvynfflehbqpxh6w0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Java Flight Recorder, \u0442\u043e \u043e\u043d \u043f\u043e\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0432\u0438\u0434\u0438\u043c \u0441\u0438\u043d\u044e\u044e \u043b\u0438\u043d\u0438\u044e. \u0422. \u0435. \u043f\u0430\u043c\u044f\u0442\u044c \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u0435\u0441\u0442\u0430 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0438\u043b\u0430\u0441\u044c \u0438 \u0442\u0443\u0442 \u0436\u0435 \u0435\u0435 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u043c\u0443\u0441\u043e\u0440\u0430 \u043e\u0447\u0438\u0441\u0442\u0438\u043b \u0435\u0435 \u0432\u0441\u0435. \u041f\u0430\u043c\u044f\u0442\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u043b\u044c, \u0435\u0435 \u043d\u0435\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/i3\/ou\/c7\/i3ouc7gdbmc_5ppxr0mejbqvkwk.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e MD5 \u0437\u0430\u043d\u044f\u043b 66 %, \u0442. \u0435. \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0441\u0442\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u0447\u0430\u0441\u0442\u044c. 33 % \u2014 socketRead. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u0430\u043b\u043e\u0447\u043a\u0443 MD5, \u0442\u043e \u043c\u044b \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0440\u043e\u0432\u043d\u043e \u0432 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430. \u041a \u043d\u0430\u0448\u0435\u043c\u0443 \u043e\u0434\u043d\u043e\u043c\u0443 socketRead \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430 MD5.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9m\/fy\/zu\/9mfyzud220dkzp7ajnn5yx0ttiq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 MD5 \u043a\u0430\u043a \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0432\u0440\u0435\u0442. \u0422\u0430\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u043e\u043d \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u0430\u043c\u044f\u0442\u0438. \u041e\u043d \u0435\u0435 \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0435\u0442 \u0434\u043e \u043d\u0443\u043b\u044f, \u043d\u043e \u043e\u043d \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u043e \u0442\u0440\u0435\u0445 \u0440\u0430\u0437. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9j\/mw\/16\/9jmw16wfr6y3fqunutqs2ysxoo4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041e\u0442\u043a\u0430\u0442\u0438\u043c \u044d\u0442\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043d\u0430\u0437\u0430\u0434, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0441\u043d\u043e\u0432\u0430 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/iw\/gx\/0r\/iwgx0r3ifheff9xxspfmuxwmecc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043d\u0430\u0448\u0438 200 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u043d\u043e \u0437\u0430\u0434\u0430\u0434\u0438\u043c \u0441\u0435\u0431\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u2013 \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438 \u0431\u044b\u0441\u0442\u0440\u043e, \u0438 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0432 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u0438? \u0415\u0441\u0442\u044c \u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0432 JMeter? \u0414\u0443\u043c\u0430\u044e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442: wget, curl. \u0418 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e OS Process Sampler \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432 JMeter. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0430\u043a \u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/k2\/m-\/mx\/k2m-mxpnsw_u0v3ll46erhwvscs.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442. \u042d\u0442\u043e \u0434\u043b\u044f Linux, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 wget. \u041d\u0430\u0437\u0432\u0430\u043b \u0435\u0433\u043e wget-download.sh. \u0412 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00aburl\u00bb. \u0418 \u043e\u043d \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u0432\u0435\u0441\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 dev\/null, \u0447\u0442\u043e\u0431\u044b \u0443 \u043c\u0435\u043d\u044f \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0434\u0438\u0441\u043a \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0438\u043b\u0441\u044f. \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c 2-3 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u0435\u0441\u0442\u0430, \u0442\u043e 400-600 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0438 \u0432\u0441\u0435, \u0441\u0442\u0430\u043d\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044f\u043d\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/uh\/hs\/vm\/uhhsvmhn7i-xnkw746wzksza30y.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u0434\u043b\u044f Windows. Wget \u2026 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MinGW. Dev\/null \u0442\u043e\u043b\u044c\u043a\u043e \u0432 Windows \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438\u043d\u0430\u0447\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/2n\/0w\/wb\/2n0wwbcxyqtlvuligdlhbxwzlbs.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Wget \u043c\u043e\u0436\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0438\u0442\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u043c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xt\/vn\/wj\/xtvnwjx2jmm60izwg_puvzz6hy4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043e\u043f\u0446\u0438\u0438 characters per second, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0441\u0442\u044c \u0432 JMeter, \u043d\u043e \u043e\u043d\u0430 \u0442\u0430\u043c \u0437\u0430\u0434\u0430\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0435\u0441\u044c JMeter \u0432 \u0446\u0435\u043b\u043e\u043c, \u0430 Wget \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u044b\u0441\u0442\u0440\u043e, \u0442. \u0435. \u044d\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0435.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xt\/vl\/tj\/xtvltjpetbtmu86xoyio1lbbyue.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438. \u041c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c gzip.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ox\/mf\/0w\/oxmf0wpav-fiudyjjvgbjsaro20.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0434\u0430\u0436\u0435 \u044d\u0442\u043e\u0442 gzip \u043c\u043e\u0436\u0435\u043c \u0440\u0430\u0437\u0436\u0438\u043c\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e gzip. \u0422. \u0435. bash \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0434\u0430\u044e\u0442 \u043d\u0430\u043c \u043f\u043e\u043b\u043d\u0443\u044e \u0441\u0432\u043e\u0431\u043e\u0434\u0443. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0438\u0435\u043d\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/r-\/7m\/9w\/r-7m9wwuaexoyjd37h_iq99ejto.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u043e \u0432 JMeter \u043a\u0430\u043a \u0440\u043e\u0434\u043d\u043e\u0435, \u043d\u0443\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c\u044e. \u042f \u0435\u0439 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f. \u041e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f SampleResult. \u0415\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u0437 PostProcessor, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 BodySize \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c, content-type, \u0432\u0441\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rb\/q2\/sn\/rbq2sniwjxfzhwrco7ir500hqaw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0438\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0442\u043e \u0432 JMeter \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u043d\u043e \u0432\u0441\u0435, \u0447\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 Wget \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 body. \u042f \u043d\u0435 \u0441\u0442\u0430\u043b \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0442\u0435\u043b\u043e \u043e\u0442\u0432\u0435\u0442\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1z\/ya\/f6\/1zyaf62lqdwjkani6yfxa4yoknq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0432\u0441\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438. SampleRusult \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u044f\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1-\/bc\/gh\/1-bcghptzlhv3y1bfqywwnqmzrg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u044d\u0442\u043e\u0442 \u0442\u0435\u0441\u0442 \u0441 wget. \u041e\u043d \u043d\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0431\u0435\u0434\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b: 0 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 2 \u043c\u0438\u043d\u0443\u0442\u044b.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fv\/jf\/7w\/fvjf7wcbjagvol2l9vtzsnyr4gg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0432\u0441\u0435 \u0442\u0440\u0438 \u043d\u0430\u0448\u0438\u0445 \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u0442\u043e: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u2013 5 \u043c\u0438\u043d\u0443\u0442,<\/li>\n<li>\u0412\u043a\u043b\u044e\u0447\u0438\u043b\u0438 \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u2013 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 18 \u043c\u0438\u043d\u0443\u0442, <\/li>\n<li>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 wget \u2013 2 \u043c\u0438\u043d\u0443\u0442\u044b.<\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vy\/0h\/sm\/vy0hsm6ydfzvyv_dttulbsteg20.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e OS Process Sampler + JSR-223 \u0441 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b. \u041e\u043d\u0438 \u043d\u0430\u043c \u0440\u0435\u0448\u0438\u043b\u0438 \u0437\u0430\u0434\u0430\u0447\u0443, \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438. \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 MD5 \u0434\u0430\u0436\u0435 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438 \u0432 7 \u0440\u0430\u0437. \u0425\u043e\u0440\u043e\u0448\u0430\u044f \u0441\u0432\u044f\u0437\u043a\u0430. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9j\/mw\/16\/9jmw16wfr6y3fqunutqs2ysxoo4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041e\u0442\u043a\u0430\u0442\u0438\u043c \u0438 \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430\u0437\u0430\u0434. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/sc\/sd\/7l\/scsd7lxsggbub2kl7aqo-nbp5zc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/b5\/u2\/fw\/b5u2fwfwhkswv_m3vu7uhwnunvu.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439. \u041e\u043d\u0430 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0430, \u043d\u043e \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 JMeter properties. \u041e\u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0439\u0442, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 Sampler \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u0437 \u043e\u0442\u0432\u0435\u0442\u0430. \u0415\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 0. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u0435\u043b \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u044f \u0435\u0433\u043e \u0441\u043a\u0430\u0447\u0430\u043b, \u0442\u043e \u0438 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0431\u0443\u0434\u0443 \u0445\u0440\u0430\u043d\u0438\u0442\u044c. <\/p>\n<p>  <\/p>\n<p>\u0412\u044b\u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0435 \u0432 100, \u0447\u0442\u043e\u0431\u044b \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 100 \u0431\u0430\u0439\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/jn\/o9\/um\/jno9umd_uip1agwhka9r4j_vnjw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0435\u0441\u0442. \u0418 \u044d\u0442\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0431\u0435\u0434\u0430. \u041c\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0434\u043e 1 \u043c\u0438\u043d\u0443\u0442\u044b. \u0421\u044a\u0435\u043b\u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u2013 180 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442. \u0410 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0432\u0441\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c \u0438 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u043b\u043e 500 \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0444\u0430\u0439\u043b.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5z\/pa\/qc\/5zpaqcqnhsshow29tsffjxn6qes.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443, \u0447\u0442\u043e \u0438 \u0440\u0430\u043d\u044c\u0448\u0435, \u0442. \u0435. socketRead. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u044f\u0432\u0438\u0442\u044c \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0435 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043a\u0430\u043a\u0443\u044e \u0436\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044e \u0432\u044b\u0431\u0440\u0430\u0442\u044c, \u043e\u043d\u0438 \u0432\u0441\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u2013 socketRead \u0438 \u0432\u0441\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/8x\/hx\/mq\/8xhxmqsquwp77qqaq1j1u2l9it0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e MD5 hash \u0437\u0430\u043c\u0435\u0434\u043b\u044f\u0435\u0442 \u0442\u0435\u0441\u0442. \u041c\u043e\u0436\u043d\u043e \u0443\u0439\u0442\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438. \u0418, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e wget \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c 2 \u043c\u0438\u043d\u0443\u0442\u044b. \u0418\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u0445\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442\u0430. \u0418 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0442\u0435\u0441\u0442\u0435 \u0443 \u043d\u0430\u0441 \u043e\u043f\u0446\u0438\u0438 JMeter \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0432\u0441\u0435\u0445. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ak\/o6\/99\/ako699beid5rwhankl5rjqjb2nw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u043a-\u0442\u043e \u0441\u043c\u0435\u0448\u0430\u0442\u044c, \u043d\u043e \u0438\u0445 \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u0441\u043c\u0435\u0448\u0430\u0435\u0448\u044c, \u043e\u043d\u0438 \u0432\u0441\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0440\u0430\u0437\u043d\u044b\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e MD5 \u0438 \u0442\u0430\u043a \u0441\u0436\u0438\u043c\u0430\u0435\u0442 \u0442\u0435\u043b\u043e. Wget \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442. \u0410 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0430\u043c\u043e \u043f\u043e \u0441\u0435\u0431\u0435. <\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438, \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0441 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e \u2013 \u044d\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/oc\/ld\/he\/ocldheyzhy66jg4htuzjwchehv8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u2013 \u043a\u0430\u043a \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0444\u0430\u0439\u043b\u044b. \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c, \u043a\u0430\u043a \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u0441\u0442\u0440\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/_q\/pz\/x4\/_qpzx4fnev8ku01xatd9mtg640g.png\"\/><\/p>\n<p>  <\/p>\n<p>\u042f \u0441\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 JMeter \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0448\u0443\u0441\u0442\u0440\u0430\u044f. \u0415\u0435 \u043a\u0430\u043a-\u0442\u043e \u043e\u0441\u043e\u0431\u043e \u0442\u044e\u043d\u0438\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e. \u0413\u043b\u0430\u0432\u043d\u043e\u0435, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u043e\u0439. \u041e\u043d\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Files Upload. \u0418 \u044d\u0442\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u0438\u0434\u043d\u043e \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/pt\/_w\/xk\/pt_wxkjiyhu9hpgo29ysouujbjm.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c \u043d\u0435\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0439 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. \u0417\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0432\u0430\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c HTTP Request, \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u043e\u0442 \u0442\u0430\u043a\u0443\u044e \u0441\u0445\u0435\u043c\u0443. <\/p>\n<p>  <\/p>\n<p>\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043b \u0441\u043f\u043e\u0441\u043e\u0431 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0447\u0435\u0440\u0435\u0437 Parameters. \u042d\u0442\u043e\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u2013 \u0441\u043e\u043b\u043d\u044b\u0448\u043a\u043e. \u0414\u0443\u043c\u0430\u044e, \u044d\u0442\u043e \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u043c\u043d\u043e\u0433\u0438\u043c\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442. <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u044f\u0436\u0435\u043b\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0442\u0435\u043b\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Body Data, \u0433\u0434\u0435 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443. \u041c\u043e\u0436\u0435\u043c \u0442\u0443\u0434\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0418 \u043c\u044b \u0435\u0433\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u0441\u043b\u043e\u043d\u0438\u043a\u043e\u043c. \u041e\u043d \u0442\u0430\u043a\u043e\u0439 \u0442\u044f\u0436\u0435\u043b\u044b\u0439.<\/p>\n<p>  <\/p>\n<p>\u0410 \u0448\u0443\u0441\u0442\u0440\u044b\u0435 \u0438 \u0432\u044b\u043d\u043e\u0441\u043b\u0438\u0432\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u2013 \u044d\u0442\u043e Files Upload. \u042d\u0442\u043e \u2013 \u043b\u043e\u0448\u0430\u0434\u043a\u0430. \u0418 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u2013 \u0435\u0434\u0438\u043d\u043e\u0440\u043e\u0433, \u0435\u0441\u043b\u0438 \u043c\u044b \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u043d\u0435 \u0432\u0441\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u2013 \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443. \u0415\u0441\u043b\u0438 \u043c\u044b \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443, \u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435 \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0430 \u043d\u0435 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/tj\/zj\/j0\/tjzjj01zsuvwext0d4xotfesey8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u043e\u043d\u0438 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. Parameters \u0438 Files Upload \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mo\/i0\/vo\/moi0vo5kvas1tjlo3zrna_dslog.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0410 Files Upload (body data) \u0438 Body Data \u043d\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u043d\u0438 \u0441 \u043a\u0435\u043c-\u043b\u0438\u0431\u043e \u0435\u0449\u0435. \u0412\u043e\u0442 \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u0442\u0435 \u0438\u0445 \u043a\u0430\u043a-\u0442\u043e \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0442\u043e \u0432\u0430\u043c JMeter \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443, \u0442\u0430\u043a \u043e\u043d \u043d\u0435 \u0443\u043c\u0435\u0435\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/vd\/yx\/gd\/vdyxgdng9mw9md_y6dzqnuph0gy.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u043e\u044f\u0442\u044c \u0432 \u043e\u043f\u0446\u0438\u0438 Use multipart\/form-data. \u0415\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 form-data.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-b\/dn\/t0\/-bdnt0yhtkfyryyxncfydpjyp-8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/f8\/jp\/fw\/f8jpfwtueawgiu5hz8qn296lbbo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u0446\u0435\u043b\u0438\u043a\u043e\u043c. \u0418 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u0432\u0441\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2013 \u043d\u0435 \u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0438 \u043e\u0434\u0438\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440. \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u043f\u043e\u043b\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zy\/aw\/tw\/zyawtw1joremnsickvipeybqn9g.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u044f \u0437\u0430\u0445\u043e\u0447\u0443 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c \u00ab\u041c\u0430\u0448\u0430\u00bb, \u0432\u0442\u043e\u0440\u043e\u0439 \u00ab\u0421\u0430\u0448\u0430\u00bb, \u0430 \u0442\u0440\u0435\u0442\u0438\u0439 \u00ab\u041f\u0435\u0442\u044f\u00bb, \u0430 \u0443 \u043c\u0435\u043d\u044f \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b? \u0427\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c? <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/f2\/0t\/km\/f20tkmlisuxqd3iv8oiqcjetstm.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 10 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u043d\u043e\u0441\u0442\u044c? \u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ez\/6y\/zx\/ez6yzxlg7j5b_rhas24srhvp3l4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c 10 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u044d\u0442\u043e JSONs. \u042f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0433\u043e\u0442\u043e\u0432\u043b\u044e \u044d\u0442\u0438 JSONs. \u0418 \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0442\u0430\u043c \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u044f\u043a\u043e\u0440\u044c. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u043e\u043c\u0435\u0440 \u0441\u0447\u0435\u0442\u0430 \u0438\u043b\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438. \u042d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f. <\/p>\n<p>  <\/p>\n<p>\u0423\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u044e \u044d\u0442\u043e \u0432 \u0430\u0440\u0445\u0438\u0432. \u0418 \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0448\u0442\u0443\u043a\u0443. \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u044e \u0430\u0440\u0445\u0438\u0432 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 Sed. \u041e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u044d\u0442\u043e \u0432 100 \u0440\u0430\u0437 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u0447\u0435\u043c \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0430\u043b\u0438 10 \u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u0441\u0442\u0440\u043e\u043a \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Java \u0438\u043b\u0438 \u0447\u0435\u0433\u043e-\u0442\u043e \u0435\u0449\u0435. \u041c\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u043d\u0435 \u0442\u0440\u0430\u0442\u044f \u043f\u0430\u043c\u044f\u0442\u044c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/4u\/ls\/5g\/4uls5g6wl2lgoruf_hgo0cu8uz8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u043e\u0433 \u043f\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0444\u0430\u0439\u043b\u043e\u0432: \u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0432\u043a\u043b\u0430\u0434\u043a\u043e\u0439 Files Upload, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043d\u043e \u0438 \u0442\u0435\u043b\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/0d\/up\/75\/0dup75ti3rwmyubtnae8aaka10q.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0440\u0430\u0442\u043a\u043e \u043f\u0440\u043e\u0431\u0435\u0436\u0438\u043c\u0441\u044f \u043f\u043e \u043d\u0438\u043c. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0443\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043e\u0442\u0432\u0435\u0442, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0445\u043e\u0442\u0435\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041a\u0430\u043a \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0445 PostProsser\u2019\u043e\u0432?<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/iu\/zm\/pj\/iuzmpj-hca-2szhyg-llrm-ojcg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 JMeter. \u0411\u0443\u0434\u0435\u043c \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0438\u0437 \u043d\u0435\u0435 hint \u043a \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kk\/hm\/dy\/kkhmdy3zwu6lkukkk40pwvz-fra.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0435\u0441\u0442 \u043d\u0430 Boundary Extractor. \u042f \u0435\u0433\u043e \u043d\u0430\u0432\u0435\u0441\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0439 JRS223 Sampler, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442, \u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e \u043d\u0435 \u0441\u0430\u0439\u0442 Apache JMeter, \u044d\u0442\u043e\u0442 html-\u043a\u043e\u043d\u0442\u0435\u043d\u0442, \u0430 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439. \u041d\u0430\u0437\u0432\u0430\u043b \u0435\u0435 html-\u043a\u043e\u043d\u0442\u0435\u043d\u0442. \u0418 \u043e\u043d\u0430 \u0432\u043e\u0442 \u0437\u0434\u0435\u0441\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0441\u043e\u0431\u043e\u043c \u043f\u043e\u043b\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0442. \u0435. http-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0435\u0442. \u0427\u0438\u0441\u0442\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Extractor.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/jm\/gi\/3v\/jmgi3v870xh6tvlevuhm3f-uhm8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u043e\u0439 \u0442\u0435\u0441\u0442 \u0435\u0441\u0442\u044c \u0434\u043b\u044f Boundary Extractor, \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/4z\/-p\/e5\/4z-pe5iotehyubsjz6pik8mthdq.png\"\/><\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bx\/hy\/kq\/bxhykqvy4qphpns0-zp3byogcok.png\"\/><\/p>\n<p>  <\/p>\n<p>JSR-223 PostProcessor, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 Boundary Extractor.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ka\/oo\/aq\/kaooaqlssfikw6srzf8oev2ttyy.png\"\/><\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xn\/jh\/lt\/xnjhlt0vvn6coj1dipsyefyqnj8.png\"\/><\/p>\n<p>  <\/p>\n<p>BeanShell PostProcessor, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 Boundary Extractor.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/4d\/c_\/43\/4dc_43an6zvxpi4qz_rovs264ru.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c CSS Extractor.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/eb\/ga\/sd\/ebgasdr6ufqoexnvusjmr72f-ui.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0418 XPath Extractor \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 tolerant parser. \u041e\u0441\u043e\u0431\u0443\u044e \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u0441\u0442\u0430\u0432\u0438\u0448\u044c, \u0438 \u0442\u043e\u0433\u0434\u0430 XPath \u043c\u043e\u0436\u0435\u0442 \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0438 html.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zg\/d7\/my\/zgd7myc7bvxrcowxrlbge0qaaeg.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0421\u0440\u0430\u0432\u043d\u0438\u043c \u0438\u0445. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u0435. <\/p>\n<p>  <\/p>\n<p>Boundary, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0449\u0435\u0442 \u0442\u0435\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0430\u0432\u043e\u0439 \u0438 \u043b\u0435\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435\u0439 \u0432\u0441\u0435\u0445 \u043f\u043e\u0431\u0435\u0434\u0438\u043b \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0431\u043e\u043b\u0435\u0435 55 000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0441 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0432 50 000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u2013 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u0442\u043e\u043c JSR223 \u0438 BeanShell. JSR223 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439.<\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 CSS Selector \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u043b. <\/p>\n<p>  <\/p>\n<p>\u0410 XPath \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u043b \u0441\u043e\u0432\u0441\u0435\u043c. XPath \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kj\/jv\/ft\/kjjvftwbvdzo3dwdnyjjrrvoel4.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041e\u0431\u0449\u0435\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 PostProcessor\u2019\u043e\u0432 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435<\/p>\n<p>  <\/p>\n<p>\u042f \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0440\u0430\u0441\u0441\u0442\u0440\u043e\u0438\u043b\u0441\u044f, \u0447\u0442\u043e CSS Selector \u043f\u0440\u043e\u0438\u0433\u0440\u0430\u043b, \u043d\u043e \u043e\u043d \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u043b\u043e\u0445\u043e\u0439. \u0415\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c, \u043a\u0430\u043a \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f CSS Selector \u0441 \u043d\u0435\u043a\u0438\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u0432\u0435\u0449\u0430\u043c\u0438 \u0432 JMeter, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0441 \u0437\u0430\u043f\u0438\u0441\u044c\u044e \u043b\u043e\u0433\u043e\u0432, \u0442\u043e \u043e\u043d \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0434\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u043b\u043e\u0433\u043e\u0432. \u0410 \u0437\u0430\u043f\u0438\u0441\u044c \u043b\u043e\u0433\u043e\u0432 \u043c\u044b \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 CSS Selector \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u043d\u043e \u043e\u0441\u043e\u0431\u043e \u0442\u0430\u043c \u043d\u0435 \u043d\u0430\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u044f \u043f\u043e 200 CSS Selectors. 3-4 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0438 \u0445\u0432\u0430\u0442\u0438\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/cu\/w5\/ta\/cuw5tad0lh3bzfrekl0a-p9s1sc.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u043e\u0447\u043d\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c tolerant parser \u0438 XPath. \u041d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043a\u0438 \u0438 Boundary Extractor. \u0418\u043b\u0438 CSS Selector, \u043d\u043e \u043f\u043e\u043c\u043d\u044f, \u0447\u0442\u043e \u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u044e \u0446\u0435\u043d\u0443. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u044d\u0442\u043e. PostProcessors \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u0448\u0438\u0432\u0430\u0442\u044c, \u0434\u0440\u0443\u0433 \u043d\u0430 \u0434\u0440\u0443\u0433\u0430 \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0432 \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lp\/44\/q6\/lp44q6idshjfj_jj-3aseod5bvo.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041f\u043e PreProcessors \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u043e\u0442\u043a\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5n\/n8\/ho\/5nn8holswde-ut8kpvoqi_in_rq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0412 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432, \u0433\u0434\u0435 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043b\u044f \u0442\u0435\u043b\u0430 \u0432 \u0432\u0438\u0434\u0435 XML \u0434\u043b\u044f HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b Groovy PreProcessor \u0438 \u043f\u0438\u0441\u0430\u043b \u0442\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SimpleTemplateEngine, \u0445\u043e\u0440\u043e\u0448\u0443\u044e XML.<\/p>\n<p>  <\/p>\n<p>\u0412\u044b\u0431\u043e\u0440 \u043f\u0430\u043b \u043d\u0430 SimpleTemplateEngine \u0438\u0437 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 XML, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044f \u043f\u043e\u043f\u0430\u043b \u0432 \u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u043e\u0432\u0443\u0448\u043a\u0443. \u041c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e SimpleTemplateEngine \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0431\u0443\u0434\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u044b\u043c, \u0430 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f XML.MarkupBuilder \u2013 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0438, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043e\u043d\u0438 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p>  <\/p>\n<p>\u042f \u0442\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043b, \u043a\u0430\u043a \u0441\u0443\u043c\u0435\u043b \u0443\u0441\u043a\u043e\u0440\u0438\u043b. \u0418 \u0436\u0438\u043b \u0441\u0435\u0431\u0435 \u043d\u0435 \u0442\u0443\u0436\u0438\u043b. \u0410 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u0438\u0448\u043b\u0438 \u0440\u0435\u0431\u044f\u0442\u0430, \u043c\u043e\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438, \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438 \u043d\u0430 XML.MarkupBuilder, \u0438 \u0432\u0435\u0441\u044c \u0442\u0435\u0441\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u043b\u0441\u044f \u0432 5 \u0440\u0430\u0437. \u0412\u0441\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u043a\u0438\u043d\u0443\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u043b\u0435\u0442\u0430\u043b\u043e. <\/p>\n<p>  <\/p>\n<p>XML.MarkupBuilder \u2013 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u043b\u0448\u0435\u0431\u0435\u043d. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c XML, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0438\u0440\u0443\u044f \u0432\u0441\u0435, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0432 \u0446\u0438\u043a\u043b\u0435 \u043d\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0442\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0437\u043b\u043e\u0432 \u0432 XML. \u0418 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u044d\u0442\u0438\u0445 \u043f\u043e\u0434\u0443\u0437\u043b\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445. Groovy \u043d\u0430\u043c \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0448\u0438\u0440\u043e\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  <\/p>\n<p>\u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043c\u0438\u043d\u0443\u0441 \u0432 \u0442\u043e\u043c (\u043e\u043d \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u0432\u0430\u0436\u043d\u044b\u0439), \u0447\u0442\u043e \u0432 Groove \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u0412\u043e\u0442 \u0437\u0434\u0435\u0441\u044c \u0432 \u043a\u043e\u043d\u0446\u0435 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u0432\u043e\u0439\u043d\u044b\u0435, \u043d\u043e \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0440\u043e\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u044b\u0433\u0440\u0430\u043b\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ci\/y5\/as\/ciy5asa0wmkoy88rexnxvq-vuhe.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c XML \u0432 PreProcessors, \u0442\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 MarkupBuilder. \u0418 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430 \u043d\u0435\u0433\u043e \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 Groovy \u0445\u043e\u0440\u043e\u0448\u0430\u044f. \u041e\u043d \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0439. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/v2\/li\/ky\/v2likyaltwkujgkmdp41fowxnf0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438 4 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u0430. \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u043e\u0440\u0443\u0436\u0438\u0435. <\/p>\n<p>  <\/p>\n<p>\u0421\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u043e\u0440\u0443\u0436\u0438\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442: <\/p>\n<p>  <\/p>\n<ul>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043d\u0430 JMeter \u0431\u044b\u0441\u0442\u0440\u043e, <\/li>\n<li>\u0411\u044b\u0441\u0442\u0440\u043e \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043d\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0432\u0435\u0440\u0441\u0438\u044f\u0445, <\/li>\n<li>\u0411\u044b\u0441\u0442\u0440\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u043e\u0432, \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044e. \u042f \u0441\u0434\u0435\u043b\u0430\u043b, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0431\u043e\u043b\u0435\u0435 100 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u0432. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b 100 \u043e\u0442\u0447\u0435\u0442\u043e\u0432, \u0437\u0430\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043b \u0432\u0441\u0435 \u044d\u0442\u043e, \u0432\u044b\u0431\u0440\u0430\u043b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0435. \u042f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043d\u0430 \u044d\u0442\u043e \u043d\u0435 10 \u043b\u0435\u0442 \u0436\u0438\u0437\u043d\u0438. <\/li>\n<li>\u0418 \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u043d\u0438 \u043e\u0434\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u0433\u0438\u0442\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0430\u043d\u0446\u0438\u044e, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u0438\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u0432\u0435\u0440\u0441\u0438\u044f \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043a\u043e\u043c\u043c\u0438\u0442\u0430. <\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/77\/0h\/tq\/770htqlatcykwh-f8euo8cphyfm.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u043e\u0440\u0443\u0436\u0438\u0435? \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u043a\u0430 \u0438\u0437 \u0442\u0440\u0435\u0445 \u0431\u043e\u0433\u0430\u0442\u044b\u0440\u0435\u0439: Maven, jmeter-maven-plugin \u0438 IntelliJ IDEA. \u041e\u043d\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b\u0438 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u043c\u043e\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0440\u0430\u0437 \u0432 10. <\/p>\n<p>  <\/p>\n<p>\u0412 \u0447\u0435\u043c \u0438\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e?<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gf\/b1\/or\/gfb1or0_towgl4ybgb_pxatv0ly.png\"\/><\/p>\n<p>  <\/p>\n<p>IntelliJ IDEA \u0438\u043c\u0435\u0435\u0442 \u043a\u043e\u043b\u043e\u0441\u0441\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439. \u0418 \u043e\u0434\u043d\u043e \u0438\u0437 \u043d\u0438\u0445 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f JMeter. \u041e\u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441.<\/p>\n<p>  <\/p>\n<p>\u041a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0444\u0438\u0448\u043a\u0438 \u0432 IDEA? \u0422\u0430\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442, \u0437\u0430\u043c\u0435\u043d\u044f\u0442\u044c \u0435\u0433\u043e, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c refactoring. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u043c\u044b \u0432\u0434\u0440\u0443\u0433 \u043e\u0448\u0438\u0431\u043b\u0438\u0441\u044c \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, html-content \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0432 html, \u0442\u043e \u043c\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0434\u0435\u043b\u0430\u0435\u043c refactoring. \u0418 \u043e\u043d \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u0445, \u0432\u043e \u0432\u0441\u0435\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f. \u041c\u044b \u043d\u0438\u0433\u0434\u0435 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0431\u0443\u0434\u0435\u043c. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b refactoring \u0432 \u0441\u043b\u043e\u0436\u043d\u043e\u043c JMeter-\u0441\u043a\u0440\u0438\u043f\u0442\u0435, \u0442\u043e \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e. <\/p>\n<p>  <\/p>\n<p>\u0418, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 IDEA \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 git. \u041e\u043d\u0430 \u0432\u0441\u0435 \u0437\u0430\u0433\u0438\u0442\u0443\u0435\u0442. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6f\/aq\/xm\/6faqxmum6euxqizuhxc0wket4a8.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d \u0432 JMeter, \u0442\u043e \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e \u043c\u044b \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c? \u041c\u044b \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d, \u043a\u043b\u0430\u0434\u0435\u043c \u0435\u0433\u043e \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443. \u0418 \u043f\u043e\u0442\u043e\u043c \u0442\u0430\u0441\u043a\u0430\u0435\u043c \u044d\u0442\u0443 \u043f\u0430\u043f\u043e\u0447\u043a\u0443 \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043a\u0430\u043c\u0438 \u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c\u0438 \u043e\u0442 \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u043a \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c. \u042d\u0442\u043e \u043f\u043b\u043e\u0445\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/s6\/wk\/ys\/s6wkyslycjzdyxa7qjiporotahw.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u044f\u0449\u043d\u043e \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e jmeter-maven-plugin \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0448\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430, \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. <\/p>\n<p>  <\/p>\n<p>\u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0438 \u043b\u044e\u0431\u044b\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u044f\u0432\u043d\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 testPlanLibraries. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/95\/tt\/q4\/95ttq4n3yws9hear_jw25szkcjq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041b\u0438\u0431\u043e \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0435 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0435\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0441\u043a\u0430\u0437\u0430\u0442\u044c: \u00abMaven, \u043d\u0430\u0439\u0434\u0438 \u0438 \u0441\u043a\u0430\u0447\u0430\u0439 \u0441\u0430\u043c\u00bb. \u0418 \u0432\u0441\u0435 \u0441\u043a\u0430\u0447\u0430\u0435\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/c5\/wp\/fi\/c5wpfid6l-uchqperniedy8spas.png\"\/><\/p>\n<p>  <\/p>\n<p>\u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Maven \u0437\u0430 \u0441\u0447\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 \u0438 Properties \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442, \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f JMeter, \u043d\u0435 \u043c\u0435\u043d\u044f\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u0432 \u043a\u043e\u0434\u0435, \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u0435, \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435. <\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u044f \u043c\u0435\u043d\u044f\u043b \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0439, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u0430\u043c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0442\u043e\u0436\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438. \u0422. \u0435. \u043f\u0430\u0440\u0430 \u043a\u043b\u0438\u043a\u043e\u0432 \u043c\u044b\u0448\u044c\u044e \u0438 \u043d\u043e\u0432\u044b\u0439 \u0442\u0435\u0441\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/8s\/ie\/o0\/8sieo0faebckz55ibclkrfooh1w.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0435\u0441\u0442 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u043a\u0443\u0447\u0438 Heap, \u0442\u043e \u044f \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u043f\u043b\u044e\u0441 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0444\u0438\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b \u043c\u043d\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043b \u0440\u0430\u0437\u043c\u0435\u0440 Heap.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ce\/7n\/g0\/ce7ng0qzzaee1bfdbrur78mk8is.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0431\u044b \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0442\u043e \u0435\u0449\u0435 \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 SJK, \u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0433\u043e\u0442\u043e\u0432\u043e. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/g2\/qc\/hs\/g2qchsp3_4px_gudpzx8cp0nq4e.png\"\/><\/p>\n<p>  <\/p>\n<p>Java Flight Recorder \u2013 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435. \u0417\u0434\u0435\u0441\u044c \u044f \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0444\u0438\u043b\u044c.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/y2\/jj\/3-\/y2jj3-bo0urqmpkynq2saxtwhxg.png\"\/><\/p>\n<p>  <\/p>\n<p>JVisual VM \u2013 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0442\u043e\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0444\u0438\u043b\u044c. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zz\/ui\/yu\/zzuiyuwarbjgwjehxcxyqw8j8kk.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/bit.ly\/jmeter-bench\">https:\/\/bit.ly\/jmeter-bench<\/a><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/github.com\/polarnik\/Apache.JMeter.Benchmark.NG\">https:\/\/github.com\/polarnik\/Apache.JMeter.Benchmark.NG<\/a><\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u044d\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d \u043d\u0430 GitHub. \u0422\u0430\u043c \u0431\u043e\u043b\u0435\u0435 20 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u043a\u043e \u0432\u0441\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430\u043c \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438. \u0415\u0441\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044b, \u043a\u0430\u043a \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0432 \u0432\u0438\u0434\u0435 \u043e\u043f\u0446\u0438\u0439 jmeter-maven-plugin, \u043a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c. \u0415\u0441\u0442\u044c \u0442\u0430\u043c \u0436\u0435 \u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f. <\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/j1\/bz\/lh\/j1bzlhc3ti3nahut2mnnff_sukq.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u044f \u043c\u043e\u0433\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0440\u0435\u0437\u044e\u043c\u0438\u0440\u0443\u044f \u0432\u0441\u0435 \u0441\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435? <\/p>\n<p>  <\/p>\n<p>\u041c\u044b \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0435\u0449\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0421\u043a\u0440\u0438\u043f\u0442\u044b. \u041e\u043d\u0438 \u0434\u0430\u044e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0431\u043e\u043b\u044c\u0448\u0438\u0439 boost \u0438\u043d\u043e\u0433\u0434\u0430. <\/li>\n<li>\u0410 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JMeter. <\/li>\n<li>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0430\u044e\u0442 \u043c\u0435\u043d\u044c\u0448\u0438\u0439 boost.<\/li>\n<li>\u0410 \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u043e\u043b\u0435\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439, \u0431\u043e\u043b\u0435\u0435 \u0448\u0443\u0441\u0442\u0440\u043e\u0439, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u0432\u044f\u0437\u043a\u0443 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432: Maven, jmeter-maven-plugin, IntelliJ IDEA. \u0418 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0432 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0430\u0432\u043e\u043a, \u0431\u0443\u0434\u0435\u0442\u0435 \u0431\u043e\u043b\u0435\u0435 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u044b. <\/li>\n<\/ul>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xa\/cd\/ja\/xacdja69gigsxox5ai_2kjrvwz0.png\"\/><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043b\u0438\u0447\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430: <a href=\"https:\/\/t.me\/qa_load\">https:\/\/t.me\/qa_load<\/a>, \u0433\u0434\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 300 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043f\u0438\u0448\u0443\u0442 \u0438 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443. \u0417\u0430\u0445\u043e\u0434\u0438\u0442\u0435, \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435\u0441\u044c, \u0431\u0443\u0434\u0443 \u0440\u0430\u0434!<\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441\u044b<\/p>\n<p>  <\/p>\n<p><em>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0434\u043e\u043a\u043b\u0430\u0434! \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u0433\u043b\u0443\u043f\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0431\u044b\u043b \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u0441\u043b\u0430\u0439\u0434\u043e\u0432. \u0417\u0430\u0447\u0435\u043c \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 JMeter? \u041e\u0434\u043d\u0430 \u0438\u0437 \u043c\u0435\u0442\u0440\u0438\u043a \u2013 \u044d\u0442\u043e throughput, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043e\u043d \u0432\u044b\u0434\u0430\u0435\u0442. \u0418 \u0443 \u0432\u0430\u0441 \u0431\u044b\u043b\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e throughput, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0432\u044b \u043d\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0435 \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u0438\u0441\u043a\u0430\u043b\u0438 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c, \u043d\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u0438\u043b\u0438 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0431\u044b\u043b\u0430?<\/em><\/p>\n<p>  <\/p>\n<p>\u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043e\u043f\u0440\u043e\u0441! \u0422\u0443\u0442 \u0446\u0435\u043b\u044b\u0439 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0439, \u043e\u043d\u0438 \u043d\u0435 \u043d\u0430 \u043e\u0434\u0438\u043d \u0447\u0430\u0441. \u041d\u043e \u0432 \u043e\u0431\u0449\u0435\u043c \u0438 \u0446\u0435\u043b\u043e\u043c \u0442\u0430\u043a: \u043f\u043e\u043c\u043e\u0433\u0430\u044f \u0440\u0435\u0431\u044f\u0442\u0430\u043c \u0432 \u0447\u0430\u0442\u0438\u043a\u0430\u0445, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u0438 \u043b\u0438\u0447\u043d\u043e\u043c \u043e\u0431\u0449\u0435\u043d\u0438\u0438, \u044f \u0441\u043b\u044b\u0448\u0430\u043b, \u0447\u0442\u043e \u043e\u043d\u0438 \u0436\u0430\u043b\u0443\u044e\u0442\u0441\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e JMeter \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442. \u041e\u043d\u0438 \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b\u0438: \u00ab\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c?\u00bb. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0431\u044b\u043b\u0438 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u0435. <\/p>\n<p>  <\/p>\n<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u043a\u0430\u0441\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0432\u0435\u0440\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442. \u0435. \u0441\u0434\u0435\u043b\u0430\u043b \u0435\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0438\u0436\u0438\u043c\u044b\u043c, \u043d\u043e \u0445\u043e\u0447\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u0443 \u043d\u0435\u0433\u043e \u0431\u044b\u043b\u043e \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.<\/p>\n<p>  <\/p>\n<p>\u0414\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0447\u0438\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435, \u0447\u0442\u043e \u043a\u0430\u043a-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0441\u043a\u043e\u043c\u043f\u043e\u043d\u043e\u0432\u0430\u043d\u043e \u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434, \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u0438. \u0421 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c\u0438 \u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f \u0441\u0430\u043c. <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043a\u0430 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0435 \u0442\u0435\u0441\u0442\u044b \u0440\u0430\u0437\u043e\u0432\u043e, \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u043e \u0438 \u043d\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u044d\u0442\u043e \u043d\u0430 \u043f\u043e\u0442\u043e\u043a, \u0432\u0430\u043c \u043e\u0441\u043e\u0431\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u043d\u0438 \u0448\u0443\u0441\u0442\u0440\u044b\u0435 \u0438 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u044e\u0442. \u041d\u043e \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b \u0437\u0430\u0445\u043e\u0442\u0435\u043b\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 build \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0439 \u0442\u0435\u0441\u0442, \u0432\u0430\u043c \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b pool \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u0441\u0442\u0430\u043d\u0446\u0438\u0439 \u0431\u044b\u043b \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0442\u043e\u0431\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043e\u043d \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435. \u0418 \u043d\u0435 \u0447\u0442\u043e\u0431\u044b JMeter \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b, \u0430, \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430. <\/p>\n<p>  <\/p>\n<p>\u0418 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u0445 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0440\u0430\u0437\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f: 1,5 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043d\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435, 7 \u0441\u0435\u043a\u0443\u043d\u0434, 5 \u0441\u0435\u043a\u0443\u043d\u0434 \u2013 \u044d\u0442\u043e \u0436\u0435 \u0432\u0430\u0436\u043d\u043e. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u0445 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e-\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u0418 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c. <\/p>\n<p>  <\/p>\n<p>\u0418 \u0438\u0437 \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0431\u044f\u0442\u0430 \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e JMeter \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442, \u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u044d\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0445, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f. <\/p>\n<p>  <\/p>\n<p><em>\u0412\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u043f\u0440\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u043a\u0430\u043a-\u0442\u043e \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c. \u042d\u0442\u043e \u043a\u0430\u0441\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e Linux?<\/em><\/p>\n<p>  <\/p>\n<p>\u0414\u0430, Linux.<\/p>\n<p>  <\/p>\n<p><em>\u0410 \u0432 Windows \u0435\u0441\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435?<\/em><\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0432 Windows, \u0442\u043e \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0443\u0442\u0435\u043c. \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0432 Windows, \u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0438 \u043f\u043e\u0438\u0441\u043a\u0438 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 \u0441\u043b\u0443\u0436\u0431\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438, \u0433\u0434\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u043b\u044c\u0437\u044f. <\/p>\n<p>  <\/p>\n<p>\u041d\u043e \u0447\u0442\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e? \u0427\u0435\u043c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435? \u042d\u0442\u043e IP-\u0430\u0434\u0440\u0435\u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430, IP-\u0430\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043f\u043e\u0440\u0442\u044b. \u0415\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043a\u0430\u043a-\u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u043f\u043e\u0440\u0442\u043e\u0432, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u043e \u043c\u044b, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u043c\u043e\u0436\u0435\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0422. \u0435. \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430 \u0434\u0432\u0430 IP, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0435 \u0432 local host 5555, \u0430 \u0432 local host \u0438 \u0435\u0449\u0435 \u043a\u0443\u0434\u0430-\u0442\u043e. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430\u0448 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u0441\u044f \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412 \u0441\u0442\u0430\u0440\u043e\u043c JMeter \u0435\u0449\u0435 \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u0430\u044f \u043e\u043f\u0446\u0438\u044f, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043a\u043b\u0438\u0435\u043d\u0442 \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 IP. \u0418 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d IP \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0435 \u0437\u0430\u043b\u0430\u0437\u0438\u0442\u044c \u043d\u0438 \u0432 \u043e\u0434\u043d\u0443 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0442\u0435\u0441\u0442 \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u0445-\u0447\u0435\u0442\u044b\u0440\u0435\u0445-\u043f\u044f\u0442\u0438 \u0430\u0434\u0440\u0435\u0441\u043e\u0432. \u0412 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e \u0443\u0434\u0430\u043b\u0438\u043b\u0438. \u042d\u0442\u043e \u043a\u0430\u043a-\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0438\u043d\u0430\u0447\u0435. <\/p>\n<p>  <\/p>\n<p>\u042f \u0443\u0436\u0435 \u0441 Windows, \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043d\u0430 Linux. \u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u0445 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a Windows, \u043a\u043e\u0433\u0434\u0430 \u0438\u0434\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043d\u043e \u0442\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0438\u043d\u0442\u0435\u043d\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0437\u0430\u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0449\u0438.<\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/518702\/\"> https:\/\/habr.com\/ru\/post\/518702\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/518702\/\">\n<h4 id=\"vyacheslav-smirnov--uskoryaem-apache-jmeter\">\u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0421\u043c\u0438\u0440\u043d\u043e\u0432 \u2014 \u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c Apache JMeter<\/h4>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lz\/rp\/v9\/lzrpv9iyxgiwpbbd3ksu0-geabc.png\"\/><\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/jmeter.apache.org\/\">Apache JMeter<\/a> \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u043d\u043e \u043d\u0435\u0447\u0430\u0441\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0443\u0434\u0435\u043b\u044f\u044e\u0442 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0430\u043c\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044b \u043a \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e-\u043d\u043e\u0432\u043e\u043c\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 JMeter.<\/p>\n<p>  <\/p>\n<p>Apache JMeter \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439. \u041e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 Apache JMeter \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0432\u0430\u0436\u043d\u044b\u043c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u0418 \u0445\u043e\u0440\u043e\u0448\u043e \u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0440\u0435\u0439\u0442\u0438\u043d\u0433 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 Apache JMeter \u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u043b\u044c\u0437\u0443\u044f\u0441\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u0430\u043a Java Flight Recorder, jVisualVM, SJK, \u0438\u043c\u0435\u044f \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u0435\u0441\u0442\u044b \u0438 \u0432\u0437\u044f\u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u043c\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043e\u0442\u0447\u0451\u0442 \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u043a\u043b\u0430\u0434 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u0430\u043c \u043f\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c Apache JMeter, \u043a\u0430\u043a \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c, \u0442\u0430\u043a \u0438 \u043e\u043f\u044b\u0442\u043d\u044b\u043c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u043c JVM\/JDK \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u043a\u043e\u0434\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u042f \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c Apache JMeter.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/me\/uv\/l4\/meuvl4an0gkyvtzlollq3qcpyp0.png\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-309803","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=309803"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309803\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=309803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=309803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=309803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}