单台web服务器性能,单台web服务器如何尽可能的提高网站性能
我覺得首先要選擇一個合適的環(huán)境,對于大多數(shù)php站點來說,運行在lnmp(linux+nginx+mysql+php)環(huán)境下是個理想的選擇.
首先一點linux對比win的優(yōu)勢我就不說了。
其次nginx的優(yōu)勢總結(jié)起來就是負載均衡,高并發(fā)性能優(yōu)異。
這里php采用fastcgi的方式接入nginx,php5.3 自帶的php-fpm已經(jīng)很好了,相比于apache的php模塊方式,這里由php自己直接處理php請求是比較好的,并且可調(diào)控進程數(shù)量以優(yōu)化并發(fā)性能。
上面說的是基本環(huán)境,我有一臺q6600的老四核,4G內(nèi)存的linux服務器,上面跑了幾十個站點,最高跑到90M帶寬,成功hold住!
下面說說程序方面的優(yōu)化。
我們知道,靜態(tài)頁面的速度比動態(tài)頁面要快,尤其是在nginx下,靜態(tài)頁面直接由nginx提供服務,性能尤其高。而動態(tài)頁面,雖然fastcgi也很好,但是相比于nginx直接處理靜態(tài)頁面,還是有點差距的。
這里介紹兩個好東西,一個是nginx自身的緩存功能proxy_cache和fastcgi_cache,然后還有一個nginx模塊ngx_cache_purge用于清理指定url的緩存。
這里單臺服務器我們主要使用的是fastcgi_cache,可以指定的url下,將php腳本的執(zhí)行結(jié)果緩存到磁盤和內(nèi)存上,并可以指定過期時間,第二次訪問的時候,由nginx直接取緩存文件,就相當于靜態(tài)頁面了,效率當然很高。
說完nginx再說說php,nginx用于緩存整個頁面,而有的頁面我們不需要緩存全部,只需要緩存一些短數(shù)據(jù),比如一些數(shù)組,訪問記錄之類的臨時新內(nèi)容。傳統(tǒng)的php是直接采用文件式緩存,就像dedecms里data/cache目錄,里面存放的就是很多緩存文件,主要是用來避免頻繁的數(shù)據(jù)庫查詢。一般情況下,文件緩存也夠了,但是要追求極致,尤其是高并發(fā)下,不如試試memcached吧,很好的一個東西,作用是將一些字符串以鍵值對的形式存放到服務器內(nèi)存中,指定過期時間,下次用的時候直接從內(nèi)存中取,不消耗磁盤I/O,速度也不是一個級別的,原理和文件緩存一樣。
暫時能想到的就是這么多,其實主旨就是一個:緩存。只是緩存的方式不同罷了。那么如何選擇合適的緩存方式,就是我們開發(fā)人員需要考慮的事情了。
總結(jié)
以上是生活随笔為你收集整理的单台web服务器性能,单台web服务器如何尽可能的提高网站性能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中把各位上为奇数的数取出,下列给定
- 下一篇: html未点击背景 点击背景,在Angu