{"id":389308,"date":"2024-06-29T08:31:08","date_gmt":"2024-06-29T08:31:08","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=389308"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=389308","title":{"rendered":"<span>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 php-fpm, nginx-unit \u0438 laravel-octane<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 laravel. \u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u043e\u0438 \u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b, \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0443\u044e \u0438\u0441\u0442\u0438\u043d\u0443.<\/p>\n<p>\u0421\u0430\u043c \u044f \u0434\u0430\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 nginx-unit (+ lumen), \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u0432\u0438\u0436\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 php-fpm. \u041d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 nginx-unit, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 &#8212; &#171;\u0430 \u0447\u0435\u043c \u043e\u043d \u043b\u0443\u0447\u0448\u0435?&#187;. \u041f\u043e\u0438\u0441\u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0434\u0430\u043b \u043c\u0430\u043b\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0438 \u043c\u0430\u043b\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 \u0437\u0430\u0440\u0443\u0431\u0435\u0436\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u0430\u0445, \u0430 \u0442\u0430\u043a \u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/431818\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442 2019 \u0433\u043e\u0434\u0430 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435<\/a>, \u0433\u0434\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 symfony. \u041d\u043e, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, php \u0438 nginx-unit \u0443\u0436\u0435 \u0443\u0448\u043b\u0438 \u0434\u0430\u043b\u0435\u043a\u043e \u0432\u043f\u0435\u0440\u0435\u0434 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u043f\u043e\u0441\u043b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u0430 \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 laravel \u0438 lumen. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435<\/h2>\n<p><strong>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p>CPU: AMD Ryzen 9 5900X 12-Core<\/p>\n<\/li>\n<li>\n<p>RAM: DDR4 4000 MHz 32GiB x2<\/p>\n<\/li>\n<li>\n<p>SSD: Samsung SSD 980 PRO 500GB nvme<\/p>\n<\/li>\n<li>\n<p>OS: xubuntu 20.04<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p>Laravel 8.69.0<\/p>\n<p>Laravel \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0434\u043b\u044f php. \u0418\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u0432 \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435 \u0441\u0440\u043e\u043a\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u0438\u0431\u043e\u043a, \u0438 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 1 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0440\u043e\u0432\u043d\u043e \u043a\u0430\u043a \u0438 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0437\u0434\u0435\u0441\u044c \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0438 \u043c\u0438\u043d\u0443\u0441 &#8212; \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0435 \u0438 \u043a\u0443\u0447\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0433\u043e\u0432\u043d\u043e\u043a\u043e\u0434\u0430, \u0434\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0442\u0435\u0447\u0435\u043a \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<\/li>\n<li>\n<p>Lumen 8.3.1<\/p>\n<p>\u041e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Laravel, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 api-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412 \u0447\u0430\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0432\u0441\u0435 \u0441\u0430\u043c\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Laravel, \u0430 \u0442\u043e, \u0447\u0442\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0430\u0441\u0430\u0434\u044b), \u0443\u0440\u0435\u0437\u0430\u043d\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043d \u0447\u0435\u043c Laravel, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u043d\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u044b\u0433\u043e\u0434\u043d\u043e. \u041a\u0430\u043a \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0431\u044b\u0432\u0430\u0435\u0442, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442. \u0414\u043b\u044f \u043e\u0434\u043d\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c laravel, \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 lumen, \u0434\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0438\u0445 php \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u0432\u043e\u0432\u0441\u0435.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0435\u0431 \u0441\u0435\u0440\u0432\u0435\u0440\u044b:<\/strong><\/p>\n<ul>\n<li>\n<p>Php-fpm<\/p>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 php \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>Nginx unit<\/p>\n<p>\u0412\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 nginx. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>Laravel-octane<\/p>\n<p>\u0421\u0442\u0440\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e \u043d\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u043f\u0430\u043a\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b laravel. \u0410 \u0432\u043e\u0442 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 Swoole \u0438\u043b\u0438 RoadRunner . \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435, \u0434\u0430\u043b\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043d\u0435 \u0440\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u044f php \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445:<\/strong> 8.0.12<\/p>\n<p><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/yandex.ru\/dev\/tank\/\" rel=\"noopener noreferrer nofollow\">Yandex tank <\/a>\u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u0439 \u0441\u0432\u0435\u0436\u0438\u0439 \u0438\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 docker-\u043e\u0431\u0440\u0430\u0437.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.influxdata.com\/time-series-platform\/telegraf\/\" rel=\"noopener noreferrer nofollow\">Telegraf<\/a> (\u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 yandex tank) \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/overload.yandex.net\" rel=\"noopener noreferrer nofollow\">Overload<\/a> (\u0442\u0430\u043a \u0436\u0435 \u0438\u0437 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 yandex tank) \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h2>\n<p><strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/strong><\/p>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e. \u041a\u044d\u0448 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 laravel\/lumen (\u0442\u0430\u043a\u0438\u0445, \u043a\u0430\u043a \u0440\u043e\u0443\u0442\u0435\u0440 \u0438 \u0442.\u043f.), \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043a\u044d\u0448\u0430 \u043d\u0435\u0442. \u0423 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u043a\u0432\u0435\u0441\u0442, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 json \u0440\u0435\u0441\u043f\u043e\u043d\u0441, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430:<\/p>\n<pre><code>{     \"app_env\": \"prod\",     \"type\": \"unit-lumen\",     \"number\": 1527706674,     \"headers\": {         \"accept-language\": [             \"ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7\"         ],         \"accept-encoding\": [             \"gzip, deflate\"         ],         \"accept\": [             \"text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/avif,image\\\/webp,image\\\/apng,*\\\/*;q=0.8,application\\\/signed-exchange;v=b3;q=0.9\"         ],         \"user-agent\": [             \"Mozilla\\\/5.0 (X11; Linux x86_64) AppleWebKit\\\/537.36 (KHTML, like Gecko) Chrome\\\/93.0.4577.99 Safari\\\/537.36\"         ],         \"upgrade-insecure-requests\": [             \"1\"         ],         \"connection\": [             \"keep-alive\"         ],         \"host\": [             \"10.100.9.3\"         ],         \"content-length\": [             \"\"         ],         \"content-type\": [             \"\"         ]     } }<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432 docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445. \u0412\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 php.ini, \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438:<\/p>\n<pre><code>upload_max_filesize = 50M post_max_size = 50M opcache.enable=1 opcache.interned_strings_buffer=64 opcache.max_accelerated_files=100000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_wasted_percentage=10 apc.enable_cli=1 memory_limit=256M<\/code><\/pre>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f php-fpm \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 nginx, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 php-fpm \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b FastCGI. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 nginx:1.19.6-alpine.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f nginx<\/summary>\n<div class=\"spoiler__content\">\n<p>nginx.conf<\/p>\n<pre><code>user  nginx; worker_processes  auto;  error_log  \/var\/log\/nginx\/error.log warn; pid        \/var\/run\/nginx.pid;   events {     worker_connections  2048; }   http {     include       \/etc\/nginx\/mime.types;     default_type  application\/octet-stream;      log_format  main  '$remote_addr - $remote_user [$time_local] \"$request\" '                       '$status $body_bytes_sent \"$http_referer\" '                       '\"$http_user_agent\" \"$http_x_forwarded_for\"';      access_log  \/var\/log\/nginx\/access.log  main;      sendfile       on;     tcp_nopush     on;     resolver_timeout 10s;     server_tokens off;     keepalive_timeout 3;     reset_timedout_connection on;     client_body_timeout 2;     send_timeout 1;     server_names_hash_bucket_size 128;     client_max_body_size 32m;     proxy_buffers 4 512k;     proxy_buffer_size 256k;     proxy_busy_buffers_size 512k;      gzip on;     gzip_comp_level 9;     gzip_disable \"msie6\";     gzip_types text\/plain text\/css application\/json application\/x-javascript text\/xml application\/xml application\/xml+rss text\/javascript application\/javascript image\/svg+xml;      include \/etc\/nginx\/conf.d\/*.conf; }<\/code><\/pre>\n<p>default.conf<\/p>\n<pre><code>server {     listen       80;     server_name  localhost;     error_page   500 502 503 504  \/50x.html;     location = \/50x.html {         root   \/usr\/share\/nginx\/html;     }      location \/ {         try_files $uri \/index.php$is_args$args;     }      location ~ ^\/index\\.php(\/|$) {         fastcgi_pass 10.100.9.100:9000;         fastcgi_split_path_info ^(.+\\.php)(\/.*)$;         include fastcgi_params;         fastcgi_param SCRIPT_FILENAME \/var\/www\/public\/$fastcgi_script_name;     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p><strong>\u041f\u043e\u0434\u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u043a\u0440\u043e\u043b\u0438\u043a\u0438, \u043e\u043d\u0438 \u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b<\/strong><\/p>\n<p>1. <strong>nginx + php-fpm + laravel<\/strong><\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p><strong>Php-fpm<\/strong>: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 php:8.0.12-fpm<\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f php.ini:<\/p>\n<pre><code>memory_limit=512M pm = static pm.max_children = 100 pm.max_requests = 1000<\/code><\/pre>\n<p>\u0422\u0443\u0442 \u0441\u0440\u0430\u0437\u0443 \u0441\u0442\u043e\u0438\u0442 \u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f: \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 16 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0434\u0435\u0440 (\u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438\u0436\u0435), \u043d\u043e \u0441 php-fpm \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432.<\/p>\n<\/div>\n<\/details>\n<p>2. <strong>nginx + php-fpm + lumen<\/strong><\/p>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 &#171;nginx + php-fpm + laravel&#187;<\/p>\n<p><strong>3. nginx-unit + laravel<\/strong><\/p>\n<p>\u0422\u0430\u043a \u0432\u044b\u0448\u043b\u043e, \u0447\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u043c \u0440\u0430\u043d\u0435\u0435 \u044f \u0443\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u043b <a href=\"https:\/\/hub.docker.com\/r\/strayker\/nginx-unit-php8.0\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 nginx-unit \u0434\u043b\u044f php8<\/a>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0445 \u043c\u043e\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u0435 \u0434\u043e\u043b\u0433\u043e \u0434\u0443\u043c\u0430\u044f, \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0443, \u0447\u0443\u0442\u044c \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0432 \u043f\u043e\u0434 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u0431\u0430\u0437\u0435 ubuntu:hirsute, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441 apline \u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0434\u0440\u0443\u0436\u0443, \u0434\u0430 \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u0433\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043d\u0438\u043c \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0441\u0431\u043e\u0440\u043a\u0430 \u0437\u0434\u0435\u0441\u044c \u0438 \u0441\u0435\u0439\u0447\u0430\u0441, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043e\u043d\u0430 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u0440\u043e\u0434\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u0425\u043e\u0442\u044f, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0438 \u0434\u043e\u0439\u0442\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b nginx-unit:<\/p>\n<pre><code>{   \"listeners\": {     \"*:80\": {       \"pass\": \"routes\"     }   },   \"routes\": [     {       \"match\": {         \"uri\": [           \"*.manifest\",           \"*.appcache\",           \"*.html\",           \"*.json\",           \"*.rss\",           \"*.atom\",           \"*.jpg\",           \"*.jpeg\",           \"*.gif\",           \"*.png\",           \"*.ico\",           \"*.cur\",           \"*.gz\",           \"*.svg\",           \"*.svgz\",           \"*.mp4\",           \"*.ogg\",           \"*.ogv\",           \"*.webm\",           \"*.htc\",           \"*.css\",           \"*.js\",           \"*.ttf\",           \"*.ttc\",           \"*.otf\",           \"*.eot\",           \"*.woff\",           \"*.woff2\",           \"\/robot.txt\"         ]       },       \"action\": {         \"share\": \"\/var\/www\/public\"       }     },     {       \"action\": {         \"pass\": \"applications\/php\"       }     }   ],   \"applications\": {     \"php\": {       \"type\": \"php 8.0\",       \"limits\": {         \"requests\": 1000,         \"timeout\": 60       },       \"processes\": {         \"max\": 16,         \"spare\": 16,         \"idle_timeout\": 30       },       \"user\": \"www-data\",       \"group\": \"www-data\",       \"working_directory\": \"\/var\/www\/\",       \"root\": \"\/var\/www\/public\",       \"script\": \"index.php\",       \"index\": \"index.php\"     }   },   \"access_log\": \"\/dev\/stdout\" }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>4. <strong>nginx-unit + lumen<\/strong><\/p>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 &#171;nginx-unit + laravel&#187;<\/p>\n<p>5. <strong>laravel-octane (swoole) + laravel<\/strong><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c octane \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e <a href=\"https:\/\/twitter.com\/taylorotwell\/status\/1441101127496323080\" rel=\"noopener noreferrer nofollow\">\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 (\u0430\u0432\u0442\u043e\u0440\u0430 laravel) \u0432 \u0442\u0432\u0438\u0442\u0442\u0435\u0440\u0435<\/a>. \u041c\u0435\u043d\u044f \u0441\u043c\u0443\u0442\u0438\u043b\u0438 \u0435\u0433\u043e \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f &#171;\u043e\u043a\u0442\u0430\u043d \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043b\u044e\u043c\u0435\u043d\u0430&#187; \u0438 &#171;\u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c&#187;. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043a \u0442\u0435\u0441\u0442\u0430\u043c \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043d\u0430\u0441\u043a\u043e\u0440\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 laravel-octane, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 swoole.<\/p>\n<p>Laravel-octane \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u043c\u0438\u043c\u043e swoole \u0435\u0449\u0435 \u0438 roadranner, \u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0435\u0433\u043e. \u041d\u043e \u043a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e, \u043c\u043d\u0435 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0430 \u043a\u043e\u0441\u0442\u044b\u043b\u044f\u0445 \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u043e\u043a\u0435\u0440\u0430 (\u0435\u0441\u043b\u0438 \u0431\u044b\u0442\u044c \u0442\u043e\u0447\u043d\u0435\u0435, \u0443\u0434\u0430\u043b\u043e\u0441\u044c, \u043d\u043e \u0430\u0432\u0442\u043e\u0434\u0435\u043f\u043b\u043e\u0439 \u043e\u043d \u043d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u043b, \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0443\u0447\u043d\u043e\u0439 \u0441\u0442\u0430\u0440\u0442), \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435 \u044f \u043e\u0442 \u043d\u0435\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0441\u044f. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, swoole \u043c\u043d\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, Laravel-octane+swoole \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 <a href=\"https:\/\/laravel.demiart.ru\/laravel-octane\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0440\u044f\u0434\u0430 \u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u043f\u0435\u0440\u0435\u0434\u043e \u043c\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p>.env<\/p>\n<pre><code>OCTANE_SERVER=swoole<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430:<\/p>\n<pre><code>php artisan octane:start --port=80 --workers=16 --max-requests=1000 --host=host.docker.internal<\/code><\/pre>\n<\/div>\n<\/details>\n<p><strong>Yandex tank<\/strong><\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 2 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0438\u043b\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0438\u0445 2 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438: &#171;\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442&#187; \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a, &#171;\u0441\u0442\u0440\u0435\u0441\u0441&#187; \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0433\u0440\u0430\u043d\u0438\u0446 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/p>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 &#171;\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442&#187;<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0417\u0430\u0434\u0430\u0447\u0430 \u0442\u0435\u0441\u0442\u0430 &#8212; \u043f\u043e\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u043e \u0448\u0442\u0430\u0442\u043d\u044b\u043c\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u043c\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0441\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e.<\/p>\n<pre><code>phantom:   address: 10.100.9.101   uris:     - \/   load_profile:     load_type: rps     schedule: step(5, 100, 5, 10s) const(100, 2m30s)   timeout: 2s console:   enabled: true telegraf:   config: 'monitoring-nginx-unit-laravel.xml'   enabled: true   kill_old: false   package: yandextank.plugins.Telegraf   ssh_timeout: 30s overload:   enabled: true   package: yandextank.plugins.DataUploader   token_file: 'overload_token.txt'<\/code><\/pre>\n<\/div>\n<\/details>\n<details class=\"spoiler\">\n<summary>\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 &#171;\u0441\u0442\u0440\u0435\u0441\u0441&#187;<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0418\u0434\u0435\u044f \u0442\u0435\u0441\u0442\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0447\u0442\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441 \u0438 \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043e\u043d \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0432\u044b\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0438 \u0431\u0435\u0437 \u0441\u0431\u043e\u0435\u0432. \u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438:<\/p>\n<pre><code>phantom:   address: 10.100.9.101   uris:     - \/   load_profile:     load_type: rps # schedule load by defining requests per second     schedule: line(1, 1000, 10m)   timeout: 2s console:   enabled: true telegraf:   config: 'monitoring-nginx-unit-laravel.xml'   enabled: true   kill_old: false   package: yandextank.plugins.Telegraf   ssh_timeout: 30s overload:   enabled: true   package: yandextank.plugins.DataUploader   token_file: 'overload_token.txt'<\/code><\/pre>\n<\/div>\n<\/details>\n<p>\u0422\u0430\u0439\u043c\u0430\u0443\u0442 2 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432 \u0432 api-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0435\u0441\u043b\u0438 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e, \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u044d\u0442\u043e \u0431\u044b\u0432\u0430\u0435\u0442 \u0444\u0430\u0442\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u044f \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e api-gateway \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u0438 \u0432 \u043d\u0435\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0434\u0430\u044e \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u0430\u0434\u0430\u0447 \u043e\u0442 1 \u0434\u043e 3 \u0441\u0435\u043a\u0443\u043d\u0434, \u043d\u0435 \u0431\u043e\u043b\u0435\u0435. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c, \u0435\u0441\u043b\u0438 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u043e\u0440\u043e\u0447\u0430\u0435\u0442 \u0442\u044f\u0436\u0435\u043b\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443 &#8212; \u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u044e \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u0432 \u0434\u0436\u043e\u0431\u044b). \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 php-fpm yandex tank&#8217;\u0443 \u0441 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u043c 11 \u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442.\u043a. \u043e\u043d \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u043e\u043b\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043b \u043e\u0442\u0432\u0435\u0442\u0430 (\u043e\u0431 \u044d\u0442\u043e\u043c \u0434\u0430\u043b\u0435\u0435).<\/p>\n<p><strong>Telegraf<\/strong><\/p>\n<p>\u0421 \u043d\u0438\u043c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<pre><code>&lt;Monitoring>   &lt;Host address=\"10.100.9.101\" interval=\"1\" username=\"root\">     &lt;CPU\/> &lt;Kernel\/> &lt;Net\/> &lt;System\/> &lt;Memory\/> &lt;Disk\/> &lt;Netstat \/> &lt;Nstat\/>   &lt;\/Host> &lt;\/Monitoring><\/code><\/pre>\n<\/div>\n<\/details>\n<h2>\u041d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h2>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0431\u044b\u043b\u0438 \u0436\u0435\u0441\u0442\u043a\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0434\u0435\u0440 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430:<\/p>\n<ul>\n<li>\n<p>\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c: 16 \u044f\u0434\u0435\u0440<\/p>\n<\/li>\n<li>\n<p>Nginx (\u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0441 php-fpm): 2 \u044f\u0434\u0440\u0430<\/p>\n<\/li>\n<li>\n<p>Yandex tank: 4 \u044f\u0434\u0440\u0430 (\u043d\u0430 2 \u044f\u0434\u0440\u0430\u0445 \u043d\u0435\u0445\u0432\u0430\u0442\u0430\u043b\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 php-fpm \u0434\u0430\u0436\u0435 \u0441 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u043d\u044b\u043c \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u043c)<\/p>\n<\/li>\n<li>\n<p>\u0427\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u0438 \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043d\u0438\u044f \/dev\/zero \u0432 \/dev\/null (\u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438\u0437\u043b\u0438\u0448\u043d\u0438, \u043c\u043e\u0439 \u043b\u0438\u0447\u043d\u044b\u0439 \u043a\u043e\u0441\u0442\u044b\u043b\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u0436\u0438\u0437\u043d\u044c): \u0441\u0442\u0440\u043e\u0433\u043e 1 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u041e\u0421: \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0435\u0441\u044f 1 \u044f\u0434\u0440\u043e, \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435, \u043f\u0440\u043e \u0437\u0430\u043f\u0430\u0441<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0441 &#171;\u0445\u043e\u043b\u043e\u0434\u043d\u044b\u043c \u0441\u0442\u0430\u0440\u0442\u043e\u043c&#187;, \u0442.\u0435. \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 \u043d\u0435 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432\u0430\u043b\u0441\u044f, \u043a\u044d\u0448 \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0441\u044f \u0434\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0442\u0435\u0441\u0442\u0430.<\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u043f\u043e\u0439\u0434\u0443\u0442 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a &#8212; \u0437\u043d\u0430\u0447\u0438\u0442 \u0438\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e.<\/p>\n<p>\u0413\u0440\u0430\u0444\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0435 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u0438 \u0434\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u043f\u0430\u043c\u044f\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442\u0441\u044f, \u0438 \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043f\u043e \u0442\u0435\u043c \u0436\u0435 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c \u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0431\u043b\u0430\u0433\u043e \u0435\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442.<\/p>\n<p><strong>\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 &#171;\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442&#187;<\/strong><\/p>\n<p><strong>1. nginx + php-fpm + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479324\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479324<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/70f\/f99\/6ec\/70ff996ec4ef23c88409da8cd560eab3.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"872\" height=\"398\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/70f\/f99\/6ec\/70ff996ec4ef23c88409da8cd560eab3.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b17\/c37\/970\/b17c37970c19dc27d5d3249f8f2d7e27.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"879\" height=\"393\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b17\/c37\/970\/b17c37970c19dc27d5d3249f8f2d7e27.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>2. nginx + php-fpm + lumen<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479325\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479325<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/eaa\/620\/b47\/eaa620b47757a9f6f6c9a562cf7ac4d6.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"881\" height=\"397\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/eaa\/620\/b47\/eaa620b47757a9f6f6c9a562cf7ac4d6.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/2f9\/9d3\/8d0\/2f99d38d075fca59c623167158263a6f.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"881\" height=\"392\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/2f9\/9d3\/8d0\/2f99d38d075fca59c623167158263a6f.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>3. nginx-unit + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479330\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479330<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/162\/f74\/0ff\/162f740ff537e2f2d33b01fb224ea8ec.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"883\" height=\"395\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/162\/f74\/0ff\/162f740ff537e2f2d33b01fb224ea8ec.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ea4\/e73\/b50\/ea4e73b5010ad20e1c88f416d999c1f8.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"872\" height=\"401\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea4\/e73\/b50\/ea4e73b5010ad20e1c88f416d999c1f8.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>4. nginx-unit + lumen<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479332\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479332<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7f1\/f1e\/1b5\/7f1f1e1b54afc500930b7f3c41a373fe.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"882\" height=\"392\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7f1\/f1e\/1b5\/7f1f1e1b54afc500930b7f3c41a373fe.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/759\/b03\/840\/759b03840dd0cbe8ccc60476e2c33388.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"874\" height=\"397\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/759\/b03\/840\/759b03840dd0cbe8ccc60476e2c33388.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>5. octane (swoole) + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479339\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479339<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/76d\/fe9\/9c4\/76dfe99c40b9e09a8539177e9cdbd860.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"871\" height=\"394\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/76d\/fe9\/9c4\/76dfe99c40b9e09a8539177e9cdbd860.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4e4\/495\/09a\/4e449509a7e4b6b75cb111f2fd43b8f9.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"874\" height=\"393\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/4e4\/495\/09a\/4e449509a7e4b6b75cb111f2fd43b8f9.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>\u041f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 (ms)<\/strong><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>99%<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>98%<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>95%<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>90%<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>85%<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>80%<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>75%<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>50%<\/p>\n<\/td>\n<td>\n<p>HTTP OK %<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<p>nginx + php-fpm + laravel<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>60<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>59<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>56<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>52<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>48<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>46<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>45<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>44<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<p>nginx + php-fpm + lumen<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>18<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>18<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>17<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>16<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>16<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>15<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>15<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>14<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<p>nginx-unit + laravel<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>7.6<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>7<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>6.5<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>5.8<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>5.3<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>5.2<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>5.2<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>4.059<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<p>nginx-unit + lumen<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.930<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>1.870<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>1.640<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>1.520<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.460<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.410<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>1.320<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>1.070<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"158\" width=\"158\">\n<p>octane (swoole) + laravel<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.230<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>1.200<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>1.160<\/p>\n<\/td>\n<td data-colwidth=\"53\" width=\"53\">\n<p>1.110<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.050<\/p>\n<\/td>\n<td data-colwidth=\"58\" width=\"58\">\n<p>1.010<\/p>\n<\/td>\n<td data-colwidth=\"57\" width=\"57\">\n<p>0.980<\/p>\n<\/td>\n<td data-colwidth=\"61\" width=\"61\">\n<p>0.800<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>\u041f\u0440\u043e\u0444\u0438\u043b\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 &#171;\u0441\u0442\u0440\u0435\u0441\u0441&#187;<\/strong><\/p>\n<p><strong>1. nginx + php-fpm + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479202\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479202<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ef6\/00e\/b4e\/ef600eb4e5f9a3915d71313a6c5987b5.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"874\" height=\"395\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ef6\/00e\/b4e\/ef600eb4e5f9a3915d71313a6c5987b5.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0d1\/0e3\/1b8\/0d10e31b828c4faff8c18d653285e1e4.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"872\" height=\"400\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/0d1\/0e3\/1b8\/0d10e31b828c4faff8c18d653285e1e4.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e01\/0ac\/8b4\/e010ac8b4bd0d4415a4a4dbede8305f6.png\" alt=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" title=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" width=\"878\" height=\"408\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e01\/0ac\/8b4\/e010ac8b4bd0d4415a4a4dbede8305f6.png\"\/><figcaption>\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c<\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u0414\u0435\u0442\u0430\u043b\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041f\u0435\u0440\u0432\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 php-fpm \u0431\u044b\u043b\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 16 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432, \u0430 nginx \u0438\u043c\u0435\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0432\u0441\u044f \u044d\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0430 \u0441\u0445\u043b\u043e\u043f\u043d\u0443\u043b\u0430\u0441\u044c \u0432 \u0447\u0435\u0440\u043d\u0443\u044e \u0434\u044b\u0440\u0443 \u0438 \u043d\u0430 120 rps \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0440\u0430\u0442\u044c \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 (\u043f\u0440\u0438\u0447\u0435\u043c \u043e\u0431\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e). \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e nginx \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u0430 php \u0431\u044b\u043b\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 100 \u0438 250 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 (2 \u0442\u0435\u0441\u0442\u0430, \u0432 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 100, \u0434\u043b\u044f 250 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u043b\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0434\u0435\u0440). \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0442\u0438\u043c \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u043c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u043f\u0435\u0440\u0432\u044b\u043c, \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u044d\u0442\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438 \u0431\u044b\u043b\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u0430\u0445. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0430 \u043e\u0442\u043c\u0435\u0442\u043a\u0435 ~120 rps php-fpm \u0440\u0435\u0437\u043a\u043e \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0435\u0442 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0441 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u043c\u0438, \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0437\u0430\u0432\u0438\u0441\u0430\u044e\u0442, \u0438 yandex tank \u0441 \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u043c \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 11 \u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0437\u0430\u0433\u0438\u0431\u0430\u0442\u044c\u0441\u044f, \u0435\u043c\u0443 \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u044f \u0432\u044b\u0434\u0435\u043b\u0438\u043b \u0442\u0430\u043d\u043a\u0443 4 \u044f\u0434\u0440\u0430 (\u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e 2), \u0438 \u0441\u043d\u0438\u0437\u0438\u043b \u0442\u0430\u0439\u043c\u0430\u0443\u0442 \u0434\u043e 2 \u0441\u0435\u043a\u0443\u043d\u0434. \u041d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0438\u0434\u043d\u0430 \u044d\u0442\u0430 2-\u0441\u0435\u043a\u0443\u043d\u0434\u043d\u0430\u044f \u043e\u0442\u0441\u0435\u0447\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 php-fpm \u0437\u0430\u0433\u043d\u0443\u043b\u0441\u044f. \u041d\u043e \u0432\u044b\u0432\u043e\u0434\u044b \u0431\u0443\u0434\u0443\u0442 \u043d\u0438\u0436\u0435.<\/p>\n<\/div>\n<\/details>\n<p><strong>2. nginx + php-fpm + lumen<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479210\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479210<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b7c\/5c6\/05a\/b7c5c605a5d1f26ba2a4ec09435bd686.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"875\" height=\"398\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b7c\/5c6\/05a\/b7c5c605a5d1f26ba2a4ec09435bd686.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7ab\/1fd\/8b5\/7ab1fd8b59dafb31816540c022502862.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"876\" height=\"396\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/7ab\/1fd\/8b5\/7ab1fd8b59dafb31816540c022502862.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fc5\/3f5\/21e\/fc53f521ec9f014dd2cd28f24c40bf35.png\" alt=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" title=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" width=\"882\" height=\"396\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/fc5\/3f5\/21e\/fc53f521ec9f014dd2cd28f24c40bf35.png\"\/><figcaption>\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c<\/figcaption><\/figure>\n<p><strong>3. nginx-unit + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479184\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479184<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/841\/326\/117\/841326117f2a4ceb07def9d0306042df.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"877\" height=\"394\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/841\/326\/117\/841326117f2a4ceb07def9d0306042df.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/11b\/a45\/7cf\/11ba457cfd84ddbfcd5e76fe9821d318.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"874\" height=\"396\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/11b\/a45\/7cf\/11ba457cfd84ddbfcd5e76fe9821d318.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<p><strong>4. nginx-unit + lumen<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479207\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479207<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/195\/726\/9f0\/1957269f036679551bc157fe48236d38.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"884\" height=\"403\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/195\/726\/9f0\/1957269f036679551bc157fe48236d38.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ea8\/6fa\/001\/ea86fa001081597aa9cca70623aea095.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"879\" height=\"396\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/ea8\/6fa\/001\/ea86fa001081597aa9cca70623aea095.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<details class=\"spoiler\">\n<summary>\u0441\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c<\/summary>\n<div class=\"spoiler__content\">\n<p>\u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 1 \u043e\u0448\u0438\u0431\u043a\u0430 \u0441 http \u043a\u043e\u0434\u043e\u043c 500 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u0442 \u0441\u0430\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043b\u043e\u0433\u0430\u043c\u0438, \u043f\u043e\u043d\u044f\u0442\u044c \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u043d\u0430 \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u0430\u0445. \u041e\u0434\u043d\u0430\u043a\u043e, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0447\u0442\u043e \u043d\u0430 300299 \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 1 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043e\u0448\u0438\u0431\u043e\u0447\u043d\u044b\u043c, \u044f \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0447\u0442\u043e \u044d\u0442\u0443 \u043e\u0448\u0438\u0431\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c.<\/p>\n<\/div>\n<\/details>\n<p><strong>5. octane (swoole) + laravel<\/strong><\/p>\n<p>\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0447\u0435\u0442: <a href=\"https:\/\/overload.yandex.net\/479204\" rel=\"noopener noreferrer nofollow\">https:\/\/overload.yandex.net\/479204<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/311\/c4a\/e50\/311c4ae502efd047654278a2a506bdde.png\" alt=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" title=\"\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\" width=\"883\" height=\"401\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/311\/c4a\/e50\/311c4ae502efd047654278a2a506bdde.png\"\/><figcaption>\u0412\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3da\/1ad\/b6f\/3da1adb6f015526923117be2a5e971e6.png\" alt=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" title=\"\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\" width=\"873\" height=\"398\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/3da\/1ad\/b6f\/3da1adb6f015526923117be2a5e971e6.png\"\/><figcaption>\u041d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/figcaption><\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/845\/50a\/877\/84550a8779050598f323ab898df67fca.png\" alt=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" title=\"\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c\" width=\"878\" height=\"404\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/845\/50a\/877\/84550a8779050598f323ab898df67fca.png\"\/><figcaption>\u0421\u0432\u043e\u0434\u043a\u0430 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0430\u043c<\/figcaption><\/figure>\n<p><strong>\u041f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 (ms)<\/strong><\/p>\n<p><strong>*<\/strong> \u0417\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u043e\u0439 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0431\u0443\u0434\u0443\u0442 \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u044b \u0441\u0431\u043e\u0440\u043a\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 php-fpm, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0430\u043b\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u043e\u043e\u0431\u0449\u0435. \u0423 \u043d\u0438\u0445 \u0431\u0443\u0434\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u043e\u0442\u0441\u0435\u0447\u043a\u0430 rps, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043d\u0438 \u043d\u0430\u0447\u0430\u043b\u0438 \u0443\u043c\u0438\u0440\u0430\u0442\u044c. \u041a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u0438 \u0434\u0430\u043d\u044b \u0434\u043e \u044d\u0442\u043e\u0439 \u043e\u0442\u0441\u0435\u0447\u043a\u0438. \u042f \u0440\u0435\u0448\u0438\u043b \u0432\u0441\u0435 \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443, \u0445\u043e\u0442\u044f \u0431\u044b \u0432 \u0442\u0430\u043a\u043e\u043c \u0432\u0438\u0434\u0435.<\/p>\n<p>\u0421\u0431\u043e\u0440\u043a\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 laravel-octane \u0443\u043a\u0430\u0437\u0430\u043d\u0430 \u0434\u0432\u0430\u0436\u0434\u044b. \u041f\u043e\u043b\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u0432\u044b\u0434\u0435\u0440\u0436\u0430\u043b \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0438 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0434\u043e \u0442\u043e\u0447\u043a\u0438 \u0441\u043c\u0435\u0440\u0442\u0438. \u041a\u0430\u043a \u0438 \u0441 php-fpm &#8212; \u043e\u0442\u043c\u0435\u0447\u0435\u043d\u0430 \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u043e\u0439 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043f\u043e\u0440\u043e\u0433\u043e\u0432\u043e\u0433\u043e rps.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>99%<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>98%<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>95%<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>90%<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>85%<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>80%<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>75%<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>50%<\/p>\n<\/td>\n<td>\n<p>HTTP OK %<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p><strong>*<\/strong> nginx + php-fpm + laravel<\/p>\n<p><strong>~120 rps<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>62<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>59<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>55<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>52<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>49<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>47<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>45<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>43<\/p>\n<\/td>\n<td>\n<p>&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p><strong>*<\/strong> nginx + php-fpm + lumen<\/p>\n<p><strong>~400 rps<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>34<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>25<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>19<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>17<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>16<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>16<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>15<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>14<\/p>\n<\/td>\n<td>\n<p>&#8212;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p>nginx-unit + laravel<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>6.6<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>6<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>5.5<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>5.2<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>4.96<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>4.7<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>4.5<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>3.79<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p>nginx-unit + lumen<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.77<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.56<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.4<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.25<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.17<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>1.13<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>1.08<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>0.91<\/p>\n<\/td>\n<td>\n<p>100<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p>octane (swoole) + laravel<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>18<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>8.3<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>4.85<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>3.88<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>3.45<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>3.1<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>2.85<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>1.87<\/p>\n<\/td>\n<td>\n<p>82.807<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"185\" width=\"185\">\n<p><strong>*<\/strong> octane (swoole) + laravel<\/p>\n<p><strong>~600 rps<\/strong><\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>3.23<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>3.01<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>2.85<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>2.55<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>2.2<\/p>\n<\/td>\n<td data-colwidth=\"55\" width=\"55\">\n<p>2.029<\/p>\n<\/td>\n<td data-colwidth=\"56\" width=\"56\">\n<p>1.92<\/p>\n<\/td>\n<td data-colwidth=\"50\" width=\"50\">\n<p>0.78<\/p>\n<\/td>\n<td>\n<p>&#8212;<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>\u0418\u0442\u043e\u0433\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0435\u043d\u044f, \u043d\u0430\u0434\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u044c, \u0443\u0434\u0438\u0432\u0438\u043b\u0438. \u042f \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043e\u0436\u0438\u0434\u0430\u043b, \u0447\u0442\u043e php-fpm \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0447\u0435\u043c, nginx-unit, \u043d\u043e \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u043f\u043e\u0447\u0442\u0438 \u0432 10 \u0440\u0430\u0437. \u0422\u0430\u043a \u0436\u0435 \u043c\u0435\u043d\u044f \u0443\u0434\u0438\u0432\u0438\u043b\u043e \u0442\u043e, \u0447\u0442\u043e php-fpm \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434 \u0441\u0442\u0440\u0435\u0441\u0441 \u0442\u0435\u0441\u0442\u043e\u043c \u0437\u0430\u0445\u043b\u0435\u0431\u043d\u0443\u043b\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u044f \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u043c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 nginx \u0438 php, \u043d\u043e \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0435 \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0435, \u0441\u0442\u0440\u0435\u0441\u0441 \u0442\u0435\u0441\u0442 \u0432\u044b\u0434\u0435\u0440\u0436\u0430\u043b\u0438, \u0445\u043e\u0442\u044c \u0438 \u0441 \u043f\u043e\u0442\u0435\u0440\u044f\u043c\u0438. \u0412 \u0438\u0442\u043e\u0433\u0435, \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u044f \u043d\u0435 \u0437\u0440\u044f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u043f\u0435\u0440\u0435\u0441\u0435\u043b \u043d\u0430 nginx-unit.<\/p>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438: \u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u0440\u0430\u0442\u044c \u0432 \u0440\u0430\u0441\u0447\u0435\u0442 php-fpm, \u0442\u043e nginx-unit \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u043a\u0442\u043e \u0432\u044b\u0434\u0435\u0440\u0436\u0430\u043b \u0441\u0442\u0440\u0435\u0441\u0441 \u0442\u0435\u0441\u0442 \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u044c, \u0445\u043e\u0442\u044f \u043d\u0430 octane \u044f \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u043b \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c, php-fpm \u044f \u0434\u0430\u043b\u044c\u0448\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u044f\u0445 \u043d\u0435 \u0431\u0443\u0434\u0443.<\/p>\n<p>\u0421\u043a\u0430\u0447\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f 100% \u043f\u0435\u0440\u0446\u0435\u043d\u0442\u0438\u043b\u044f \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u0443 nginx-unit \u0438 \u0443 octane+swoole, \u043d\u043e \u0432 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438, \u0430 \u043f\u0440\u0438\u0447\u0438\u043d\u044b \u0438\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u043e\u0432\u0441\u0435 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043d\u0430 &#171;\u0441\u043b\u0435\u0433\u043a\u0430&#187; \u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0435 \u0438 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438. \u041e\u043f\u044f\u0442\u044c \u0436\u0435, \u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u044b \u0431\u044b\u043b\u0438 \u0441\u0443\u0433\u0443\u0431\u043e \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438, \u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u0438\u043c\u043e \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0447\u0435\u0433\u043e \u0438 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0443 \u0432\u043e\u0440\u043e\u0447\u0430\u0442\u044c, \u0438 \u0432 \u0431\u0430\u0437\u0443 \u0438 \u043a\u044d\u0448 \u0445\u043e\u0434\u0438\u0442\u044c, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0430\u044f.<\/p>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, octane \u0431\u0443\u0434\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u0437\u0430 \u0441\u0447\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0432\u0441\u0435\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0443 swoole \u0435\u0441\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u044d\u0448\u0430 \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 &#171;\u043f\u0440\u0438\u043c\u043e\u0447\u043a\u0438&#187;, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0442 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0442\u044f\u0436\u0435\u043b\u043e\u0439 \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0438. \u041d\u043e \u0435\u0441\u0442\u044c \u0438 \u0441\u0432\u043e\u044f \u0446\u0435\u043d\u0430: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432\u0441\u0435 \u0443\u043f\u0440\u0435\u0442\u0441\u044f \u0432 \u0442\u043e, \u0447\u0442\u043e \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u0447\u0442\u043e \u0446\u0435\u043d\u0430 \u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u0430\u0445 \u043d\u0435 \u0432\u044b\u0441\u043e\u043a\u0430 \u0434\u043b\u044f \u0431\u0438\u0437\u043d\u0435\u0441\u0430, \u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0442\u043e\u0438\u0442), \u0430 \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0447\u0442\u043e \u0435\u0449\u0435 \u0432\u0430\u0436\u043d\u0435\u0435, octane \u043a\u0440\u0430\u0439\u043d\u0435 \u043d\u0435\u0434\u0440\u0443\u0436\u0435\u043b\u044e\u0431\u0435\u043d \u043a \u0433\u043e\u0432\u043d\u043e\u043a\u043e\u0434\u0443 &#8212; \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u043d \u043d\u0435 \u043f\u0440\u043e\u0449\u0430\u0435\u0442. \u041d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 <a href=\"https:\/\/laravel.com\/docs\/8.x\/octane#dependency-injection-and-octane\" rel=\"noopener noreferrer nofollow\">\u0440\u0430\u0437\u0434\u0435\u043b \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/a>, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445,  \u043d\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0443\u0442 \u043a \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043d\u0430 octane.<\/p>\n<p>\u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, nginx-unit \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d \u043f\u0440\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445. \u0418 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 lumen \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0435\u0442 octane, \u0442\u0430\u043a \u0447\u0442\u043e \u044f \u043d\u0435 \u0437\u0440\u044f \u0441\u043e\u043c\u043d\u0435\u0432\u0430\u043b\u0441\u044f \u0432 \u0441\u043b\u043e\u0432\u0430\u0445 \u0422\u0435\u0439\u043b\u043e\u0440\u0430. Lumen \u0435\u0449\u0435 \u043f\u043e\u0436\u0438\u0432\u0435\u0442 \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0443\u0434\u0438\u0432\u043b\u044f\u0442\u044c (\u0432\u043e \u0432\u0441\u044f\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0435\u043d\u044f, \u044f \u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u043b \u043e\u0442 \u043d\u0435\u0433\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u044b\u0442\u0438 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 laravel).<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0436\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u043c\u0438\u0440\u0430\u044e\u0442, \u0442\u043e \u044d\u0442\u043e nginx-unit. \u0410 \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0436\u0438\u043b \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e, \u0441 \u043d\u0438\u043c \u0432\u0441\u0435 \u0436\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c lumen, \u0435\u0441\u043b\u0438 \u0440\u0435\u0447\u044c \u043e\u0431 api. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u043c, \u0438 \u043e\u0431\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0431\u0438\u0437\u043d\u0435\u0441 \u043b\u043e\u0433\u0438\u043a\u0443 \u043d\u0430 \u043b\u0435\u0442\u0443 &#8212; \u0442\u043e \u044d\u0442\u043e octane, \u0435\u0441\u043b\u0438 \u0442\u043e\u0433\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b (\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043a\u0430\u043a \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c, \u0442\u0430\u043a \u0438 \u0442\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0435 \u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435). \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 octane \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c &#171;\u043e\u0440\u0443\u0436\u0438\u0435\u043c \u043c\u0430\u0441\u0441\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u0440\u0430\u0436\u0435\u043d\u0438\u044f&#187;, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0435\u0437\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c, \u0442\u0443\u0442 \u0422\u0435\u0439\u043b\u043e\u0440 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043f\u0440\u0430\u0432. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 &#8212; \u0441\u0432\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442.<\/p>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0441\u0442\u0430\u0442\u044c\u044f \u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/588785\/\"> https:\/\/habr.com\/ru\/articles\/588785\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 laravel. \u041d\u0438\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u043c\u043e\u0438 \u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u044b\u0432\u043e\u0434\u044b, \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e\u0449\u0438\u0435 \u043d\u0430 \u0432\u0441\u0435\u043b\u0435\u043d\u0441\u043a\u0443\u044e \u0438\u0441\u0442\u0438\u043d\u0443.<\/p>\n<p>\u0421\u0430\u043c \u044f \u0434\u0430\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 nginx-unit (+ lumen), \u043e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e \u0432\u0438\u0436\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 php-fpm. \u041d\u0430 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 nginx-unit, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043f\u043e\u043b\u043d\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 &#8212; &#171;\u0430 \u0447\u0435\u043c \u043e\u043d \u043b\u0443\u0447\u0448\u0435?&#187;. \u041f\u043e\u0438\u0441\u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u0434\u0430\u043b \u043c\u0430\u043b\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0442\u0430\u0440\u044b\u0435 \u0438 \u043c\u0430\u043b\u043e\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 \u0437\u0430\u0440\u0443\u0431\u0435\u0436\u043d\u044b\u0445 \u0441\u0430\u0439\u0442\u0430\u0445, \u0430 \u0442\u0430\u043a \u0436\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/431818\/\" rel=\"noopener noreferrer nofollow\">\u0441\u0442\u0430\u0442\u044c\u044f \u043e\u0442 2019 \u0433\u043e\u0434\u0430 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435<\/a>, \u0433\u0434\u0435 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 symfony. \u041d\u043e, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, php \u0438 nginx-unit \u0443\u0436\u0435 \u0443\u0448\u043b\u0438 \u0434\u0430\u043b\u0435\u043a\u043e \u0432\u043f\u0435\u0440\u0435\u0434 \u0437\u0430 \u0432\u0440\u0435\u043c\u044f, \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0435\u0435 \u043f\u043e\u0441\u043b\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u0430 \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043c\u0435\u043d\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 laravel \u0438 lumen. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0439 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0435\u043d\u0434 \u0438\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f.<\/p>\n<h2>\u041e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u043c \u0441\u0442\u0435\u043d\u0434\u0435<\/h2>\n<p><strong>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0442\u0435\u043d\u0434\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p>CPU: AMD Ryzen 9 5900X 12-Core<\/p>\n<\/li>\n<li>\n<p>RAM: DDR4 4000 MHz 32GiB x2<\/p>\n<\/li>\n<li>\n<p>SSD: Samsung SSD 980 PRO 500GB nvme<\/p>\n<\/li>\n<li>\n<p>OS: xubuntu 20.04<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p>Laravel 8.69.0<\/p>\n<p>Laravel \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 \u0434\u043b\u044f php. \u0418\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0431\u0438\u0437\u043d\u0435\u0441\u0430 \u0432 \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435 \u0441\u0440\u043e\u043a\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0433\u0438\u0431\u043e\u043a, \u0438 \u043f\u043e\u0447\u0442\u0438 \u043b\u044e\u0431\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 1 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0440\u043e\u0432\u043d\u043e \u043a\u0430\u043a \u0438 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (\u043f\u0440\u0430\u0432\u0434\u0430 \u0437\u0434\u0435\u0441\u044c \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0438 \u043c\u0438\u043d\u0443\u0441 &#8212; \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u0435\u0449\u0435 \u0438 \u043a\u0443\u0447\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f \u043e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0433\u043e\u0432\u043d\u043e\u043a\u043e\u0434\u0430, \u0434\u043e \u043f\u0430\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0442\u0435\u0447\u0435\u043a \u043f\u0430\u043c\u044f\u0442\u0438).<\/p>\n<\/li>\n<li>\n<p>Lumen 8.3.1<\/p>\n<p>\u041e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f Laravel, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 api-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412 \u0447\u0430\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0432\u0441\u0435 \u0441\u0430\u043c\u044b\u0435 \u0432\u0430\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Laravel, \u0430 \u0442\u043e, \u0447\u0442\u043e \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u044b\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0430\u0441\u0430\u0434\u044b), \u0443\u0440\u0435\u0437\u0430\u043d\u043e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043d \u0447\u0435\u043c Laravel, \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0430 \u043d\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c \u0432\u044b\u0433\u043e\u0434\u043d\u043e. \u041a\u0430\u043a \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0431\u044b\u0432\u0430\u0435\u0442, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442. \u0414\u043b\u044f \u043e\u0434\u043d\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u0432\u044b\u0433\u043e\u0434\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c laravel, \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 lumen, \u0434\u043b\u044f \u0442\u0440\u0435\u0442\u044c\u0438\u0445 php \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u0432\u043e\u0432\u0441\u0435.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0435\u0431 \u0441\u0435\u0440\u0432\u0435\u0440\u044b:<\/strong><\/p>\n<ul>\n<li>\n<p>Php-fpm<\/p>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 php \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>Nginx unit<\/p>\n<p>\u0412\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 nginx. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430.<\/p>\n<\/li>\n<li>\n<p>Laravel-octane<\/p>\n<p>\u0421\u0442\u0440\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e \u043d\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440, \u0430 \u043f\u0430\u043a\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b laravel. \u0410 \u0432\u043e\u0442 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 Swoole \u0438\u043b\u0438 RoadRunner . \u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435, \u0434\u0430\u043b\u0435\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u043d\u0435 \u0440\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0435\u0440\u0441\u0438\u044f php \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u0431\u043e\u0440\u043a\u0430\u0445:<\/strong> 8.0.12<\/p>\n<p><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/yandex.ru\/dev\/tank\/\" rel=\"noopener noreferrer nofollow\">Yandex tank <\/a>\u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u0439 \u0441\u0432\u0435\u0436\u0438\u0439 \u0438\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 docker-\u043e\u0431\u0440\u0430\u0437.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.influxdata.com\/time-series-platform\/telegraf\/\" rel=\"noopener noreferrer nofollow\">Telegraf<\/a> (\u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 yandex tank) \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u043f\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/overload.yandex.net\" rel=\"noopener noreferrer nofollow\">Overload<\/a> (\u0442\u0430\u043a \u0436\u0435 \u0438\u0437 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430 yandex tank) \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432.<\/p>\n<\/li>\n<\/ul>\n<h2>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/h2>\n<p><strong>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/strong><\/p>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043c\u0435\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e. \u041a\u044d\u0448 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 laravel\/lumen (\u0442\u0430\u043a\u0438\u0445, \u043a\u0430\u043a \u0440\u043e\u0443\u0442\u0435\u0440 \u0438 \u0442.\u043f.), \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043a\u044d\u0448\u0430 \u043d\u0435\u0442. \u0423 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f 1 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0440\u0435\u043a\u0432\u0435\u0441\u0442, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 json \u0440\u0435\u0441\u043f\u043e\u043d\u0441, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430:<\/p>\n<pre><code>{     \"app_env\": \"prod\",     \"type\": \"unit-lumen\",     \"number\": 1527706674,     \"headers\": {         \"accept-language\": [             \"ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7\"         ],         \"accept-encoding\": [             \"gzip, deflate\"         ],         \"accept\": [             \"text\\\/html,application\\\/xhtml+xml,application\\\/xml;q=0.9,image\\\/avif,image\\\/webp,image\\\/apng,*\\\/*;q=0.8,application\\\/signed-exchange;v=b3;q=0.9\"         ],         \"user-agent\": [             \"Mozilla\\\/5.0 (X11; Linux x86_64) AppleWebKit\\\/537.36 (KHTML, like Gecko) Chrome\\\/93.0.4577.99 Safari\\\/537.36\"         ],         \"upgrade-insecure-requests\": [             \"1\"         ],         \"connection\": [             \"keep-alive\"         ],         \"host\": [             \"10.100.9.3\"         ],         \"content-length\": [             \"\"         ],         \"content-type\": [             \"\"         ]     } }<\/code><\/pre>\n<p>\u0412\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u0432 docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u0445. \u0412\u043e \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 php.ini, \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438:<\/p>\n<pre><code>upload_max_filesize = 50M post_max_size = 50M opcache.enable=1 opcache.interned_strings_buffer=64 opcache.max_accelerated_files=100000 opcache.memory_consumption=128 opcache.save_comments=1 opcache.revalidate_freq=0 opcache.validate_timestamps=0 opcache.max_wasted_percentage=10 apc.enable_cli=1 memory_limit=256M<\/code><\/pre>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0414\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f php-fpm \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 nginx, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 php-fpm \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b FastCGI. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 nginx:1.19.6-alpine.<\/p>\n<details class=\"spoiler\">\n<summary>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f nginx<\/summary>\n<div class=\"spoiler__content\">\n<p>nginx.conf<\/p>\n<pre><code>user  nginx; worker_processes  auto;  error_log  \/var\/log\/nginx\/error.log warn; pid        \/var\/run\/nginx.pid;   events {     worker_connections  2048; }   http {     include       \/etc\/nginx\/mime.types;     default_type  application\/octet-stream;      log_format  main  '$remote_addr - $remote_user [$time_local] \"$request\" '                       '$status $body_bytes_sent \"$http_referer\" '                       '\"$http_user_agent\" \"$http_x_forwarded_for\"';      access_log  \/var\/log\/nginx\/access.log  main;      sendfile       on;     tcp_nopush     on;     resolver_timeout 10s;     server_tokens off;     keepalive_timeout 3;     reset_timedout_connection on;     client_body_timeout 2;     send_timeout 1;     server_names_hash_bucket_size 128;     client_max_body_size 32m;     proxy_buffers 4 512k;     proxy_buffer_size 256k;     proxy_busy_buffers_size 512k;      gzip on;     gzip_comp_level 9;     gzip_disable \"msie6\";     gzip_types text\/plain text\/css application\/json application\/x-javascript text\/xml application\/xml application\/xml+rss text\/javascript application\/javascript image\/svg+xml;      include \/etc\/nginx\/conf.d\/*.conf; }<\/code><\/pre>\n<p>default.conf<\/p>\n<pre><code>server {     listen       80;     server_name  localhost;     error_page   500 502 503 504  \/50x.html;     location = \/50x.html {         root   \/usr\/share\/nginx\/html;     }      location \/ {         try_files $uri \/index.php$is_args$args;     }      location ~ ^\/index\\.php(\/|$) {         fastcgi_pass 10.100.9.100:9000;         fastcgi_split_path_info ^(.+\\.php)(\/.*)$;         include fastcgi_params;         fastcgi_param SCRIPT_FILENAME \/var\/www\/public\/$fastcgi_script_name;     } }<\/code><\/pre>\n<\/div>\n<\/details>\n<p><strong>\u041f\u043e\u0434\u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u043a\u0440\u043e\u043b\u0438\u043a\u0438, \u043e\u043d\u0438 \u0436\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b<\/strong><\/p>\n<p>1. <strong>nginx + php-fpm + laravel<\/strong><\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p><strong>Php-fpm<\/strong>: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437 php:8.0.12-fpm<\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f php.ini:<\/p>\n<pre><code>memory_limit=512M pm = static pm.max_children = 100 pm.max_requests = 1000<\/code><\/pre>\n<p>\u0422\u0443\u0442 \u0441\u0440\u0430\u0437\u0443 \u0441\u0442\u043e\u0438\u0442 \u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f: \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043e 16 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432 \u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044f\u0434\u0435\u0440 (\u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0438\u0436\u0435), \u043d\u043e \u0441 php-fpm \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u044b\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u043c\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0440\u043a\u0435\u0440\u043e\u0432.<\/p>\n<\/div>\n<\/details>\n<p>2. <strong>nginx + php-fpm + lumen<\/strong><\/p>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 &#171;nginx + php-fpm + laravel&#187;<\/p>\n<p><strong>3. nginx-unit + laravel<\/strong><\/p>\n<p>\u0422\u0430\u043a \u0432\u044b\u0448\u043b\u043e, \u0447\u0442\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u043c \u0440\u0430\u043d\u0435\u0435 \u044f \u0443\u0436\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u043b <a href=\"https:\/\/hub.docker.com\/r\/strayker\/nginx-unit-php8.0\" rel=\"noopener noreferrer nofollow\">\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 nginx-unit \u0434\u043b\u044f php8<\/a>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0449\u0438\u0445 \u043c\u043e\u0438\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u0435 \u0434\u043e\u043b\u0433\u043e \u0434\u0443\u043c\u0430\u044f, \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043a\u0430\u043a \u043e\u0441\u043d\u043e\u0432\u0443, \u0447\u0443\u0442\u044c \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0432 \u043f\u043e\u0434 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0431\u043e\u0440\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u0431\u0430\u0437\u0435 ubuntu:hirsute, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0441 apline \u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0434\u0440\u0443\u0436\u0443, \u0434\u0430 \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u0433\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043d\u0438\u043c \u043d\u0435 \u0431\u044b\u043b\u043e. \u041d\u0443\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0441\u0431\u043e\u0440\u043a\u0430 \u0437\u0434\u0435\u0441\u044c \u0438 \u0441\u0435\u0439\u0447\u0430\u0441, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0447\u0442\u043e \u043e\u043d\u0430 \u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043e \u043f\u0440\u043e\u0434\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435. \u0425\u043e\u0442\u044f, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u043e\u0432, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0438 \u0434\u043e\u0439\u0442\u0438.<\/p>\n<details class=\"spoiler\">\n<summary>\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f<\/summary>\n<div class=\"spoiler__content\">\n<p>\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b nginx-unit:<\/p>\n<pre><code>{   \"listeners\": {     \"*:80\": {       \"pass\": \"routes\"     }   },   \"routes\": [     {       \"match\": {         \"uri\": [           \"*.manifest\",           \"*.appcache\",           \"*.html\",           \"*.json\",           \"*.rss\",           \"*.atom\",           \"*.jpg\",           \"*.jpeg\",           \"*.gif\",           \"*.png\",           \"*.ico\",           \"*.cur\",           \"*.gz\",           \"*.svg\",           \"*.svgz\",           \"*.mp4\",           \"*.ogg\",           \"*.ogv\",           \"*.webm\",           \"*.htc\",           \"*.css\",           \"*.js\",           \"*.ttf\",           \"*.ttc\",           \"*.otf\",           \"*.eot\",           \"*.woff\",           \"*.woff2\",           \"\/robot.txt\"         ]       },       \"action\": {         \"share\": \"\/var\/www\/public\"       }     },     {       \"action\": {         \"pass\": \"applications\/php\"       }     }   ],   \"applications\": {     \"php\": {       \"type\": \"php 8.0\",       \"limits\": {         \"requests\": 1000,         \"timeout\": 60       },       \"processes\": {         \"max\": 16,         \"spare\": 16,         \"idle_timeout\": 30       },       \"user\": \"www-data\",       \"group\": \"www-data\",       \"working_directory\": \"\/var\/www\/\",       \"root\": \"\/var\/www\/public\",       \"script\": \"index.php\",       \"index\": \"index.php\"     }   },   \"access_log\": \"\/dev\/stdout\" }<\/code><\/pre>\n<\/div>\n<\/details>\n<p>4. <strong>nginx-unit + lumen<\/strong><\/p>\n<p>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0430 &#171;nginx-unit + laravel&#187;<\/p>\n<p>5. <strong>laravel-octane (swoole) + laravel<\/strong><\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c octane \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e <a href=\"https:\/\/twitter.com\/taylorotwell\/status\/1441101127496323080\" rel=\"noopener noreferrer nofollow\">\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0422\u0435\u0439\u043b\u043e\u0440\u0430 (\u0430\u0432\u0442\u043e\u0440\u0430 laravel) \u0432 \u0442\u0432\u0438\u0442\u0442\u0435\u0440\u0435<\/a>. \u041c\u0435\u043d\u044f \u0441\u043c\u0443\u0442\u0438\u043b\u0438 \u0435\u0433\u043e \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f &#171;\u043e\u043a\u0442\u0430\u043d \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043b\u044e\u043c\u0435\u043d\u0430&#187; \u0438 &#171;\u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c&#187;. \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043a \u0442\u0435\u0441\u0442\u0430\u043c \u0431\u044b\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u043d\u0430\u0441\u043a\u043e\u0440\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0441 laravel-octane, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 swoole.<\/p>\n<p>Laravel-octane \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u043c\u0438\u043c\u043e swoole \u0435\u0449\u0435 \u0438 roadranner, \u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0435\u0433\u043e. \u041d\u043e \u043a\u0430\u043a \u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u043d\u043e,<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-389308","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/389308","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=389308"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/389308\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=389308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=389308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=389308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}