如何解決PHP的高並發和大流量的問題

來源:互聯網
上載者:User
這篇文章主要介紹了關於如何解決PHP的高並發和大流量的問題,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

基礎知識

  TFS : 輸送量 (輸送量是指系統在單位時間內處理請求的數量)

  RT : 回應時間 (從請求發出到收到回應時間)

  並發數 : 在一段時間內同時訪問網站的使用者數

  QPS : 每秒查詢率 (每秒請求或者相應數,在互連網領域,值每秒相應請求數(值HTTP請求))

  PV : page view 頁面訪問量

  UV : user view 使用者訪問量

一般來說,日pv(訪問量)大於1000萬就可以算做高並發

日網站頻寬 = PV / 統計時間 (秒) * 頁面平均大小(KB) * 8

壓力測試

推薦使用apache內建的壓力測試工具 ab

使用方法:進入apache目錄,在目前的目錄下運行(windows):

ab.exe -n 總請求量 -c 並發請求量  http://請求地址

請求結束後我們可以得到資料:

Server Software:        Apache/2.4.18伺服器類型Server Hostname:        eko.xiao.com    網域名稱Server Port:            80連接埠Document Path:          /index.html  請求檔案Document Length:        529 bytes檔案大小Concurrency Level:      100並發數Time taken for tests:   1.240 seconds總回應時間Complete requests:      1000請求數Failed requests:        0失敗次數Total transferred:      800000 bytes總共傳輸資料量HTML transferred:       529000 bytesRequests per second:    806.41 [#/sec] (mean)QPS(每秒查詢率)Time per request:       124.007 [ms] (mean)平均回應時間Time per request:       1.240 [ms] (mean, across all concurrent requests)Transfer rate:          630.00 [Kbytes/sec] receivedConnection Times (ms)              min  mean[+/-sd] median   maxConnect:        0    1   1.4      1      38Processing:    42  114  34.2    103     204Waiting:       41  113  33.9    102     204Total:         43  115  34.5    104     207Percentage of the requests served within a certain time (ms)  50%    104  66%    117  75%    133  80%    136  90%    173  95%    197  98%    204  99%    204 100%    207 (longest request)  

最佳化

隨著QPS增長,每個階段需要做不同的最佳化措施,最佳化的方案也與硬體,網路條件相關

QPS達到50

  無需最佳化

QPS達到100(資料庫層)

  假設資料庫每次查詢0.01S,每個頁面只有一個sql查詢,那麼此時已經是資料庫極限

  最佳化措施:資料庫緩衝,資料庫負載平衡,redis,memcache

QPS達到800 (網路頻寬)

  假設每個頁面只有10K,那麼在800QPS下,頻寬已經耗盡

  最佳化措施:CDN加速 負載平衡

QPS達到1000

  最佳化措施:靜態頁面

流量最佳化:

  防盜鏈處理

前端最佳化:

  減少HTTP請求

  添加非同步請求

  啟用瀏覽器緩衝

伺服器最佳化:

  頁面靜態化

  並發處理

  隊列處理

資料庫最佳化:

  資料庫緩衝

  分庫分表,分區操作

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.