{"id":30053,"date":"2019-10-31T21:33:26","date_gmt":"2019-10-31T18:33:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/optimizatsiya-proizvoditelnosti-apache2\/"},"modified":"2019-10-31T21:33:26","modified_gmt":"2019-10-31T18:33:26","slug":"optimizatsiya-proizvoditelnosti-apache2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/optimizatsiya-proizvoditelnosti-apache2","title":{"rendered":"Optimalizace v\u00fdkonu apache2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Mnoz\u00ed pou\u017e\u00edvaj\u00ed apache2 jako webov\u00fd server. Nicm\u00e9n\u011b m\u00e1lo kdo se zam\u00fd\u0161l\u00ed nad optimalizac\u00ed jeho v\u00fdkonu, co\u017e p\u0159\u00edmo ovliv\u0148uje rychlost na\u010d\u00edt\u00e1n\u00ed str\u00e1nek webu, rychlost zpracov\u00e1n\u00ed skript\u016f (zejm\u00e9na php) a tak\u00e9 zvy\u0161uje z\u00e1t\u011b\u017e na CPU a zvy\u0161uje objem pou\u017e\u00edvan\u00e9 RAM. <\/p>\n<p>Tento manu\u00e1l by m\u011bl tedy pomoci za\u010d\u00e1te\u010dn\u00edk\u016fm (a nejen jim).<br \/>\nV\u0161echny n\u00ed\u017ee uveden\u00e9 p\u0159\u00edklady byly pou\u017eity na Raspberry PI 3, Debian 9, Apache 2.4.38, PHP 7.3.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nTak\u017ee, za\u010dneme.<\/p>\n<h3>1. Vypnut\u00ed nepot\u0159ebn\u00fdch modul\u016f<\/h3>\n<p>\nPrvn\u00edm zp\u016fsobem je prost\u00e9 vypnut\u00ed modul\u016f, kter\u00e9 nepou\u017e\u00edv\u00e1te:<\/p>\n<p>Seznam pr\u00e1v\u011b pou\u017e\u00edvan\u00fdch modul\u016f m\u016f\u017eete zobrazit p\u0159\u00edkazem:<\/p>\n<pre><code class=\"bash\">apache2ctl -M<\/code><\/pre>\n<p>\nK vypnut\u00ed modulu se pou\u017e\u00edv\u00e1 p\u0159\u00edkaz:<\/p>\n<pre><code class=\"bash\">a2dismod *n\u00e1zev modulu*<\/code><\/pre>\n<p>\nP\u0159\u00edslu\u0161n\u011b pro zapnut\u00ed modulu se pou\u017e\u00edv\u00e1 p\u0159\u00edkaz:<\/p>\n<pre><code class=\"bash\">a2enmod *n\u00e1zev modulu*<\/code><\/pre>\n<p>\nV\u011bnujte pozornost tomu, \u017ee p\u0159i pou\u017eit\u00ed <i>a2dismod<\/i>, n\u00e1zev modulu je t\u0159eba ps\u00e1t bez slova 'modul'.<\/p>\n<p>Nap\u0159\u00edklad, pokud jste ve v\u00fdstupu p\u0159\u00edkazu <i>apache2ctl -M<\/i> vid\u011bli <i>proxy_module<\/i>, pro jeho vypnut\u00ed je t\u0159eba pou\u017e\u00edt p\u0159\u00edkaz \u2014 <i>a2dismod proxy<\/i><\/p>\n<p>Mezi moduly s nejv\u011bt\u0161\u00ed z\u00e1t\u011b\u017e\u00ed (podle osobn\u00ed zku\u0161enosti) jsou:<\/p>\n<ul>\n<li>PHP, Ruby, Perl a dal\u0161\u00ed moduly pro r\u016fzn\u00e9 skriptovac\u00ed jazyky<\/li>\n<li><a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2258\">SSL<\/a><\/li>\n<li>Rewrite<\/li>\n<li>CGI<\/li>\n<\/ul>\n<p>\nTak\u017ee v t\u011bch p\u0159\u00edpadech, kdy tyto moduly nepot\u0159ebujete, doporu\u010duji tyto moduly vypnout.<\/p>\n<p>Tak\u00e9, po vypnut\u00ed jak\u00e9hokoliv modulu doporu\u010duji pou\u017e\u00edt p\u0159\u00edkaz \u2014 <i>apache2ctl configtest<\/i>, kter\u00fd zkontroluje konfiguraci pou\u017e\u00edvan\u00fdch web\u016f a pokud byl n\u011bkter\u00fd z vypnut\u00fdch modul\u016f pro n\u011b nezbytn\u00fd, vyhod\u00ed chybu.<\/p>\n<h3>2. Zm\u011bna MPM (Multi-Processing Module) a pou\u017eit\u00ed php-fpm<\/h3>\n<p>\nVe v\u00fdchoz\u00edm nastaven\u00ed, po instalaci, apache2 pou\u017e\u00edv\u00e1 MPM Prefork (1 vl\u00e1kno na 1 spojen\u00ed), co\u017e znateln\u011b sni\u017euje v\u00fdkon, ale zlep\u0161uje stabilitu a bezpe\u010dnost.<\/p>\n<p>Ale pro optimalizaci v\u00fdkonu doporu\u010duji pou\u017e\u00edt MPM Worker, kter\u00fd umo\u017e\u0148uje pou\u017e\u00edvat v\u00edce vl\u00e1ken na jedno spojen\u00ed.<\/p>\n<p>Pro jeho povolen\u00ed pou\u017eijte n\u00e1sleduj\u00edc\u00ed p\u0159\u00edkazy:<\/p>\n<pre><code class=\"bash\">a2dismod mpm_prefork  \/\/ Vyp\u00edn\u00e1me prefork\na2dismod php7.3  \/\/ Vyp\u00edn\u00e1me modul php, kter\u00fd z\u00e1vis\u00ed na prefork\na2enmod mpm_worker  \/\/ Zap\u00edn\u00e1me worker\n<\/code><\/pre>\n<p>\nNicm\u00e9n\u011b p\u0159i pou\u017eit\u00ed Worker se m\u016f\u017eete setkat s probl\u00e9mem, proto\u017ee modul php7.3 z\u00e1vis\u00ed na modulu Prefork.<\/p>\n<p>Pro \u0159e\u0161en\u00ed tohoto probl\u00e9mu nainstalujeme modul php7.3-fpm, kter\u00fd bude pou\u017eit pro zpracov\u00e1n\u00ed php skript\u016f:<\/p>\n<pre><code class=\"bash\">apt-get update &amp;&amp; apt-get install php7.3-fpm  \n\/\/ Instalujeme\nsystemctl enable php7.3-fpm &amp;&amp; systemctl start php7.3-fpm  \n\/\/ P\u0159id\u00e1v\u00e1me do automatick\u00e9ho spou\u0161t\u011bn\u00ed a spou\u0161t\u00edme\na2enmod php7.3-fpm &amp;&amp; a2enconf php7.3-fpm.conf  \n\/\/ Aktivujeme modul a jeho konfiguraci\n<\/code><\/pre>\n<p>\nJe t\u0159eba poznamenat, \u017ee pou\u017eit\u00ed php-fpm tak\u00e9 sn\u00ed\u017e\u00ed objem pam\u011bti RAM pou\u017e\u00edvan\u00e9 procesem apache2 a m\u00edrn\u011b urychl\u00ed zpracov\u00e1n\u00ed php skript\u016f.<\/p>\n<h3>3. Z\u00e1v\u011br<\/h3>\n<p>\nT\u00edmto zp\u016fsobem jsme jednoduch\u00fdmi kroky mohli optimalizovat v\u00fdkon a sn\u00ed\u017eit z\u00e1t\u011b\u017e na stroj (v tomto p\u0159\u00edpad\u011b RPI3).<\/p>\n<p>Samoz\u0159ejm\u011b existuje stovky dal\u0161\u00edch mo\u017enost\u00ed optimalizace, jako nap\u0159\u00edklad povolen\u00ed komprese (co\u017e je opravdu u\u017eite\u010dn\u00e9, ale v\u011bt\u0161inou u\u017e je to zapnuto ve v\u00fdchoz\u00edm nastaven\u00ed), zm\u011bna parametr\u016f (konfigura\u010dn\u00edch soubor\u016f) MPM, zak\u00e1z\u00e1n\u00ed HostnameLookups atd., ale v tomto \u010dl\u00e1nku jsem se sna\u017eil reflektovat pr\u00e1v\u011b ty body, kter\u00e9 mi nejv\u00edce pomohly, a douf\u00e1m, \u017ee pomohou i jin\u00fdm.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444732\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 apache2 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e \u043f\u0440\u044f\u043c\u043e \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0441\u0430\u0439\u0442\u0430, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 php), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430 \u0440\u043e\u0441\u0442\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 \u0426\u041f \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u043e\u0431\u044a\u0451\u043c\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u041e\u0417\u0423. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u043d\u0443\u0430\u043b, \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043c\u043e\u0447\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u043c (\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c. \u0412\u0441\u0435 \u043d\u0438\u0436\u0435\u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-30053","post","type-post","status-publish","format-standard","hentry","category-blog"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 apache2 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/optimizatsiya-proizvoditelnosti-apache2\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 apache2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 apache2 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/optimizatsiya-proizvoditelnosti-apache2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:33:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:33:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Optimalizace v\u00fdkonu apache2 | ProHoster","description":"Mnoz\u00ed pou\u017e\u00edvaj\u00ed apache2 jako webov\u00fd server.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/optimizatsiya-proizvoditelnosti-apache2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 apache2 | ProHoster","og:description":"\u041c\u043d\u043e\u0433\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 apache2 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0430.","og:url":"https:\/\/prohoster.info\/cs\/blog\/optimizatsiya-proizvoditelnosti-apache2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:33:26+00:00","article:modified_time":"2019-10-31T18:33:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30053","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:29:02","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:43:14","updated":"2026-02-09 17:29:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/30053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=30053"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/30053\/revisions"}],"predecessor-version":[{"id":159502,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/30053\/revisions\/159502"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=30053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=30053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=30053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}