第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

10、Nginx+Php-Fpm如何抗并發(fā)

標(biāo)簽:
PHP

1、环境准备

    沿用之前”nginx与php-fpm结合详解”的配置信息,并启动

2、查看php-fpm的信息

  • 配置信息

pm = dynamic

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

  • 进程数

    https://img1.sycdn.imooc.com//5cd43aa300016ca312350083.jpg        

3、编写测试文件

  • web文件-test.php

<?php

set_time_limit(0);

sleep(10);

echo “test.php->”.time();

  • 测试文件-pcntl.php

<?php

function postXmlCurl($url,$xml=””,$second = 30)

{

$ch = curl_init();

//设置超时

curl_setopt($ch, CURLOPT_TIMEOUT, $second);

curl_setopt($ch,CURLOPT_URL, $url);

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);//TRUE

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//严格校验 2

//设置header

curl_setopt($ch, CURLOPT_HEADER, FALSE);

//要求结果为字符串且输出到屏幕上

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

//post提交方式

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

//运行curl

$data = curl_exec($ch);

//返回结果

if($data){

curl_close($ch);

return $data;

} else {

$error = curl_errno($ch);

curl_close($ch);

return “error->”.$error;

}

}

$count = 10;

$url = “http://127.0.0.1:81/test.php”;

$pidArr = array();

for ($i=0;$i<$count;$i++) {

$pid = pcntl_fork();

if ($pid<0) {

exit(“fork is error.”);

} elseif ($pid==0) {

echo posix_getpid().’–>’.postXmlCurl($url),PHP_EOL;

exit;

} else {

$pidArr[$pid] = $pid;

}

}

while (1) {

if (!count($pidArr)) {

echo “over”,PHP_EOL;

break;

}

$pid = pcntl_wait($status,WUNTRACED);

if ($pid>0) {

echo “{$pid} is over–>”,$status,PHP_EOL;

unset($pidArr[$pid]);

}

}

  • 执行pcntl.php文件,然后查看php-fpm进程数

    https://img1.sycdn.imooc.com//5cd43ab2000121a912400144.jpg

    从进程数可以看出,php-fpm根据配置文件内容和实际情况,动态创建子进程来处理请求。当达到能够创建的最大值时,只能阻塞。一个个地进行执行。

4、优化进程池配置

  • 进程数优化

pm = dynamic

pm.max_children = 300

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

  • 最大请求数优化

    pm.max_requests = 10240

    提示: 这个用来处理因为PHP解析器或引用的第三方库时,造成的内存泄露问题。

    最大请求数:指一个php-fpm的工作进程在处理多少个请求后就终止掉。

  • 最长执行时间优化(php.ini)

    request_terminate_timeout = 20

    提示:这个是用来处理因为PHP执行时间超长而报502错误的解决。

    这个时长配置可以在php.ini(max_execution_time)或php-fpm.conf中配置均可,为了不影响全局配置,可在php-fpm.conf中实现


點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消