LAMP 系統性能調優以內核調優措施

LAMP 系統性能調優以內核調優措施

2011-03-18 11:21 Sean A. Walberg 網絡轉載  字號:T | T
一鍵收藏,隨時查看,分享好友!

在對系統的 Apache、PHP 和 MySQL 組件進行調優以前,應該花一些時間確保底層 Linux 組件的運行正常。這點是很是重要的!html

AD:2014WOT全球軟件技術峯會北京站 課程視頻發佈服務器

 

 

LAMP 

LAMPcookie

LAMP的一些快速的內核調優措施網絡

大多數 Linux 發佈版都定義了適當的緩衝區和其餘 Transmission Control Protocol(TCP)參數。能夠修改這些參數來分配更多的內存,從而改進網絡性能。設置內核參數的方法是經過 proc 接口,也就是經過讀寫 /proc 中的值。幸運的是,sysctl 能夠讀取 /etc/sysctl.conf 中的值並根據須要填充 /proc,這樣就可以更輕鬆地管理這些參數。清單 2 展現在互聯網服務器上應用於 Internet 服務器的一些比較激進的網絡設置。架構

清單 2. 包含較爲激進的網絡設置的 /etc/sysctl.conftcp

 

  1. # Use TCP syncookies when needed  
  2.  
  3. net.ipv4.tcp_syncookies = 1  
  4.  
  5. # Enable TCP window scaling  
  6.  
  7. net.ipv4.tcp_window_scaling: = 1  
  8.  
  9. # Increase TCP max buffer size  
  10.  
  11. net.core.rmem_max = 16777216  
  12.  
  13. net.core.wmem_max = 16777216  
  14.  
  15. # Increase Linux autotuning TCP buffer limits  
  16.  
  17. net.ipv4.tcp_rmem = 4096 87380 16777216  
  18.  
  19. net.ipv4.tcp_wmem = 4096 65536 16777216  
  20.  
  21. # Increase number of ports available  
  22.  
  23. net.ipv4.ip_local_port_range = 1024 65000  
  24.  

 

將這些設置添加到 /etc/sysctl.conf 的現有內容中。第一個設置啓用 TCP SYN cookie。當從客戶機發來新的 TCP 鏈接時,數據包設置了 SYN 位,服務器就爲這個半開的鏈接建立一個條目,並用一個 SYN-ACK 數據包進行響應。在正常操做中,遠程客戶機用一個 ACK 數據包進行響應,這會使半開的鏈接轉換爲全開的。有一種稱爲 SYN 氾濫(SYN flood) 的網絡攻擊,它使 ACK 數據包沒法返回,致使服務器用光內存空間,沒法處理到來的鏈接。SYN cookie 特性能夠識別出這種狀況,並使用一種優雅的方法保留隊列中的空間(細節參見 參考資料 一節)。大多數系統都默認啓用這個特性,可是確保配置這個特性更可靠。性能

啓用 TCP 窗口伸縮使客戶機可以以更高的速度下載數據。TCP 容許在未從遠程端收到確認的狀況下發送多個數據包,默認設置是最多 64 KB,在與延遲比較大的遠程客戶機進行通訊時這個設置可能不夠。窗口伸縮會在頭中啓用更多的位,從而增長窗口大小。優化

後面四個配置項增長 TCP 發送和接收緩衝區。這使應用程序能夠更快地丟掉它的數據,從而爲另外一個請求服務。還能夠強化遠程客戶機在服務器繁忙時發送數據的能力。網站

最後一個配置項增長可用的本地端口數量,這樣就增長了能夠同時服務的最大鏈接數量。spa

在下一次引導系統時,或者下一次運行 sysctl -p /etc/sysctl.conf 時,這些設置就會生效。

經過文章的描述和代碼的分析,咱們能夠經過內核調優措施來對LAMP進行調優!

【編輯推薦】

相關文章
相關標籤/搜索