<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Totti的部落格]]></title> 
<link>https://iam.ittot.com/index.php</link> 
<description><![CDATA[记录我的生活，收集我的收集]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Totti的部落格]]></copyright>
<item>
<link>https://iam.ittot.com/read.php/1054.htm</link>
<title><![CDATA[eaccelerator调整]]></title> 
<author>Totti &lt;totti5116@163.com&gt;</author>
<category><![CDATA[收集]]></category>
<pubDate>Tue, 21 Apr 2009 05:38:46 +0000</pubDate> 
<guid>https://iam.ittot.com/read.php/1054.htm</guid> 
<description>
<![CDATA[ 
	php-eaccelerator 官方網站: <a href="http://www.eaccelerator.net/" target="_blank">http://www.eaccelerator.net/</a><br/><br/>由於 PHP 屬於直譯語言，因此當放在 Web 伺器器上的 PHP 程式碼被瀏覽者所讀取時，系統為了要執行 PHP 程式碼就必須要使用直譯器(interpreter)，將 PHP 程式碼翻譯成電腦系統看得懂(或可以執行)的語言。這個直譯的動作是非常耗費系統資源的，而直譯語言的特性偏偏就是每次執行前都要先進行直譯的動作，因此當您放在 Web 伺服器上的 PHP 程式碼被 1000 個 client 讀取時，系統就要進行 1000 次的直譯動作。而 PHP 加速器的功能就是會把被這些 PHP 程式碼快取(Cache)起來，也就是同一支程式碼只要被直譯一次而已，藉此大幅降低系統的負載。自己個人的經驗是：若你的 Web 伺服器流量非常大，有沒有使用 PHP 加速器會有非常大的差別。<br/><br/>php-eaccelerator 的安裝很容易，但麻煩的是後續的調整。一般來講，若你會需要安裝加速器通常就代表你遇上了效能的瓶頸，也就是系統負載過大所以才需要安裝它；但是 php-eaccelerator 有 BUG，當系統負載過大，php-eaccelerator 需要消除 Share Memory 中的老舊資料時，會導致 apache 出現如下的錯誤訊息並使 CPU 使用率衝上 100%，最後終將致使伺服器當機。<br/><br/><br/>引用:<br/>[Wed Feb 28 14:39:40 2007] [notice] child pid 18449 exit signal Segmentation fault (11) <br/><br/>就是因為負載過高才需要裝它，偏偏負載過高裝了它又會造成伺服器當機，很矛盾不是嗎？所幸經過適當的調整後，即可避免上述的情況發生。php-eaccelerator 的安裝很容易，這裡就不多做說明，至於設定則是要修改 php-eaccelerator 的系統設定檔(/etc/php.d/eaccelerator.ini)，設定完後請記得重新啟動 Web 伺服器。<br/>引用:<br/>/etc/php.d/eaccelerator.ini：<br/>zend_extension="/usr/lib/php/modules/eaccelerator.so"<br/>eaccelerator.shm_size = "500"<br/>==>預設是32MB，這裡設為500MB<br/><br/>eaccelerator.cache_dir = "/var/cache/php-eaccelerator"<br/>eaccelerator.enable = "1"<br/>eaccelerator.optimizer = "0" <br/>==>預設是 1 (開啟)，這裡設為 0 (關閉)<br/><br/>eaccelerator.debug = "0"<br/>eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"<br/>eaccelerator.name_space = ""<br/>eaccelerator.check_mtime = "1"<br/>eaccelerator.filter = ""<br/>eaccelerator.shm_max = "0"<br/>eaccelerator.shm_ttl = "0"<br/>==>預設是3600，這裡設為0，也就是不移除Share Memory中的任何資料。<br/><br/>eaccelerator.shm_prune_period = "0"<br/>eaccelerator.shm_only = "0"<br/>eaccelerator.compress = "1"<br/>eaccelerator.compress_level = "9"<br/>eaccelerator.keys = "shm_and_disk"<br/>eaccelerator.sessions = "shm_and_disk"<br/>eaccelerator.content = "shm_and_disk" <br/><br/><br/><br/>大致上要注意的有以下幾點：<br/>調高php-eaccelerator可使用的Share Memory大小：<br/>eaccelerator.shm_size = "500"<br/>. <br/>關閉最佳化功能<br/>eaccelerator.optimizer = "0"<br/>. <br/>禁止php-eaccelerator清除Share Memory中的資料：<br/>eaccelerator.shm_ttl = "0"<br/>eaccelerator.shm_prune_period = "0"<br/>. <br/>每日定時清除cache資料與Share Memory，並重新啟動httpd。<br/>新增 /etc/cron.daily/restart_httpd：<br/>/sbin/service httpd stop<br/>rm -rf /var/cache/php-eaccelerator/*<br/>/sbin/service httpd start 
]]>
</description>
</item><item>
<link>https://iam.ittot.com/read.php/1054.htm#blogcomment2656</link>
<title><![CDATA[[评论] eaccelerator调整]]></title> 
<author>yz &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Fri, 24 Apr 2009 19:17:13 +0000</pubDate> 
<guid>https://iam.ittot.com/read.php/1054.htm#blogcomment2656</guid> 
<description>
<![CDATA[ 
	很多年不听燕姿的歌了。坚持着很多别的，唯独对她没有坚持。
]]>
</description>
</item>
</channel>
</rss>