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請求
添加異步請求
啟用瀏覽器緩存
服務器優化:
頁面靜態化
并發處理
隊列處理
數據庫優化:
數據庫緩存
分庫分表,分區操作
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
php大牛分享:php代碼編寫的規范,總結的很全
PHP的安裝以及與apache整合的介紹
以上就是如何解決PHP的高并發和大流量的問題的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答