首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询突然激增后https请求变慢

问mysql查询突然激增后https请求变慢
EN

Stack Overflow用户
提问于 2016-09-08 15:25:51
回答 1查看 162关注 0票数 0

我有一个在VPS服务器上运行的wordpress网站,每秒处理大约150个mysql查询。

有时,当我们注意到流量激增到每秒约200个mysql查询时,对站点的https请求是非常慢的。

使用http可以很好地加载站点,但是使用https只需要20+秒。

在峰值后的一个小时内,加载时间逐渐变好,然后又恢复到正常状态。

这里的服务器负载和内存看起来都很好。只有mysql查询、防火墙流量和eth0请求出现峰值。没有mysql慢查询

​

​

任何帮助都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-09-08 17:37:11

我认为您的答案在“磁盘延迟”和“磁盘利用率”图表中。

当MySQL可以缓存它需要的所有数据时,它在小负载下工作得很好。但是,当您的结果或查询变得太大,或者您请求过多的结果或查询时,它将开始执行许多磁盘I/O操作。这使您能够处理巨大的负载和非常大的数据,但是当您超出MySQL分配的内存时,您将需要对磁盘进行读写操作。

如果您在本地SSD驱动器上运行,这不会那么糟糕。但是从设备名称可以看出,您正在EBS卷上运行,这不是真正的硬盘驱动器。它是网络驱动器,因此所有流量都会使您的网络连接超载。

您有几个选项:

1.)安装mysqltuner,让服务器运行一段时间,然后运行它,看看它有什么建议。我的猜测是,它会建议您增加MySQL内存池,减少并行连接的数量或重构查询。

2.)使用具有实际本地存储(例如m3或r3)的EC2实例类型,并写入本地固态硬盘。您可以在多个SSD驱动器上进行RAID,以使其速度更快。

3.)使用EBS优化实例(专用EBS网络带宽)和正确的卷类型(某些EBS卷类型具有I/O信用,类似于t型实例的CPU信用,当您运行这些时,您的操作将减慢为爬行)。

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

https://stackoverflow.com/questions/39384912

复制
相关文章

相似问题

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