apache站点优化——长连接
一、長連接介紹
面臨問題:
http是一個面向連接的協(xié)議,用戶完成一次請求需要以下步驟
三次握手
發(fā)起請求
響應(yīng)請求
四次斷開
N個請求就重復(fù)N次,如果希望用戶能夠更快的拿到數(shù)據(jù),服務(wù)器的壓力降到最低,讓你去優(yōu)化這個請求過程。
解決方案:
答案很明確,那就是建設(shè)每次執(zhí)行的三次握手和四次斷開,最好是一次三次握手建立成功后,在這個數(shù)據(jù)通道完成所有的請求后,然后在四次斷開,這就是優(yōu)化思路—理想中應(yīng)該是這樣。
三次握手
發(fā)起請求
響應(yīng)請求
發(fā)起請求
響應(yīng)請求
。。。。。
請求全部完成后,四次斷開
優(yōu)化目的:
減少了三次握手和四次斷開的次數(shù)。
注意事項:
長連接需要服務(wù)器和客戶端瀏覽器都支持
長連接特點:
提升用戶訪問速度
降低服務(wù)器壓力
大量空閑長連接可能造成服務(wù)器壓力過大
二、長連接實現(xiàn)
apache2.4默認(rèn)開啟了長連接,長連接時間為5s,修改子配置文件httpd-default.conf可以定義該選項
#開啟長連接功能 On為開啟 Off為關(guān)閉
KeepAlive On
#當(dāng)keepalive打開時,maxkeepaliverequests指令限制每個連接允許的請求數(shù)。如果設(shè)置為0,則允許無限請求。我們建議將此設(shè)置保持為高值以獲得最大服務(wù)器性能。不建議大家將這個數(shù)值設(shè)置為0,防止內(nèi)存溢出。
MaxKeepAliveRequests 100
長連接時間,默認(rèn)單位是秒,也可以使用ms 只需在數(shù)值后面添加單位就行了。這個值如果你服務(wù)器速度快,網(wǎng)絡(luò)穩(wěn)定,建議設(shè)置小一點,比如3s,因為目前單個請求都是毫秒級的。避免大量空閑長連接消耗你的系統(tǒng)資源。
KeepAliveTimeout 5
實驗總結(jié):
一次用戶訪問的長連接數(shù)根據(jù)用戶瀏覽器的不同建立的數(shù)量不同,比如chrome,每次會同時建立5個長連接,也就是五個數(shù)據(jù)通道,然后完成數(shù)據(jù)請求,所以大家都反應(yīng)chrome瀏覽器好用,其他瀏覽器要看情況,不同瀏覽器的連接數(shù)不同。
總結(jié)
以上是生活随笔為你收集整理的apache站点优化——长连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 部署LAMP-WordPress站点上线
- 下一篇: apache站点优化—静态缓存