MySQL 查询在上传过程中变慢,互联网连接速度慢

MySQL 查询在上传过程中变慢,互联网连接速度慢

我的 SQL 查询有点问题。基本上,每当我的网络中有人上传某些内容(上传到 Gmail、Dropbox 等)时,我的 SQL 查询就会变得慢大约 20 倍。

遗憾的是,我这里只能获得 6mbit 的互联网连接,所以这可能是问题的一部分,我们的上传速度特别糟糕(通常上传速度会在几百字节(!)和每秒 100 kb 之间剧烈波动。但我仍然不明白为什么这会导致我的 sql 查询执行速度如此缓慢。这是合理的吗?

我正在通过 vpn 访问 MySQL 服务器,但我怀疑这不是问题所在,因为如果没有人上传任何东西,它就能正常工作。

有没有办法为 SQL 查询保留一些带宽?

** 编辑 ** 我是唯一使用 VPN 的人。我的互联网流量不通过 VPN。

答案1

听上去像Qos(服务质量)需要实施。

根据您的 OpenVPN 设置的配置位置(本地、路由器后面的设备或路由器本身)以及使用连接的其他人是否也在使用 VPN 连接,您的路由器或 VPN 设备都需要应用 QoS。

答案2

听上去像缓冲区膨胀。如果您遇到这种情况,则意味着您使用的调制解调器存在设计缺陷(可能内置于路由器中)。调制解调器从 LAN 接收流量的速度比在 WAN 上发送流量的速度快。在这种情况下,调制解调器需要缓冲一些数据包,但最终它将不得不丢弃数据包。

缓冲区太小会导致可用上行带宽下降。缓冲区太大会导致往返延迟增加。

如果您无法更换调制解调器,您仍然可以通过在流量到达调制解调器之前让设备限制流量来解决这个问题。我会将流量限制到上行容量的 90% 左右。选择此设备时要小心,因为此设备也会导致缓冲区膨胀。(我自己也经历过这种情况,当时我注意到我的 5Mbit/s 上行链路上有一个小的缓冲区膨胀问题,我试图通过在路由器和调制解调器之间的 D-Link 交换机上将其限制为 4Mbit/s 来避免这种情况 - 只是意识到 D-Link 使用的缓冲区比调制解调器更大)。

如果你确实找到了可以限制流量从而避免缓冲区膨胀的设备,那么同一设备也可以实现服务质量正如另一篇文章所建议的那样回答。请注意,如果不解决缓冲区膨胀问题,实施 QoS 不太可能有太大帮助。

相关内容