Apache服務(wù)器性能如何優(yōu)化

配置網(wǎng)站,要充分的把系統(tǒng)資源利用出去,榨干系統(tǒng)的一切潛能,讓網(wǎng)站速度發(fā)揮到極致。apache,是用戶瀏覽和網(wǎng)站數(shù)據(jù)的一個(gè)中間橋梁。但是在這里,我們雖然做得并不是很多,但是如果心細(xì)打理,有些設(shè)置也會(huì)起到立竿見影的效果。

?Apache服務(wù)器性能如何優(yōu)化

1、安裝apache的時(shí)候,要正確選擇MPM

要想讓Apache的性能最好,那么第一步要做到的是:選擇合適的MPM。? ? ? ? ? ? ? ? ? ( 推薦學(xué)習(xí):Apache服務(wù)器?)

Apache有3個(gè)MPM,它們分別是:event、prefork和worker。

其中,event這個(gè)MPM比較適用于有大量連續(xù)連接的情況。KeepAlive的好處是,可以同一個(gè)TCP連接中相應(yīng)多次請(qǐng)求:這種方式,可以使一個(gè)包含大量圖片的HTML文檔加速50%。在Apahce配置文件httpd.conf中設(shè)置KeepAlive為On,就可以啟動(dòng)KeepAlive。

prefork 是一個(gè)非線程的MPM,。它的特點(diǎn)是:雖然不是很快,但是很穩(wěn)定。它能夠隔離每個(gè)請(qǐng)求,所以,如果某個(gè)請(qǐng)求出現(xiàn)故障,不會(huì)影響其它請(qǐng)求。使用 prefork最重要的一個(gè)參數(shù)是MaxClients。

這個(gè)MaxClients數(shù)值要足夠大,這樣可以在訪問高峰時(shí)發(fā)揮很好的性能;但是同時(shí)又不能太大,致使Apache所需內(nèi)存超出物理內(nèi)存的大小。

worker是Apache2版本中新開發(fā)的MPM,速度比prefork快很多。而且,由于使用多線程進(jìn)行訪問處理,所以能夠處理相對(duì)海量的請(qǐng)求,而系統(tǒng)資源的占用也要小于基于進(jìn)程的服務(wù)器。worker是Apache 2的主要使用方式。

worker有兩個(gè)比較重要的配置參數(shù),那就是:ThreadsPerChild和MaxClients。?ThreadsPerChild用來控制每個(gè)子進(jìn)程允許建立的線程數(shù),MaxClients?用來控制允許建立的總線程數(shù)。

那么,這3個(gè)MPM要如何選擇呢?

如果需要更好伸縮性,可以選用worker或event(因?yàn)樗鼈兪蔷€程化的MPM);如果需要更加好的穩(wěn)定性和兼容性(比如要適應(yīng)一些舊的軟件),可以選用prefork。《從prefork到worker:修改ubuntu apache工作模式》

如果你仍然無法評(píng)估自己的需求,仍然不知道應(yīng)該選擇哪個(gè)MPM,那么就推薦使用worker。

2、Apache配置優(yōu)化

在Ubuntu中,Apache主要配置文件是/etc/apache2/apache.conf,以下就針對(duì)這個(gè)文件來配置。

(1)關(guān)閉DNS查詢

HostnameLookups在默認(rèn)情況是已經(jīng)被設(shè)置為off,務(wù)必保持該設(shè)置。如果需要統(tǒng)計(jì)客戶端DNS,那么可以使用第三方軟件來實(shí)現(xiàn)。

(2)優(yōu)化MaxClients

Apache2啟動(dòng)的時(shí)候會(huì)創(chuàng)建一些進(jìn)程(配置文件中的StartServer設(shè)定的數(shù)目),并保持一個(gè)最大的MaxClients數(shù);每一個(gè)超過該數(shù)目的連接請(qǐng)求,都會(huì)排隊(duì)等待。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享