提高 SQL 速度 - SSD 和更多 RAM 是否有效?

提高 SQL 速度 - SSD 和更多 RAM 是否有效?

我在普通硬盘和 3.25 GB RAM 上的 VPS 包上运行一个网站。

我创建了一个测试页面并意识到只需包含一个 SQL 命令即可,例如:

SELECT Name from table where Name IN ('$item_implode') ORDER BY FIELD (Name);

由于服务器响应速度慢(从 400 毫秒到 1.5 秒不等 - 而 Google 将标准设置为最高 200 毫秒),我的页面速度得分(通过 Google 页面速度)急剧下降

我可以将我的托管包升级到 SSD(Raid 10),并增加少量 RAM(总共 4GB)或更高容量(6GB RAM)。

这些组件中的任何一个是否会显著改变我的服务器对此类 SQL 查询的响应时间?如果是这样,我应该选择 4GB 还是 6GB 的 Ram?

答案1

我们不知道。只有您可以在自己的环境中测试性能。


您可以调整long_query_time响应时间阈值,并记录所有缓慢的事件。但是,需要 DBA 知道如何优化,例如何时索引表、限制查询或获取更快的存储。


尽管您确实希望尽可能跳过数据库层。

  • 您的主页和其他第一印象 URL 的静态页面。
  • 代理缓存:有一个缓存整个页面的层(Varnish、Squid、nginx)
  • 片段缓存:将预渲染的内容存储在您最喜欢的非常简单非常快速的数据库(Redis,Memcached)中

别忘了性能是一个特点,并且不易维护。请您的网络团队检查Yslow 核对清单和类似的优化。

最后,为了获得一些灵感,可以看看快速网站的实际架构,例如Stack Overflow:架构 - 2016 版。您不会那么大或那么复杂,但理解具有不同数据库的多层架构将会很有教育意义。

相关内容