广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么设置并发连接数
  • 616
分享到

php怎么设置并发连接数

php并发连接数 2018-02-06 20:02:14 616人浏览 绘本
摘要

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。首先我们需要在服务器中找到php-fpm.conf配置(也有可能会在引入的www.fong配置中)找到如下内容:[global] pid = /usr/loc

本文操作环境:windows10系统、PHP 7、thinkpad t480电脑。

首先我们需要在服务器中找到php-fpm.conf配置(也有可能会在引入的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

首先说一下pm这个值 pm = dynamic 这个是php的进程数是动态的 会根据访问量来确定来回增加

而在高负载的php环境下我推荐设置 pm= static php-fpm进程数固定

二. pm.max_children=???

当用静态模式下 进程数确定根据 pm.max_children来进进行确定 那么问题来了我的服务器应该设定多少php-fpm呢 ?

从理论的角度上说php-fpm进程数越多越好,相当于一个酒店有很多个充足的服务员来为你服务肯定会比较爽啊 ,你也不需要等待。

但是。。。。现实上总是残酷的 php-fpm的进程数会受到你的内存大小的限制。一般情况下我们 进程数 =用机器内存(M)除以2 再除以20(M);

当然这个也不是绝对的 你需要知道:

你可以分配给php多大内存 :你的服务器上是不是单纯的php服务器 有没有比较耗费内存的其他程序(Mysql)。 你的每个php-fpm内存占多大 :内存占用多大要根据你的php代码质量和处理的相关业务。当然你可以用命令去统计你的php-fpm平均占用内存大小。

有人会问我如果设置不恰当会有什么状况出现呢?

当数值偏小时请求到Nginx会无法分配到php-fpm进程 导致502错误

b84533a9dbf5b505ff5abb4564b8cf8.png

当数值偏大如果没有大访问量还好 如果访问量较大的话 内存都会被php占光了。导致系统响应缓慢 cpu-system 升高 系统不断的去调整内存分配

严重时会导致较高的 cup-wait 较高 内存不够用了 直接写磁盘 磁盘io直线增加 。cpu使用率也开始爆满。(如图所示)

07d406dd10da893862b7e501b182c17.png

三.request_terminate_timeout

计算方式如下:如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没有循环或BUG的话你可以直接将”request_terminate_timeout”设 置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。

而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给”request_terminate_timeout”赋一个值,这个值可以根 据你服务器的性能进行设定。

一般来说性能越好你可以设置越高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。

四.pm.max_requests

这个参数的含义是php-fpm工作进程处理完多少请求后自动重启,主要目的就是为了控制请求处理过程中的内存溢出,使得内存占用在一个可接受的范围内。比较适用于服务器搭载项目比较杂乱,有点请求会比较占用内存

导致php-fpm占用比较大。在经过一定次数请求后会结束掉进程,释放自己的内存。如果这个值太小就会导致所有的工作进程几乎同时达到这个值并且进入需要重启的状态,当所有的工作进程都在同一时刻重启就会发生在

数秒内甚至更长的时间PHP将停止响应直到所有的进程均重启完为止。这是不能接受的,所以我一般会把这个值设置为PHP启动后第一批工作进程达到此值需要重启时,第一个进程重启与最后一个进程重启之间的时间相差

1分钟以上,一般在压力比较大的晚上这个差值将会扩大到5分钟左右,此时对进程重启对服务器的负面影响就可以忽略了。

下面补充几个命令统计相关php-fpm 相关数据

查看php-fpm的进程个数

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

查看每个php-fpm占用的内存大小

ps -ylC php-fpm --sort:rss

查看PHP-FPM在你的机器上的平均内存占用

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

查看单个php-fpm进程消耗内存的明细

pmap $(pgrep php-fpm) | less

重启php-fpm

1. 停止命令
  
 pkill php-fpm
  
2.重启或启动命令
  
php-fpm -R
 
或
/alidata/server/php/sbin/php-fpm

--结束END--

本文标题: php怎么设置并发连接数

本文链接: https://www.lsjlt.com/news/182.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么设置并发连接数
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。首先我们需要在服务器中找到php-fpm.conf配置(也有可能会在引入的www.fong配置中)找到如下内容:[global] pid = /usr/loc...
    99+
    2018-02-06
    php 并发 连接数
  • nginx怎么限制并发连接数
    要限制Nginx的并发连接数,可以使用Nginx的limit_conn模块。下面是一些常见的配置示例: 全局限制并发连接数: 在...
    99+
    2023-10-25
    nginx
  • 怎么设置MySQL的连接数
    本文小编为大家详细介绍“怎么设置MySQL的连接数”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么设置MySQL的连接数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2023-04-12
    mysql
  • PHP连接超时时间怎么设置
    在我们使用PHP进行网络请求时,有时候我们需要调整连接超时时间来适应不同的网络环境和请求类型。本文将介绍PHP连接超时时间,其原理和设置方法。连接超时时间是指当我们进行网络请求时,如果服务器无法响应请求,那么客户端需要等待多长时间后才会超时...
    99+
    2023-05-14
    php
  • mysql怎么设置最大连接数
    这篇文章主要介绍“mysql怎么设置最大连接数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql怎么设置最大连接数”文章能帮助大家解决问题。方法一:命令行修改...
    99+
    2022-10-19
  • docker怎么部署mysql8并设置可远程连接
    本文小编为大家详细介绍“docker怎么部署mysql8并设置可远程连接”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker怎么部署mysql8并设置可远程连接”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-02
  • mysql怎么设置短连接
    要设置MySQL短连接,可以通过修改MySQL的配置文件my.cnf来实现。以下是设置MySQL短连接的步骤:1. 打开MySQL的...
    99+
    2023-08-16
    mysql
  • 怎么在mysql中设置最大连接数
    本篇文章为大家展示了怎么在mysql中设置最大连接数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方法一:命令行修改我们只需要打开mysql的控制台,输入“set ...
    99+
    2022-10-18
  • SQL Server中怎么设置最大连接数
    这期内容当中小编将会给大家带来有关SQL Server中怎么设置最大连接数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、设置最大连接数下面的T-SQL 语句可以配置S...
    99+
    2022-10-18
  • mysql怎么设置最大连接数详解
    目录前言方法一:命令行修改方法二:通过mysql配置文件来修改最大连接数总结前言 设置mysql最大连接数的方法:首先打开mysql的控制台;然后输入语句【set GLOBAL ma...
    99+
    2022-11-13
  • golang数据库连接池怎么设置好
    要设置好Go语言的数据库连接池,可以按照以下步骤进行操作: 导入数据库驱动包:首先需要导入适用于Go语言的数据库驱动包,如`da...
    99+
    2023-10-27
    golang 数据库
  • springboot接口并发数限制怎么配置
    要限制Spring Boot接口的并发数,可以使用线程池来控制并发访问。可以通过配置Spring Boot的线程池来限制并发数。1....
    99+
    2023-10-11
    springboot
  • Storm并发度怎么设置
    本篇内容介绍了“Storm并发度怎么设置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Storm架构:master/slave  主节点...
    99+
    2023-06-02
  • windows怎么设置无线连接
    要设置无线连接,请按照以下步骤进行操作:1. 首先,确保你的电脑已经安装了无线网卡驱动程序,并且无线网卡已经启用。你可以通过在任务栏...
    99+
    2023-09-17
    windows
  • win10怎么设置本地连接
    在win10中设置本地连接的方法:1.打开控制板面;2.进入“网络和Internet”选项;3.点击“更改适配器”选项;4.右键本地连接选择“属性”;5.进入ipv4选项;具体步骤如下:首先,在计算机中打开控制板面;进入到控制板面后,在页面...
    99+
    2022-10-14
  • win7怎么设置本地连接
    这篇文章主要讲解了“win7怎么设置本地连接”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“win7怎么设置本地连接”吧!win7电脑本地连接设置方法:点击桌面右下角的电脑图标,在弹出的窗口中...
    99+
    2023-07-01
  • win10怎么设置网络连接
    在Windows 10中设置网络连接,你可以按照以下步骤操作:1. 点击Windows开始菜单,然后点击“设置”图标(齿轮形状)。2...
    99+
    2023-08-31
    win10
  • 怎么通过php连接数据库并查询数据
    在开发Web应用程序时,我们经常需要与数据库进行交互。而数据库连接是连接Web应用程序和数据存储的关键部分。在这篇文章中,我们将探讨如何使用PHP进行数据库连接并查询数据库。首先,我们需要确保我们已经安装了PHP和MySQL。如果您还没有安...
    99+
    2023-05-14
    php 数据库
  • 连接云服务器数据库怎么设置
    如果您要连接的云服务器数据库是托管在公有云上,您可以按照以下步骤设置连接以访问云服务器: 登录您的云服务器账户和数据库账户并进入管理界面。 在本地连接上创建一个新连接,并指定要连接的数据库和服务器名称。例如,您可以将服务器名称设置为您选...
    99+
    2023-10-26
    服务器 数据库
  • golang结合mysql怎么设置最大连接数和最大空闲连接数
    本文小编为大家详细介绍“golang结合mysql怎么设置最大连接数和最大空闲连接数”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang结合mysql怎么设置最大连接数和最大空闲连接数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作