<?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>Ian Frey &#187; eaccelerator</title>
	<atom:link href="http://www.ianfrey.de/tag/eaccelerator/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ianfrey.de</link>
	<description>Music &#38; Lifestyle Blog</description>
	<lastBuildDate>Sun, 01 Aug 2010 17:26:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>WordPress-Optimierung</title>
		<link>http://www.ianfrey.de/2009/10/22/wordpress-optimierung/</link>
		<comments>http://www.ianfrey.de/2009/10/22/wordpress-optimierung/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 07:20:42 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[eaccelerator]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plesk]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.ianfrey.de/?p=7</guid>
		<description><![CDATA[&#8220;A Never Ending Story&#8221;&#8230; könnte man schon fast sagen. Ich betreibe einen VServer bei Server4You um ein paar Webseiten laufen zu lassen. Der Server an sich ist ganz gut und erfüllt seine Dienste. Installiert ist CentOS (mit Plesk) sowie httpd 2.2.14, PHP 5.2.11 und MySQL 5. Alles zusammen eine recht stabile Mischung, aber das kleine [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;A Never  Ending Story&#8221;&#8230; könnte man schon fast sagen. Ich betreibe einen VServer bei Server4You um ein paar Webseiten laufen zu lassen. Der Server an sich ist ganz gut und erfüllt seine Dienste. Installiert ist CentOS (mit Plesk) sowie httpd 2.2.14, PHP 5.2.11 und MySQL 5. Alles zusammen eine recht stabile Mischung, aber das kleine i-Tüpfelchen fehlt &#8211; Die Performance!</p>
<p>Ein leidiges Thema, vor allen wenn es um WordPress geht, aber auch dies lässt sich mit ein wenig Aufwand realisieren. Um deutlich mehr Performance zu gewinnen, habe ich mir den <a href="http://eaccelerator.net/" target="_blank">PHP-eAccelerator</a> zugelegt und habe nach einigen Benchmarks auch eine höhere Leistung erzielen können, als ohne. Es ist nicht schwer ihn zu installieren, nur sollte man unbedingt darauf achten, diesen als<strong> </strong>PHP-Extension und<strong> nicht als Zend-Extension</strong> zu installieren. Es funktioniert zwar auch, aber als reine PHP-Extension läuft&#8217;s nun mal besser. ;-)</p>
<p>Als zweites Gimmick habe ich 2 Werte in der wp-config.php verändert bzw. reingeschrieben:</p>
<blockquote><p>define(&#8216;SAVEQUERIES&#8217;, true);<br />
define(&#8216;WP_CACHE&#8217;, true);</p></blockquote>
<p>Diese beiden Werte helfen dabei, nicht jeden einzelnen Schrott immer wieder zu laden, wenn eine Seite aufgerufen wird. Allerdings solltet ihr dafür noch den Ordner <strong>wp-content/cache/</strong> erstellen und diesen mit dem CHMOD 777 ausstatten, sofern das noch nicht getan ist.</p>
<p>Ein weiteres gutes Plugin um die Performance zu checken, ist das Plugin von Bueltge und nennt sich <a href="http://bueltge.de/wordpress-performance-analysieren-plugin/558/" target="_blank">Debug Queries</a>. Es zeigt euch die Queries und deren Ausführungszeit an. Je nach Status der Queries, zeigt es Verbesserungsvorschläge an, wie z.B. einer aus der wp-config.php Datei.</p>
<p>Nicht zu vergessen ist das Apache-Tuning. Ohne das, läuft gar nichts! Ich poste euch mal ein teil meiner Veränderungen in der /etc/httpd/conf/httpd.conf:</p>
<blockquote><p>Timeout 30<br />
KeepAlive off</p>
<div>&lt;IfModule prefork.c&gt;</div>
<div>StartServers       3</div>
<div>MinSpareServers    3</div>
<div>MaxSpareServers   10</div>
<div>ServerLimit      256</div>
<div>MaxClients       85 #Maxclients = Arbeitsspeicher / 12 MB &#8211; Danke Markus!</div>
<div>MaxRequestsPerChild  2000</div>
<div>&lt;/IfModule&gt;</div>
<div>&lt;IfModule worker.c&gt;</div>
<div>StartServers            1</div>
<div>MaxClients             85</div>
<div>MinSpareThreads         1</div>
<div>MaxSpareThreads         3</div>
<div>ThreadsPerChild         5</div>
<div>MaxRequestsPerChild   250</div>
<div>&lt;/IfModule&gt;</div>
</blockquote>
<p>Folgende Zeilen auskommentieren:</p>
<blockquote><p>#LanguagePriority en ca&#8230;<br />
#ForceLanguagePriority Prefer Fallback</p></blockquote>
<p>Auch einen deutlichen Performance-Schub bringt es, wenn man unbenötigte Module auskommentiert. Bei mir in der Config sind lediglich folgende Module am leben gelieben:</p>
<blockquote><p>LoadModule authz_host_module modules/mod_authz_host.so<br />
LoadModule authz_owner_module modules/mod_authz_owner.so<br />
LoadModule log_config_module modules/mod_log_config.so<br />
LoadModule expires_module modules/mod_expires.so<br />
LoadModule deflate_module modules/mod_deflate.so<br />
LoadModule headers_module modules/mod_headers.so<br />
LoadModule setenvif_module modules/mod_setenvif.so<br />
LoadModule mime_module modules/mod_mime.so<br />
LoadModule autoindex_module modules/mod_autoindex.so<br />
LoadModule dir_module modules/mod_dir.so<br />
LoadModule alias_module modules/mod_alias.so<br />
LoadModule rewrite_module modules/mod_rewrite.so<br />
LoadModule negotiation_module modules/mod_negotiation.so<br />
LoadModule vhost_alias_module modules/mod_vhost_alias.so</p></blockquote>
<p>Probiert euch mal am eAccelerator und Apache aus und schaut mal, ob ihr damit ein paar positive Erfolge erzielen könnt.</p>
<p><strong>Update #1:</strong></p>
<p>Ganz vergessen, natürlich könnt ihr auch noch Einstellungen in der MySQL-Config machen, sofern ihr MySQL nutzt. Dazu habe ich folgende Werte in der <strong>/etc/my.cnf</strong></p>
<blockquote>
<div>skip-innodb</div>
<div>key_buffer = 2M</div>
<div>myisam_sort_buffer_size = 4M</div>
<div>read_buffer_size = 512K</div>
<div>read_rnd_buffer_size = 4M</div>
<div>max_allowed_packet=4M</div>
<div>thread_stack=128K</div>
<div>thread_cache_size=8</div>
<div>query_cache_limit=512K</div>
<div>query_cache_size=4M</div>
<div>max_connections=85 #Ã„hnlich wie in der httpd.conf</div>
<div>long_query_time=3</div>
<div>skip-bdb</div>
<div>table_cache=1500</div>
</blockquote>
<div>Nicht vergessen, dass ihr nach Ã„nderungen die Services neu starten müsst!</div>
]]></content:encoded>
			<wfw:commentRss>http://www.ianfrey.de/2009/10/22/wordpress-optimierung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
