首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于MySQL过程列表描述/含义的帮助

关于MySQL过程列表描述/含义的帮助
EN

Stack Overflow用户
提问于 2011-01-21 16:08:36
回答 2查看 2.8K关注 0票数 0

有人能告诉我下面的信息是什么意思或说什么吗?我对MySQL不是很熟悉。这个信息来自我的主机提供商。我特别感兴趣的是命令和时间评论意味着什么或正在告诉他们什么。

查看当前mysql进程列表,我们注意到以下与您的帐户相关的线程:

代码语言:javascript
复制
| Id | User  | Host | db | Command | Time | State | Info |

| 4655267 | xyz | localhost | xyz | Sleep   | 111  |     
| 4655961 | xyz | localhost | xyz | Sleep   | 8    |   
| 4654241 | xyz | localhost | xyz | Sleep   | 126  |     
| 4655961 | xyz | localhost | xyz | Sleep   | 38   |     

以下是有关情况的更详细信息:

最近,我遇到了与共享主机提供商有关我的MySQL使用的情况。参考页面已经启动和运行了近两年,没有问题,直到两天前,当他们声称它利用了过多的资源和负载的服务器,使它不稳定。在过去的9个月里,我们的网站流量和统计数据是一样的,而且可能更长。

他们在把它们拖出来后给我提供了一些信息,但我的问题是:

  1. 这是过度使用资源吗?
  2. 为什么两年后会突然成为一个问题?
  3. 即使在页面被禁用了2.5天之后,MySQL上的资源使用仍然保持不变或上升,那么这个问题真的与我的页面或其他相关吗?
  4. 流程列表告诉我什么?
  5. 我能做些什么来解决这个问题?

以下是他们提供的一些信息:

代码语言:javascript
复制
CPU: 0.06 % 
Memory: 0.17 % 
Mysql: 1.2 % 

Top Process   %CPU 3.0   /usr/php4/bin/php / specific file name 
Top Process   %CPU 1.5   /usr/php4/bin/php / specific file name 

您的帐户的问题是MySQL使用率很高。其他帐户的平均使用率是MySQL的0.2%,而您的帐户消耗超过1%。

查看当前mysql进程列表,我们注意到以下与您的帐户相关的线程:

代码语言:javascript
复制
+ Id | User  | Host | db | Command | Time | State | Info |

| 4655267 | xyz | localhost | xyz | Sleep   | 111  |     
| 4655961 | xyz | localhost | xyz | Sleep   | 8    |   
| 4654241 | xyz | localhost | xyz | Sleep   | 126  |     
| 4655961 | xyz | localhost | xyz | Sleep   | 38   |

请确保您的帐户一次有不超过2-3个同时进行的mysql连接,并且继续优化连接池的连接字符串;还要确保所有连接在使用后都正确终止,并且没有任何连接作为“空闲打开”。

在过去的七天里,我检查了资源的使用情况,这就是它对MySQL的说明。奇怪的是,由于页面不再是活动的,并且在过去的2.5天里都没有使用,所以它的使用率一直在上升或保持不变。

代码语言:javascript
复制
1/21/11 : Number of MySQL procs (average) - 1.19 
1/20/11 : Number of MySQL procs (average) - 1.24 
1/19/11 : Number of MySQL procs (average) - 1.20 
1/18/11 : Number of MySQL procs (average) - 1.18 
1/17/11 : Number of MySQL procs (average) - 1.13 
1/16/11 : Number of MySQL procs (average) - 1.08 
1/15/11 : Number of MySQL procs (average) - 1.09
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-22 08:43:33

好的,回答你的问题:

  1. 这是否是“过度”的资源使用,我认为,将取决于您与您的托管公司的协议。我会复习一下的。但是老实说,如果我的主机认为1%的CPU使用率过高,我会找到另一个主机。4个睡眠连接也是如此。当然,我更习惯于专用主机(我会说,在我使用的机器上,过多的MySQL使用率远远超过200%,过多的空闲连接更像是几百个)。但即使如此,你只使用不到一台廉价机器的1%,所以。假设$1k i7计算机上的最大CPU使用量为400 %或800% (取决于超线程)。
  2. 考虑到它可能突然改变的原因,我想到的唯一的事情就是检查是否有合适的指数。也许你的数据一直在缓慢增长?它也可能没有突然改变,但您的托管公司刚刚注意到“嘿,这台服务器超载了,让我们看看它”。
  3. 很明显,如果关闭页面并没有改变加载,那么它就不会导致加载。但我相信你已经知道了。
  4. 进程列表告诉您有4个休眠(空闲)连接,以及它们已经空闲了多长时间。
  5. 若要减少空闲连接的数量,请更改PHP/Apache配置。我相信mysql_pconnect每个Apache进程都有一个连接。或者,切换到mysql_connect

唯一真正的编程答案是检查您的索引,对您的查询执行EXPLAIN,等等,这是正常的MySQL优化内容。真正的答案,我怀疑,是找到一个主机,不抱怨时,您使用20美分/毫升的计算能力。

票数 2
EN

Stack Overflow用户

发布于 2011-01-21 16:15:03

你可以得到更好的信息mysql处理列表

另外,如果您使用mysql或phpmyadmin,您实际上可以看到确定查询时间的进程,并查看哪些查询需要很长时间才能执行。

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

https://stackoverflow.com/questions/4760959

复制
相关文章

相似问题

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