首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache连接停留在“发送回复”和高mysql负载上。

问Apache连接停留在“发送回复”和高mysql负载上。
EN

Server Fault用户
提问于 2019-11-22 03:53:31
回答 1查看 447关注 0票数 0

由于连接处于“发送回复”状态,我专用服务器上的Apache经常挂起:

Apache状态:连接卡在“发送回复”中

这种情况每天至少会发生几次--有时不会发生2到3个小时,有时会经常发生,以至于所有连接都会被占用,并且在重新启动apache后5分钟内发送回复。这会导致站点有持续的停机时间。这些请求中的IP通常是Amazon或Cloudflare (我在许多站点上使用Cloudflare,Amazon可能是因为让站点使用Ezoic名称服务器)访问站点上的各种URL。上面屏幕截图中的'SS‘列显示了连接卡住了多长时间--在这个例子中,每个请求都是几百秒,所以有些地方很不对劲。

这些都是简单的Wordpress网站,通常没有图片,没有不寻常的插件,非常简单,而且绝对没有什么不寻常的东西会导致页面需要很长时间来加载。然而,他们在每个站点上都有5,000到100,000+的帖子,并且可能每天发布多达数千条帖子(使用插件"WP所有导入pro"),这些帖子计划在导入后24小时内随机发布。服务器上有这样的10+站点,但是只有3或4个经常出现在apache状态下,连接被卡住。

在服务器上的所有站点中,每月的页面浏览量都刚刚超过50万次,应该可以由我的服务器轻松处理(来自Namec堆: XEON E3 1240 V3 8GB DDR3 1TBHDDSATA)。

Mysql在服务器上的负载往往很高,有时当查看phpmyadmin中的处理列表时,会出现卡住的查询或有时为空的查询。运行“top”命令还经常显示非常高的CPU使用率(我的服务器有4个CPU核心)。示例截图:

查询被卡住

空查询

高mysql CPU使用

值得关注的是,/var/lib/mysql中的mysql错误日志现在的大小已经超过3GB,对我来说太大了,甚至连重命名它和检查生成的新错误都会显示出许多“读取通信数据包错误”的错误。我不知道这是否是apache中卡住连接的问题,如果是的话,该怎么办。

我尝试过从默认的150中更改所有可能的apache设置,比如Max Request,这样就可以建立更多的连接(因为任何新的连接也会被占用和卡住),禁用所有插件或在wordpress站点上尝试不同的主题(没有效果),以及在my.cnf (每个https://serverfault.com/a/989269/548654)中更改一些不同的mysql设置,没有任何改进。我还尝试将其中一个问题站点的所有数据库表从InnoDB更改为MyISAM,但它仍然无法连接。我还能做些什么来解决这个问题?

EN

回答 1

Server Fault用户

发布于 2019-11-22 23:05:32

关于MySQL:

“等待表级锁”意味着某种管理任务(例如,ALTER )正在运行。这就是完整的程序吗?通常,通过“时间”比运行时间最长的“卡住”查询,可以发现顽皮的查询。

慢速日志是另一种捕获长期运行的查询的方法。

WordPress中的一个可修复的慢度在元表定义中:http://mysql.rjweb.org/doc.php/index_烹饪书_mysql#speeding_向上_wp_后元。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/992850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档