LAMP 系統(tǒng)性能調(diào)優(yōu)之內(nèi)核調(diào)優(yōu)措施
LAMP
LAMP的一些快速的內(nèi)核調(diào)優(yōu)措施
大多數(shù) Linux 發(fā)布版都定義了適當(dāng)?shù)木彌_區(qū)和其他 Transmission Control Protocol(TCP)參數(shù)??梢孕薷倪@些參數(shù)來分配更多的內(nèi)存,從而改進(jìn)網(wǎng)絡(luò)性能。設(shè)置內(nèi)核參數(shù)的方法是通過 proc 接口,也就是通過讀寫 /proc 中的值。幸運(yùn)的是,sysctl 可以讀取 /etc/sysctl.conf 中的值并根據(jù)需要填充 /proc,這樣就能夠更輕松地管理這些參數(shù)。清單 2 展示在互聯(lián)網(wǎng)服務(wù)器上應(yīng)用于 Internet 服務(wù)器的一些比較激進(jìn)的網(wǎng)絡(luò)設(shè)置。
清單 2. 包含較為激進(jìn)的網(wǎng)絡(luò)設(shè)置的 /etc/sysctl.conf
- # Use TCP syncookies when needed
- net.ipv4.tcp_syncookies = 1
- # Enable TCP window scaling
- net.ipv4.tcp_window_scaling: = 1
- # Increase TCP max buffer size
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- # Increase Linux autotuning TCP buffer limits
- net.ipv4.tcp_rmem = 4096 87380 16777216
- net.ipv4.tcp_wmem = 4096 65536 16777216
- # Increase number of ports available
- net.ipv4.ip_local_port_range = 1024 65000
將這些設(shè)置添加到 /etc/sysctl.conf 的現(xiàn)有內(nèi)容中。第一個(gè)設(shè)置啟用 TCP SYN cookie。當(dāng)從客戶機(jī)發(fā)來新的 TCP 連接時(shí),數(shù)據(jù)包設(shè)置了 SYN 位,服務(wù)器就為這個(gè)半開的連接創(chuàng)建一個(gè)條目,并用一個(gè) SYN-ACK 數(shù)據(jù)包進(jìn)行響應(yīng)。在正常操作中,遠(yuǎn)程客戶機(jī)用一個(gè) ACK 數(shù)據(jù)包進(jìn)行響應(yīng),這會(huì)使半開的連接轉(zhuǎn)換為全開的。有一種稱為 SYN 泛濫(SYN flood) 的網(wǎng)絡(luò)攻擊,它使 ACK 數(shù)據(jù)包無法返回,導(dǎo)致服務(wù)器用光內(nèi)存空間,無法處理到來的連接。SYN cookie 特性可以識(shí)別出這種情況,并使用一種優(yōu)雅的方法保留隊(duì)列中的空間(細(xì)節(jié)參見 參考資料 一節(jié))。大多數(shù)系統(tǒng)都默認(rèn)啟用這個(gè)特性,但是確保配置這個(gè)特性更可靠。
啟用 TCP 窗口伸縮使客戶機(jī)能夠以更高的速度下載數(shù)據(jù)。TCP 允許在未從遠(yuǎn)程端收到確認(rèn)的情況下發(fā)送多個(gè)數(shù)據(jù)包,默認(rèn)設(shè)置是最多 64 KB,在與延遲比較大的遠(yuǎn)程客戶機(jī)進(jìn)行通信時(shí)這個(gè)設(shè)置可能不夠。窗口伸縮會(huì)在頭中啟用更多的位,從而增加窗口大小。
后面四個(gè)配置項(xiàng)增加 TCP 發(fā)送和接收緩沖區(qū)。這使應(yīng)用程序可以更快地丟掉它的數(shù)據(jù),從而為另一個(gè)請(qǐng)求服務(wù)。還可以強(qiáng)化遠(yuǎn)程客戶機(jī)在服務(wù)器繁忙時(shí)發(fā)送數(shù)據(jù)的能力。
最后一個(gè)配置項(xiàng)增加可用的本地端口數(shù)量,這樣就增加了可以同時(shí)服務(wù)的最大連接數(shù)量。
在下一次引導(dǎo)系統(tǒng)時(shí),或者下一次運(yùn)行 sysctl -p /etc/sysctl.conf 時(shí),這些設(shè)置就會(huì)生效。
通過文章的描述和代碼的分析,我們可以通過內(nèi)核調(diào)優(yōu)措施來對(duì)LAMP進(jìn)行調(diào)優(yōu)!
【編輯推薦】
- LAMP 系統(tǒng)性能調(diào)優(yōu)之度量性能
- LAMP 系統(tǒng)性能調(diào)優(yōu)之理解 LAMP 架構(gòu)
- LAMP網(wǎng)站架構(gòu)方案解剖
- LAMP系統(tǒng)優(yōu)化
- LAMP的平臺(tái)組成
- lamp的起源
- lamp 簡(jiǎn)單介紹 (圖)