国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

php如何設置并發(fā)連接數

發(fā)布時(shí)間:2021-09-27 17:50 來(lái)源:億速云 閱讀:0 作者:小新 欄目: 開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)php如何設置并發(fā)連接數的內容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

php設置并發(fā)連接數的方法:1、找到php-fpm.conf配置;2、編輯選項【pm= static】、【request_terminate_timeout】、【pm.max_requests】。

本文操作環(huán)境:windows10系統、php 7、thinkpad t480電腦。

首先我們需要在中找到php-fpm.conf配置(也有可能會(huì )在引入的www.fong配置中)

找到如下內容:

[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice
 
[www]
listen = /tmp/php-cgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = static
pm.max_children = 200
pm.start_servers = 40
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.max_requests=1000
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow.log

---------------------------------------------------------------------------

pm.max_children=30
pm.max_requests=500
pm.start_servers=4
pm.max_spare_servers=30

一. pm= static

首先說(shuō)一下pm這個(gè)值   pm = dynamic 這個(gè)是php的進(jìn)程數是動(dòng)態(tài)的  會(huì )根據訪(fǎng)問(wèn)量來(lái)確定來(lái)回增加

而在高負載的php環(huán)境下我推薦設置  pm= static php-fpm進(jìn)程數固定

二.  pm.max_children=???

當用靜態(tài)模式下 進(jìn)程數確定根據 pm.max_children來(lái)進(jìn)進(jìn)行確定    那么問(wèn)題來(lái)了我的服務(wù)器應該設定多少php-fpm呢 ?

從理論的角度上說(shuō)php-fpm進(jìn)程數越多越好,相當于一個(gè)酒店有很多個(gè)充足的服務(wù)員來(lái)為你服務(wù)肯定會(huì )比較爽啊 ,你也不需要等待。

但是。。?!,F實(shí)上總是殘酷的   php-fpm的進(jìn)程數會(huì )受到你的內存大小的限制。一般情況下我們    進(jìn)程數 =用機器內存(M)除以2  再除以20(M);

當然這個(gè)也不是絕對的   你需要知道:

你可以分配給php多大內存 :你的服務(wù)器上是不是單純的php服務(wù)器  有沒(méi)有比較耗費內存的其他程序()。 你的每個(gè)php-fpm內存占多大 :內存占用多大要根據你的php代碼質(zhì)量和處理的相關(guān)業(yè)務(wù)。當然你可以用命令去統計你的php-fpm平均占用內存大小。

有人會(huì )問(wèn)我如果設置不恰當會(huì )有什么狀況出現呢?

當數值偏小時(shí)請求到nginx會(huì )無(wú)法分配到php-fpm進(jìn)程 導致502錯誤

當數值偏大如果沒(méi)有大訪(fǎng)問(wèn)量還好  如果訪(fǎng)問(wèn)量較大的話(huà) 內存都會(huì )被php占光了。導致系統響應緩慢   cpu-system  升高 系統不斷的去調整內存分配

嚴重時(shí)會(huì )導致較高的 cup-wait 較高   內存不夠用了  直接寫(xiě)磁盤(pán)  磁盤(pán)io直線(xiàn)增加 。cpu使用率也開(kāi)始爆滿(mǎn)。(如圖所示)

三.request_terminate_timeout

計算方式如下:如果你的服務(wù)器性能足夠好,且寬帶資源足夠充足,PHP腳本沒(méi)有循環(huán)或BUG的話(huà)你可以直接將”request_terminate_timeout”設 置成0s。0s的含義是讓PHP-CGI一直執行下去而沒(méi)有時(shí)間限制。

而如果你做不到這一點(diǎn),也就是說(shuō)你的PHP-CGI可能出現某個(gè)BUG,或者你的寬帶不夠充足或者其他的原因導致你的PHP-CGI能夠假死那么就建議你給”request_terminate_timeout”賦一個(gè)值,這個(gè)值可以根 據你服務(wù)器的性能進(jìn)行設定。

一般來(lái)說(shuō)性能越好你可以設置越高,20分鐘-30分鐘都可以。由于我的服務(wù)器PHP腳本需要長(cháng)時(shí)間運行,有的可能會(huì )超過(guò)10分鐘因此我設置了900秒,這樣不會(huì )導致PHP-CGI死掉而出現502 Bad gateway這個(gè)錯誤。

四.pm.max_requests

這個(gè)參數的含義是php-fpm工作進(jìn)程處理完多少請求后自動(dòng)重啟,主要目的就是為了控制請求處理過(guò)程中的內存溢出,使得內存占用在一個(gè)可接受的范圍內。比較適用于服務(wù)器搭載項目比較雜亂,有點(diǎn)請求會(huì )比較占用內存

導致php-fpm占用比較大。在經(jīng)過(guò)一定次數請求后會(huì )結束掉進(jìn)程,釋放自己的內存。如果這個(gè)值太小就會(huì )導致所有的工作進(jìn)程幾乎同時(shí)達到這個(gè)值并且進(jìn)入需要重啟的狀態(tài),當所有的工作進(jìn)程都在同一時(shí)刻重啟就會(huì )發(fā)生在

數秒內甚至更長(cháng)的時(shí)間PHP將停止響應直到所有的進(jìn)程均重啟完為止。這是不能接受的,所以我一般會(huì )把這個(gè)值設置為PHP啟動(dòng)后第一批工作進(jìn)程達到此值需要重啟時(shí),第一個(gè)進(jìn)程重啟與最后一個(gè)進(jìn)程重啟之間的時(shí)間相差

1分鐘以上,一般在壓力比較大的晚上這個(gè)差值將會(huì )擴大到5分鐘左右,此時(shí)對進(jìn)程重啟對服務(wù)器的負面影響就可以忽略了。

下面補充幾個(gè)命令統計相關(guān)php-fpm 相關(guān)數據

1、查看php-fpm的進(jìn)程個(gè)數

ps -ef |grep "php-fpm"|grep "pool"|wc -l

2、查看每個(gè)php-fpm占用的內存大小

ps -ylC php-fpm --sort:rss

3.查看PHP-FPM在你的機器上的平均內存占用

ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'

4.查看單個(gè)php-fpm進(jìn)程消耗內存的明細

pmap $(pgrep php-fpm) | less

重啟php-fpm

1. 停止命令
  
 pkill php-fpm
  
2.重啟或啟動(dòng)命令
  
php-fpm -R
 
或
/alidata/server/php/sbin/php-fpm

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

php
漂亮人妻被强中文字幕| 国内免费久久久久久久久| 欧洲熟妇精品视频| 亚洲欧美激情精品一区二区| 国产开嫩苞视频在线观看| 国产福利酱国产一区二区|