No.3

一、查看httpd進程數(即prefork模式下Apache可以處理的併發請求數):html

ps -ef | grep httpd | wc -l

返回結果示例:
  1388
  表示Apache可以處理1388個併發請求,這個值Apache可根據負載狀況自動調整前端

 二、查看Apache的併發請求數及其TCP鏈接狀態:mysql

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

返回結果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057
  其中的SYN_RECV表示正在等待處理的請求數;ESTABLISHED表示正常數據傳輸狀態;TIME_WAIT表示處理完畢,等待超時結束的請求數。ios

三、網站訪問太慢,可能性有哪些nginx

1、網絡問題
  1、雙線機房或分佈式部署,動態DNS,須要考慮成本   2、客戶端和機房所在網絡狀況 2、前端問題   1、瀏覽器太爛   2、頁面設計不佳(dom太多、js有問題等) 3、服務端問題   一、負載,CPU, 網絡,內存,磁盤空間等使用狀況,日誌切割。若是單臺服務器性能受限,考慮調整爲分佈式架構,如nginx轉發,DB分庫分表等   二、用Xdebug,Webgrind等調試工具調試源碼 檢查webserver日誌中的響應時間 若是服務器總體負載不高,但PHP的數據返回時間過長,在PHP代碼中分段輸出處理時間 若是是高訪問量的在線調試,通常選取必定比例記錄日誌,防止日誌過多帶來的額外系統開銷 調試指導思想:逐步縮小範圍,定位、優化 日常開發原則: 編寫代碼注重效率,儘量佔用更少的資源 緩存複雜和耗時運算的結果 用apc或者xcache等緩存PHP的opcode 能異步處理的任務不要立刻處理,如發郵件 依據資源狀況對FastCGI配置合適的參數 負載均衡器設好閥值,不要無限制的給後端壓力 接口api設置過時時間,1秒內等 3、讀取慢 檢查:慢查詢日誌; show processlist 查看當前DB狀態,看哪些請求停留較多 top查看mysql進程的開銷 代碼中記錄SQL和執行時間 解決: 手動執行可疑SQL(注意排除query cache的影響),用explain,profile等工具分析SQL性能 再考慮是否優化索引,或者分庫分表,或者增長緩存 寫入慢 檢查:除讀取慢的檢查方法外,還有 iostat 檢查磁盤IO 查看mysql binlog的寫入速率 解決:增長緩存,分庫分表,優化索引,從業務邏輯上考慮減小DB操做,合併寫入 4、其餘問題 1、http請求過多 二、Keep-Alive 三、圖像過大,沒有通過壓縮

 

四、http的keep-aliveweb

  http://www.javashuo.com/article/p-sqsgpppe-bd.htmlsql

 

五、後端

文件以下:
a,b,c,d,1,2,3 e,f,g,h,2,3,4 1,2,3,4,3,4,4 4,5,5 b,d,1,2,3 ... 計算倒數第三列的累加值: awk -F ',' '{a+=$(NF-2)}END{print a}' 1.txt

 

六、nginx工做原理和優化 api

  http://blog.csdn.net/hguisu/article/details/8930668瀏覽器

相關文章
相關標籤/搜索