本文目錄一覽:
如何利用APC緩衝PHP腳本來提高服務器性能
希望您的Web服務器發揮最大的性能嗎?如果您正在使用PHP腳本,您可以很輕鬆地利用PHP的APC模塊實現這一點,它對php opcode進行緩衝,而不是迫使php在每一次執行的時候都重新解釋每一個腳本。在一個有PEAR支持的PHP5系統中, APC的安裝和它的執行一樣簡單,在根目錄下執行:# pecl install APC一些分發版本或許會提供APC二進制的程序包,所以您也許可以利用urpmi php-apc或apt-get來安裝php-apc。一旦APC被安裝之後,編輯/etc/php.ini加入以下內容:extension=apc.so[apc]apc.enabled = 1apc.shm_segments = 1apc.shm_size = 30apc.optimization = 0apc.ttl = 7200apc.user_ttl = 7200apc.num_files_hint = 1000apc.mmap_file_mask = /tmp/apc.XXXXXX這樣做是為了激活APC緩衝,而不是啟動優化器(當前處於實驗階段)。除了激活APC之外,應該注意的重要選項還有apc.ttl和apc.user_ttl,它們定義了腳本保持在緩存中的時間,以秒計。這一點對於處理提供很多文件的服務器來說真的很重要;它將防止緩存因被陳舊的條目裝滿而無法為新的條目提供緩衝的情況出現。您也可以調整apc.num_files_hint,它為APC提供了一個近似值,表示了被請求的或包括在您系統中PHP源文件的數量。其缺省值是1000,但是如果您知道要處理更多文件,可以將值增加到一個最接近的估計值。同樣地,如果文件會少很多的話,也可以相應地減少。最後,在APC源程序包中,有一個叫apc.php的腳本,它用來從APC緩存中獲取詳細的數據,使得您能夠進一步調整APC的設置。要使用這個腳本的話,您就需要編輯腳本和改變ADMIN_PASSWORD選項。
PHP的擴展模塊怎麼添加?
php安裝好後,可能在初次安裝時,會有些模塊會有遺漏,但是我們又不想重新編譯php,因為耗時是比較長的。我們可不可以在不重新編譯安裝php的情況下,來為php單獨添加某一個模塊呢?查找資料,發現還是有方法的,重點就是phpize了,於是寫了這篇文章.
下面我們就以單獨為php加載mysqli模塊為例,演示如何動態為php添加模塊。
1、找到php原碼安裝文件
2、cd /home/php/ext/myslqi
3、運行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make make install
6、安裝完成之後會在系統/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/這個目錄下面生成mysqli.so的庫文件
7、編輯php.ini文件,指定php到哪人目錄讀取模塊
vi /usr/local/php/etc/php.ini
extension_dir=」/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重啟php服務 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步驟正確,你的人口也不差的情況下,應該這樣php的動態模塊加載就完成了。
PHP軟件開發程序拓展的五大方法?
相信大多數程序員都有過對程序進行拓展的一些操作了,但是對於新手工程師來說這還是比較難的一個技術。今天,雲南java培訓就通過案例分析來了解和學習一下,PHP編程拓展的方法都有哪些。
1.使用PHP的APC特性。APC——AlternativePHPCache,雖然官方稱為「可選PHP緩存」,但是稱為「另一個PHP緩存也不為過」,因為它可以切實的提升網站的性能。
2.把所有不是.php的請求都分配給CDN(內容分髮網絡),不要使用你的服務器處理靜態文件。他們使用S3來存儲所有,並使用CloudFront作為他們的CDN。近CloudFront出現的一些問題迫使他們不得不直接使用S3服務。
3.切勿將PHP代碼里的鏈接指向其它的服務器。比如數據庫以及memcache服務器,除非是強制性的或者是沒有其它方法實現你的目的。在執行流中讓鏈接指向其它服務器是非常沒有效率的:可能會使服務器受到限制,從而降低處理的速度。使用APC鍵/值存儲來儲存數據,並使用Barnish來緩存整個頁面。
4.使用Varnish。一般情況下,站點上的所有網頁都不會改變或者是不會做大型的改動。Varnish就對於網絡服務器緩存有着Memcache/ModRewrite的作用。同樣在壓力測試中,使用前後的性能差異很大。
5.使用更大的服務器實例,比如c1.xlarge有8個核心可以應對負載,而m1.medium只有一個核心可以處理請求。
可以使用GoogleAnalytics來分析每個用戶在每個頁面上花費的時間。收集這些信息,使用Siege來運行壓力測試,從而不斷的熟悉自己業務的負載類型,以便更好的提升程序的擴展性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/151720.html