我当前的 VPS(5 节点 tmdhosting VPS)在磁盘 IO 吞吐量上非常慢;一个简单的插入 mysql 查询可能需要超过 10 秒(是的,超过 10 秒!!)才能完成。我已经检查过了,我的 VPS 没有得到充分利用,我强烈怀疑在同一物理服务器上与我同居的其他 VPS 正在以我的为代价进行大量的磁盘 IO 操作。
不仅如此,mysql写查询的性能可能会很不一致;一天快,一天慢。这也强化了我的上述怀疑。
我正在考虑切换到云托管。但我担心云托管可能有同样的问题(即:IO 吞吐量在所有可视化之间共享),我说的对吗?
是否有任何类型的托管包可用于获得一致的 IO 吞吐量?我知道专用服务器是最终的答案,但我还不想使用专用服务器。
如果您想要保证一致的 I/O 响应时间,那么具有本地磁盘的专用服务器是唯一的解决方案。如果 SAN 过于过载,即使是连接到 SAN 的专用物理服务器(更不用说虚拟服务器)也会变得非常缓慢。
所以,最好明智地选择你的下一个主机!如果物理硬件严重滞后,那么再多的软件调整也无济于事。
直接的答案是肯定的。该机器有一组具有特定 IO 预算的磁盘。这在所有 VPS 之间共享。与处理器相同。
这是所有共享资源的已知问题 - 在虚拟化之前,这是 SAN 的一个已知问题,并且规范定义不明确,因此数据库最终位于 SAN 中的共享磁盘上。同样的问题:IO 不一致,因为 IO 预算不是“硬”的,但您的分配取决于其他机器。
不过,10秒是可怕的。严重的可怕。
云也一样。您需要确定性功能,您需要拥有自己的硬件(不一定是 OWNED)或能够分配您获得的预算(例如 IO)的共享主机。这将花费。
但说真的,再一次,10 秒是可怕的。尝试更便宜的主机。