从LAMP分离mySQL服务器和性能下降

我目前正在使用LAMP堆栈(超过Centos 6.5)为我们的网站,我想尝试从“networking服务器”分离mySQL。

到目前为止,我正在使用DigitalOcean的四核CPU和8GB内存的VPS。
昨天我创build了一个新的DigitalOcean VPS用于单一临时环境(目前),具有以下规格和使用情况:

  • 2个CPU核心
  • 2GB内存
  • Centos 6.7
  • 使用“networking服务器”的私人networking(Ping时间: min/avg/max/mdev = 0.352/0.481/0.662/0.073 ms
  • mySQL 5.6(与当前服务器上的相同)
  • 相同的my.cnfconfiguration有2个变化:
    1. 增加: bind-address=XXXX (私有networking的内部IP地址)
    2. 将innodb_buffer_pool_size从2GB更改为1GB(因为我们现在有更less的RAM)

Web服务器正在运行一个Drupal站点,并安装了APCu,opCACHE和memcached。

当用Chrome浏览器查看加载时间时,网站似乎在0.5-1.5秒内加载速度较慢。 不幸的是NewReliccertificate我是正确的(见附件截图)

在这里输入图像说明

由于这是我第一次configuration远程mySQL服务器,我想知道这是我错过了什么? 任何可能提高性能的configuration或调整?

我不确定为什么你会感到惊讶,因为你的MySQL服务器分配的RAM较less,而把它放在另一台机器上会增加networking接口的负载。

你应该监视你的networking活动,看看是否会造成任何瓶颈。

根据您的SQL查询和PHP脚本,可能会有更好的方式来优化这些任务的查询性能,并改进将结果发送回PHP以减lessnetworking负载。

我会推荐几件事情:
validation网站是否正在使用Memcached / APC /操作码caching。
我会build议Memcached DB查询caching。 使用mysqltuner.pl对Mysqlconfiguration进行一些调整

优化memcached apcconfiguration
基于Debian / Ubuntu的操作系统中的Memcachedconfiguration文件位置:

/etc/memcached.conf

基于CentOS / RHEL的操作系统中的Memcachedconfiguration文件:

的/ etc / SYSCONFIG /分布式caching

可以在php.ini中插入Apcconfiguration。

遵循这些步骤肯定会提高性能。
并使用NewRelic APM来揭示有关在哪里花费时间的数据。
如果networking是一个问题,我想没有什么可以做的。
让我知道。
谢谢,
的Shahriar

我设法解决了这个问题,而且我认为我经历的方式可能对别人有帮助。

  • 使用pingmtrtraceroute检查服务器之间的延迟,以确定问题是否与延迟有关
  • 使用top (或htop )和free -m检查服务器的负载和空闲RAM
  • 在两个mysql服务器(旧本地和新的远程)上运行繁重的查询并比较查询时间,我们也可能使用mySQL的分析 – 请参阅SHOW PROFILE
  • 假设mysql的查询时间是相似的(或者至less差不多),那么我们可以使用PHP代码片段来运行相同的代码,看看PHP的瓶颈可能是相关的 – 我推荐使用NewRelic PHP应用程序分析 – 在我的情况下,这是“启示”,因为最终我看到,问题是甚至没有关系到远程MySQL,但额外的0.5-1.5秒是由另一个第三方服务调用引起的(只有当使用远程数据库..)
  • 使用mysqltuner.pl (作为@Shahriar Shojib)build议,并find是否有一些mySQLconfiguration调整,我们必须有(没有在我的情况..)
  • 尝试禁用iptables或任何其他防火墙
  • 检查networkingstream量(我使用iptraf和我们的第三方监测服务),但也有一些其他的select,如@ Julie Pelletierbuild议

使用远程mySQL服务器时可提高性能

  • 使用memcached,APCu和Opcodecaching(虽然所有这些已经安装在我们的案例 – 这些都是游戏转换器..)

  • 最后但并非最不重要的 – 使用SSH隧道,而不是直接连接到mySQL服务器(似乎它在整个页面加载时间节省大约200毫秒)

希望阅读这个答案会节省你超过0.5到1.5秒:)