设想
- 两台服务器:应用程序服务器1和MySQL服务器1
- MySQL 远程数据库服务器通过 SSH 隧道连接到 ApplicationServer1(使用 autossh 保持活动)
问题
自从我将数据库与应用程序分开后,后者的速度就慢了很多。服务器堆栈中使用了 SSH 隧道来提高安全性。设置 VPN(例如 Tinc)是一种替代方案,但它似乎比 SSH 隧道慢得多。
所以...
如何加快ApplicationServer1和MySQLServer1之间的连接速度?
安装在 ApplicationServer1 上的 Redis 或 Memcached 可以解决问题吗?
谢谢你们。
答案1
如何加快ApplicationServer1和MySQLServer1之间的连接速度?
让它们保持在同一个高速网络上。
我知道这不是你想听到的,但这是正确的解决方案。应用服务器与其支持服务器之间的间隔不应超过一毫秒或两毫秒。
安装在 ApplicationServer1 上的 Redis 或 Memcached 可以解决问题吗?
当然可以,但任何这些解决方案都需要对您的应用程序进行大量重写,并且实际上只会对只读操作有所帮助。写入操作仍然会像您现在遇到的那样缓慢。
我不确定发生了什么情况导致您将这两台服务器分开,但同样,您的问题的答案是:将服务器移近一些。