我的云服务器上的IO速度较慢,导致服务器重启问题缓慢?

我在Rackspace云上运行两个服务器,一个用于Web应用程序,一个用于db和redis实例。 Web服务器有1G的RAM和单核。 Nginx坐在运行2名工作人员的独angular兽前面。 我也有一个sidekiq实例运行。 这种configuration运行良好,服务器通常在非常低的cpu上嗡嗡声,因为该应用尚未启动。

但是,当我独angular兽重新启动,更不用说完整的应用程序部署,所有的地狱崩溃。 它看起来像这样: 这不是一个伟大的图表

基本上我的服务器被消灭了3分钟。 有些时候有些响应,但是监控触发了整个地方的停机警报(这只是零停机重启)。

如果我进行完整的部署,即使我正在预编译资源并上传,但图表跨度大约为8分钟,因此不需要进行服务器上的编译。

对我来说有趣的是我有一个在DigitalOcean上运行的完全相同的服务器设置。 我可以完全重新启动整个服务器shutdown -r并在50秒内启动并提供页面。 有了这个Rackspace服务器,我不敢重新启动它,即使testing,因为它会给我一个生产服务器非常重要的停机时间。

我不是一个Linux服务器pipe理员,所以我想知道是否人们可以告诉我,这是否与Rackspace云服务器相同。 我有十年的经验运行几个专门的Windows盒子,从来没有这样的问题。

hdparm针对服务器。

Rackspace公司:

 $ sudo hdparm -Tt /dev/xvdc /dev/xvdc: Timing cached reads: 5066 MB in 1.99 seconds = 2541.54 MB/sec Timing buffered disk reads: 238 MB in 3.00 seconds = 79.32 MB/sec 

DigitalOcean

 $ sudo hdparm -Tt /dev/vda /dev/vda: Timing cached reads: 15612 MB in 1.99 seconds = 7828.02 MB/sec Timing buffered disk reads: 1416 MB in 3.00 seconds = 471.89 MB/sec 

很明显,DO服务器超出了RS服务器。 有趣的是,DO服务器实际上是两个应用程序,所以是比RS更多的工作。 这两个hdparms运行与服务器负载大约相同(即非常less)。 这是纯粹的慢磁盘速度还是在这里别的东西?

两个服务器的顶部

Rackspace公司

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9832 xxxxxxxx 20 0 525m 214m 4372 S 0.0 21.6 1:31.61 ruby 9829 xxxxxxxx 20 0 443m 205m 3312 S 0.0 20.6 1:27.67 ruby 15597 xxxxxxxx 20 0 554m 176m 1268 S 0.0 17.8 4:59.36 ruby 9780 xxxxxxxx 20 0 443m 63m 1088 S 0.0 6.4 0:28.80 ruby 787 root 20 0 193m 17m 2608 S 2.0 1.7 350:43.06 driveclient 1556 xxxxxxxx 20 0 77876 11m 1020 S 0.0 1.1 18:54.78 remote_syslog 17415 root 20 0 73096 3364 2608 S 0.0 0.3 0:00.03 sshd 

数字海洋

  PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20921 xxxxxxxx 20 0 240m 191m 5328 S 0.0 19.1 0:29.62 ruby 21009 xxxxxxxx 20 0 204m 178m 5356 S 0.0 17.8 0:20.82 ruby 21194 xxxxxxxx 20 0 204m 174m 1724 S 0.0 17.4 0:00.10 ruby 21206 xxxxxxxx 20 0 204m 174m 1656 S 0.0 17.4 0:00.10 ruby 21181 xxxxxxxx 20 0 98.3m 89m 2184 S 0.3 8.9 0:03.04 ruby 1426 xxxxxxxx 20 0 117m 40m 2272 S 0.0 4.1 1:09.02 ruby 1429 xxxxxxxx 20 0 117m 29m 2180 S 0.0 3.0 1:09.64 ruby 1422 xxxxxxxx 20 0 117m 4652 1172 S 0.0 0.5 0:08.08 ruby 22066 xxxxxxxx 20 0 7188 3456 1512 S 0.0 0.3 0:00.09 bash 22008 root 20 0 10008 3320 2664 S 0.0 0.3 0:00.03 sshd 

我应该放弃Rackspace?

编辑:部署图(不包括预编译资源的file upload和解压缩)

这不是一个快乐的部署图

编辑:vmstat

 $ vmstat -SM 1 10 procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu---- rb swpd free buff cache si so bi bo in cs us sy id wa 1 0 380 67 13 109 4 4 13 10 10 17 1 1 97 0 0 0 380 67 13 109 0 0 0 0 650 1011 0 1 99 0 0 0 380 67 13 109 0 0 0 0 675 1008 0 1 99 0 0 0 380 67 13 109 0 0 0 0 659 1009 0 0 100 0 1 0 380 67 13 109 0 0 0 68 661 1027 0 0 99 1 0 0 380 67 13 109 0 0 0 0 667 1014 0 0 100 0 1 0 380 67 13 109 0 0 0 0 671 1016 1 0 99 0 0 0 380 67 13 109 0 0 0 0 668 1008 0 0 99 0 0 0 380 67 13 109 0 0 0 0 671 1022 0 0 100 0 0 0 380 67 13 109 0 0 0 0 783 1112 9 3 89 0 

我在Rackspace工作,我们想帮你解决这个问题。 如果您可以拨打我们的电话1-800-961-4454,我们可以检查您的服务器所在的主机的健康状况,如果它看起来是一个嘈杂的邻居问题,可以将它移动到一个新的。 我也有兴趣看到'vmstat -SM 1 10','sar -b'(经过一段时间后)以及可能是'iostat -x / dev / xvdc 2 6'的输出。

谢谢!

-Jimmy

从发布的数据来看,这绝对是机架空间服务器上的I / O瓶颈。 如图所示,大部分CPU时间都是I / O等待(即CPU正在等待I / O进程完成)。

这通常是由磁盘速度较慢造成的,由于这是一个虚拟实例,所以可能有其他实例占用了主机系统的大部分I / O。 除了find一个不同的托pipe服务器(或者说服他们把你迁移到另外一个主机系统,减lessI / O负载,或者在另一个主机系统上获得另一个服务器,并尝试这个托pipe服务器的更好)之外,我没有看到太多的东西。

这看起来像一个I / O瓶颈,可能是由一个嘈杂的邻居造成的。

让Rackspace将您移动到另一个主机,方法是input他们的实时聊天或呼叫。他们应该能够在处理您的迁移时检查主机的使用情况。