<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Varien &#187; mod_php</title>
	<atom:link href="http://varien.com.ua/blog/tags/mod_php/feed/" rel="self" type="application/rss+xml" />
	<link>http://varien.com.ua</link>
	<description>Varien/Magento blog</description>
	<lastBuildDate>Fri, 25 Jun 2010 13:02:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ускоряем Magento: Часть 2 – Настройка веб-сервера</title>
		<link>http://varien.com.ua/blog/speed-up-magento-p-2-web-server-configuration/</link>
		<comments>http://varien.com.ua/blog/speed-up-magento-p-2-web-server-configuration/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 16:15:10 +0000</pubDate>
		<dc:creator>Михаил Бессолов</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Настройка]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[mod_php]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[производительность]]></category>

		<guid isPermaLink="false">http://varien.com.ua/?p=533</guid>
		<description><![CDATA[Вторая статья из серии "Ускоряем Magento", в которой мы рассмотрим параметры конфигурации веб-сервера и оптимальную настройку Apache для запуска Magento.]]></description>
			<content:encoded><![CDATA[<p>Вторая статья из серии &#8220;Ускоряем Magento&#8221;, в которой мы рассмотрим параметры конфигурации веб-сервера и оптимальную настройку Apache для запуска Magento.</p>
<p>Предыдущие статьи в серии &#8220;Ускоряем Magento&#8221;:</p>
<ul>
<li><a href="http://varien.com.ua/blog/speed-up-magento-p-1-what-is-the-goal/">Часть 1 &#8211; К чему стремиться</a></li>
</ul>
<p>Хотя существует несколько способов настройки выполнения PHP-скриптов под Apache: как модуль (mod_php) или как FastCGI/CGI (например, с помощью <a href="http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html">mod_fastcgi </a>или <a href="http://fastcgi.coremail.cn/">mod_fcgid</a>), наиболее часто используется все-таки первый (mod_php).</p>
<p>Кроме mod_php в конфигурационном файле Apache по умолчанию включена загрузка почти всех доступных модулей, несмотря на то, что не все их них требуются для работы Magento. Это становится особенно актуально в многосерверной конфигурации, когда различные узлы занимаются выполнением разных задач, и могут быть сконфигурированы для оптимального выполнения конкретной задачи.</p>
<p>Минимально необходимый перечень модулей Apache для работы Magento:</p>
<ul>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_expires.html">mod_expires</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">mod_deflate</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_mime.html">mod_mime</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_dir.html">mod_dir</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html">mod_authz_host</a></li>
<li><a href="http://httpd.apache.org/docs/2.2/mod/mod_authz_user.html">mod_authz_user</a> – может понадобиться для ограничения доступа к тестовой среде с помощью аутентификации по паролям, но редко используется на &#8220;боевом&#8221; сервере.</li>
</ul>
<p>*Примечание: Мы рассматриваем настройку веб-сервера только с точки зрения Magento. Если у вас на том же сервере запущены другие веб-приложения, будьте осторожны при использовании приведенных рекомендаций.</p>
<p>Уменьшение количества загружаемых модулей (закомментировав соответствующие строчки &#8220;<a href="http://httpd.apache.org/docs/2.2/mod/mod_so.html#loadmodule">LoadModule</a>&#8221; в httpd.conf) позволяет несколько уменьшить объем памяти используемый веб-сервером, что может позволить обрабатывать больше одновременных соединений при том же объеме установленной памяти.</p>
<p>Важным параметром настройки Apache является задание оптимального количества запускаемых процессов Apache. На данный момент режим <a href="http://httpd.apache.org/docs/2.2/mod/worker.html">mpm_worker</a> все еще не может быть рекомендован для безопасного использования совместно с PHP, а процесс создания новых процессов Apache в режиме <a href="http://httpd.apache.org/docs/2.2/mod/prefork.html">mod_prefork</a> является &#8220;дорогой&#8221; операцией. Лучше всего работает создание необходимого количества процессов Apache сразу же при запуске веб-сервера. Это количество может быть определено практическим путем при максимальной загрузке сервера.</p>
<p>Обратите внимание, что значения параметров <strong><a href="http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit">ServerLimit</a></strong> и <strong><a href="http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients">MaxClients</a></strong> нельзя увеличивать бесконечно. Они должны иметь значения, выставленные в зависимости от доступного количества физической памяти, для того, чтобы система не начала вытеснять &#8220;лишние&#8221; процессы Apache в раздел подкачки (что приведет к резкому &#8220;проседанию&#8221; сервера при увеличении нагрузки до определенного значения).</p>
<p>Параметр <strong><a href="http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild">MaxRequestsPerChild</a></strong> можно оставить со значением по умолчанию (4000). </p>
<p>Использование пула постоянных соединений (keep-alive) хотя и улучшает скорость получения контента веб-браузером, но под высокой нагрузкой приводит к неоправданному перерасходу ресурсов сервера, поэтому <strong><a href="http://httpd.apache.org/docs/2.2/mod/core.html#keepalive">KeepAlive</a></strong> всегда должен быть выставлен в off.</p>
<p>Следующим важным параметром является использование сжатия контента. Несмотря на то, что это немного увеличивает использование вычислительных ресурсов сервера, выигрыш от быстрой отдачи контента броузеру и освобождение процессов для обработки следующих запросов с лихвой компенсируют эти &#8220;затраты&#8221;. Функциональность по компрессии контента предоставляется модулем <a href="<a href="http://httpd.apache.org/docs/2.2/mod/mod_deflate.html">mod_deflate</a>. В Magento в файле .htaccess приведены все необходимые директивы для включения компрессии, нужно просто раскомментировать соответствующие строки, чтобы уменьшить время загрузки страниц броузером. Вот пример части .htaccess, которая у вас получится в релузьтате:</p>
<pre>
    # Insert filter on selected content types only
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

    # Netscape 4.x has some problems...
    BrowserMatch ^Mozilla/4 gzip-only-text/html

    # Netscape 4.06-4.08 have some more problems
    BrowserMatch ^Mozilla/4\.0[678] no-gzip

    # MSIE masquerades as Netscape, but it is fine
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

    # Don't compress images
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

    # Make sure proxies don't deliver the wrong content
    Header append Vary User-Agent env=!dont-vary
</pre>
<p>Кроме того, можно избежать <a href="http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride">дополнительных затрат по сканированию всех директорий в пути</a> к запрашиваемому скрипту или файлу, внеся все параметры из файлов .htaccess в основной httpd.conf файла в соответствующие разделы <a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory">&lt;Directory&gt;</a>.</p>
<p>И, в качестве дополнительного штриха, если вы используете программный балансировщик (например <a href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html">nginx</a>) в многосерверной конфигурации, можно переложить на него все функции по ведению логов доступа. Это позволит снизить дисковую активность на бек-эндах Apache.</p>
]]></content:encoded>
			<wfw:commentRss>http://varien.com.ua/blog/speed-up-magento-p-2-web-server-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
