gpt4 book ai didi

php - MySQL threads_connected 数量减慢了我的网站

转载 作者:行者123 更新时间:2023-11-29 05:17:22 26 4
gpt4 key购买 nike

我有一家商店在 Prestashop 1.5.4 上运行。我一直对网站行为有疑问。

每次我检查这个数字

user@server:~$ mysql -se "show status like '%threads_connected%'"

如果该数字超过 25,我的网站就会变得非常慢。打开页面需要很长时间,页面加载时间可能高达 1 - 2 分钟。

唯一的解决方案(临时)是让我重新启动 apache 服务。

我很确定 25 是一个非常低的数字。

如果您需要知道,我没有直接访问 my.ini 的权限,也没有对 MySQL 服务器配置的任何访问权限。我的数据库存储在共享 (DBaSS) 中。

不过,我确实可以完全访问我的网络服务器(apache2.conf、php.ini、www.example.com.conf)

一些可能有用的信息:

-se "show variables like '%max%'"

输出:

Image 1 Image 2

我想我的问题是如何提高性能?我可以通过限制“threads_connected”的数量来改善这一点吗?

脚注:

我知道代码中某处可能存在错误查询,但是,目前我需要一个快速解决方案。因为审查所有查询可能需要一些时间。

编辑#1

也许这些信息可以提供一些想法

php.ini php.ini

编辑#2 apache2.conf

最佳答案

Can i improve this by limiting the number of "threads_connected"?

绝对不是。

您通过限制连接数所能做的就是给您站点的用户带来错误,因为他们特定的 Apache 进程将无法连接到数据库。

问题是不是连接的线程数。这是实际问题的症状,即您有一个或多个查询执行不佳,或者您没有足够的内存供 Apache 扩展流量变大,迫使您的机器进行大量交换,从而降低 Apache 的速度,使其保持连接打开的时间更长。

I need a quick solution for this

抱歉...但除了找到实际问题并解决它之外没有其他解决方案。

比连接数更有用的是这些连接现在在做什么?

MySQL 中的

SHOW FULL PROCESSLIST; 将回答这个问题。如果他们只是在 sleep ,他们不会伤害 MySQL 端的任何东西,你可能想限制 Apache 进程的数量,但如果这是站点流量水平的副作用,那么你的服务器实际上可能太小,或者您可能需要禁用 HTTP keepalive,或者调整超时,如果浏览器连接保持打开的 Apache 子进程空闲,消耗内存。

关于php - MySQL threads_connected 数量减慢了我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30928921/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com