Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
httpd-CPU利用率100%-Mysql服务器远程位置_Mysql_Apache - Fatal编程技术网

httpd-CPU利用率100%-Mysql服务器远程位置

httpd-CPU利用率100%-Mysql服务器远程位置,mysql,apache,Mysql,Apache,数据库一个在本地,另一个在远程服务器位置。 框架-cakePHP Mysql:5.1.71-“远程位置” PHP版本5.5.14 现在,在使用本地mysql数据库时,当使用TOP命令进行检查时,httpd请求的CPU利用率是正常的 但是,当我使用远程服务器数据库时。访问同一页面时,CPU利用率将高达70%,有时甚至100% 下面是php.ini和httpd.conf文件的几个主要设置 php.ini memory_limit = 128M max_input_time = 60 post_max

数据库一个在本地,另一个在远程服务器位置。 框架-cakePHP Mysql:5.1.71-“远程位置” PHP版本5.5.14

现在,在使用本地mysql数据库时,当使用TOP命令进行检查时,httpd请求的CPU利用率是正常的

但是,当我使用远程服务器数据库时。访问同一页面时,CPU利用率将高达70%,有时甚至100%

下面是php.ini和httpd.conf文件的几个主要设置

php.ini

memory_limit = 128M
max_input_time = 60
post_max_size = 8M
httpd.conf

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

<IfModule worker.c>
StartServers         4
MaxClients         300
MinSpareThreads     25
MaxSpareThreads     75 
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15

StartServers 8
MinSpareServers 5
MaxSpareServers 20
服务器限制256
MaxClients 256
MaxRequestsPerChild 4000
StartServers 4
MaxClients 300
Minspare25
MaxSpareThreads 75
螺纹预裂25
MaxRequestsPerChild 0
拒之门外
MaxKeepAliveRequests 100
暂停15分钟
在这种情况下,是什么原因导致了httpd的高CPU利用率

任何帮助都将不胜感激

谢谢
Sudhir

我以前有两台mysql服务器,它们都是这样固定的。我会有一些脚本来做一些事情。有人会告诉我连接操作是什么样子(服务器上的Concurrent会话连接)并记录下来。下一步是检查服务使用情况,如果阈值达到70%,我将开始停止连接,并给自己发送一些电子邮件,看看交易是什么

事实证明,在您正常使用期间,当您希望看到人们浏览您的网站时,我的服务器坏了)

除了杀死会话(这并不酷),我还做了一些事情来缓解这种情况。就是规范化我的数据库,重构那些被大量使用的表。然后我将修复并重新编制索引

我还意识到某些事情是无法配置的。我们创造冗余

我必须镜像我的MySQL服务器,然后根据请求参数路由用户

最终,我意识到我需要更好的负载平衡,并最终使用了4台MySQL服务器和一个负载平衡器来减少和引导流量

因此,您的方法是在查询级别上,看看您可以在那里做些什么,然后进行数据库/表重构和重新索引

接下来,创建并发连接脚本,并将不活动的用户作为目标,将其重定向到某个位置,或者直接将其剪辑,为站点上的重量级用户让路

随着时间的推移,我做了很多事情,但这就是今天一切的开始

希望这是有帮助的,或者至少让你考虑一种方法