<ruby id="5hvrh"><ins id="5hvrh"></ins></ruby><ruby id="5hvrh"></ruby>
<strike id="5hvrh"></strike>
<th id="5hvrh"></th>
<span id="5hvrh"><noframes id="5hvrh">
<th id="5hvrh"></th><strike id="5hvrh"><video id="5hvrh"></video></strike><span id="5hvrh"></span>
<strike id="5hvrh"><noframes id="5hvrh"> <strike id="5hvrh"><noframes id="5hvrh"><span id="5hvrh"></span><th id="5hvrh"></th>
<strike id="5hvrh"><noframes id="5hvrh"><th id="5hvrh"></th><span id="5hvrh"><video id="5hvrh"></video></span><strike id="5hvrh"><noframes id="5hvrh">

企業網站托管

企業門戶的基礎配置,多端適配,完美展示企業信息

LNMP單機高并發的簡單優化

文章出處:本站原創 | 發表時間:2021-01-31 23:51:02

小項目使用單臺機器,2核4G,使用CentOS+Nginx+MySQL+PHP環境搭建的搶購活動。前臺Vue+Laravel框架提供API及后管,使用Redis防止超售問題。

優化前使用默認的lnmp配置,活動開始后基本卡死,php-fpm日志記錄到線程數量不夠、CPU占用90%以上。慢日志中發現laravel include過多文件導致磁盤IO過高,網站請求變慢,進而導致nginx日志中過多的499狀態碼(客戶端主動關閉),用戶體驗效果很差。

我使用的幾條優化方法:

  1. 首先盡量減少搶購過程中的mysql查詢,轉移到Redis儲存,開啟Redis持久化,防止宕機后的數據丟失。
  2. 優化PHP-FPM,啟動多個php-fpm master進程來分擔過多的php請求,比如我啟動了四個php-fpm。Nginx中使用upstream進行負載均衡。
  3. 手動指定Nginx的worker_processes和worker_cpu_affinity,我設置為雙倍,即worker_processes 4、worker_cpu_affinity 0001 0010 0100 1000。
  4. 啟用opcache解決php磁盤占用過高的問題,opcache緩存php編譯后的字節碼,直接跳過前期的文件相互引用和編譯解釋過程,效果明顯。

測試優化后,并發能穩定在140左右,基本無錯誤,響應很快,體驗提高很多。

鲁丝片一区鲁丝片二区鲁丝片三区
<ruby id="5hvrh"><ins id="5hvrh"></ins></ruby><ruby id="5hvrh"></ruby>
<strike id="5hvrh"></strike>
<th id="5hvrh"></th>
<span id="5hvrh"><noframes id="5hvrh">
<th id="5hvrh"></th><strike id="5hvrh"><video id="5hvrh"></video></strike><span id="5hvrh"></span>
<strike id="5hvrh"><noframes id="5hvrh"> <strike id="5hvrh"><noframes id="5hvrh"><span id="5hvrh"></span><th id="5hvrh"></th>
<strike id="5hvrh"><noframes id="5hvrh"><th id="5hvrh"></th><span id="5hvrh"><video id="5hvrh"></video></span><strike id="5hvrh"><noframes id="5hvrh">