首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高MySQL吞吐量

高MySQL吞吐量
EN

Database Administration用户
提问于 2015-01-01 17:22:50
回答 1查看 2.2K关注 0票数 2

在一台拥有大量用户和网站的大型服务器上,从上午11点开始,我们的MySQL吞吐量达到了最大值(60-80米),这一次,我们的客户网站负载减缓了。

我们没有任何磁盘IO,服务器HDD :6* 600 G SAS 15K + 64 G RAM

MySQL配置:

代码语言:javascript
复制
innodb_buffer_pool_size=8192M (2 G above mysqltuner recommendation)

截图:

有什么办法解决这个问题吗?

这个评论在第一个答案之后添加:

你好,亲爱的达米亚诺:非常感谢你的回答。关于您的评论:我将附上服务器监视器的完整屏幕。(本评论结尾)

关于慢速查询:我已经这样做了,但是每24小时我们就有500次慢速查询。而且大多数都不是反复发生的。

另外一件事,这个服务器很大,而且我们有高流量的网站在上面,所以我不能要求客户不要使用服务器资源。

代码语言:javascript
复制
mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 11573    |
| Qcache_free_memory      | 27291504 |
| Qcache_hits             | 83817933 |
| Qcache_inserts          | 36512628 |
| Qcache_lowmem_prunes    | 15633028 |
| Qcache_not_cached       | 4338965  |
| Qcache_queries_in_cache | 29930    |
| Qcache_total_blocks     | 106130   |
+-------------------------+----------+

这里是您所需要的一切:http://www.4shared.com/zip/jX54

来自输出服务器的1屏幕快照+1 1txt文件

EN

回答 1

Database Administration用户

发布于 2015-01-02 22:07:30

从您提供的图表(我在下面报告,为了方便其他读者),我看到您正在运行穆宁来监视您的服务器。

因此,也可以查看其他图形(如CPU、内存、I/O,更重要的是网络流量),这些图形不幸地没有包含在您的问题中。

无论如何,mysql吞吐量插件(生成下图)将自己描述为:"mysql_bytes - plugin,用于监视mysql发送和接收的字节数“。

因此,根据图表,我们看到您的MySQL正在以40 80MBps (Mega每秒)到70/80 80MBps的速度向底层网络提供内容服务。

如果这在您的特定情况下是不正常的,那么除了查看这个答案之外,您还可以检查/监视服务器上正在发生的事情,搜索高流量的查询结果。

第一步,我建议:

  • 显示处理列表:查看哪些用户被连接,哪些查询在哪个DB上运行,运行多长时间(应该是“长的”);
  • 启用"慢速查询日志":查看哪些查询需要大量时间(因此,可能会影响您的性能,同时,需要优化大量更改);

如果这还不足以获得关于正在发生的事情的数字,您可以:

  • 启用"一般日志":请注意,这将导致对mysql实例运行的每个查询都写入日志。这可能会严重影响你的表演所以..。明智地使用它。

首先,我认为你是在两个条件下运行的:

  1. 少量查询返回非常大的记录集,执行次数相对较少(...so用于生成40/80 by的通信量)(例如:由100.000条记录创建的单个记录集,每个记录300个字节,最多可计算30 by的通信量)。所以他们中的两个人,每秒可以.回答你的问题)。
  2. 较高数量的查询,返回相对较小的记录集,但执行非常频繁(...so用于生成40/80 1MB的通信量)(例如:由10条记录创建的单个记录集,每条记录由1000个字节组成,每秒执行100次时最多可计算1MB的通信量)。

慢速查询日志将帮助您捕捉第一个问题。在第二种情况下,通用日志是唯一有帮助的。

另外:

  • 如果您在存储I/O方面没有遇到任何问题,那么内存和.mysql当然缓存了所有记录集。在这种情况下,显示状态将帮助您了解到底发生了什么。

如果你能提供更多的细节,我们可能会更有帮助。

P.S.:我根本不是mysql性能调谐器,所以不要因为我错过的所有(更重要的)调优问题而责怪我:-)

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

https://dba.stackexchange.com/questions/87383

复制
相关文章

相似问题

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