Назад | Перейти на главную страницу

Является ли медленный ввод-вывод на моем облачном сервере причиной проблем с медленным перезапуском сервера?

Я использую два сервера в облаке Rackspace: один для веб-приложения и один для экземпляров db и redis. Веб-сервер имеет 1 ГБ оперативной памяти и одно ядро. Nginx сидит перед единорогом, у которого работают 2 рабочих. У меня также запущен экземпляр sidekiq. Эта конфигурация отлично работает, и серверы обычно гудят на очень низком уровне ЦП, поскольку приложение еще не запущено.

Однако, когда я выполняю перезапуск единорога, не говоря уже о полном развертывании приложения, начинается весь ад. Это выглядит примерно так:

В основном мой сервер уничтожается за 3 минуты. Время от времени он несколько отзывчив, но мониторинг запускает предупреждения о простоях повсюду (это просто перезапуск с нулевым временем простоя).

Если я выполняю полное развертывание, график будет длиться около 8 минут, даже если я предварительно компилирую ресурсы и загружаю их, поэтому компиляции на сервере не будет.

Для меня интересно то, что у меня есть точная копия сервера, работающего на DigitalOcean. Я могу полностью перезапустить весь сервер shutdown -r и будьте готовы обслуживать страницы за 50 секунд. С этим сервером Rackspace я не осмеливаюсь перезапустить его даже для тестирования, так как это приведет к очень значительному простою рабочего сервера.

Я не администратор серверов Linux, поэтому мне интересно, могут ли люди сказать мне, подходит ли это для курса с облачными серверами Rackspace. У меня был десятилетний опыт работы с несколькими специализированными компьютерами с Windows, и у меня никогда не было подобных проблем.

hdparm против серверов.

Место для стойки:

$ 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 работают с примерно одинаковой нагрузкой на сервер (т.е. очень небольшой). Это чисто низкая скорость диска или здесь что-то еще происходит?

верх для обоих серверов

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?

Изменить: развернуть график (исключая загрузку файла и распаковку предварительно скомпилированных активов)

Изменить: vmstat

$ vmstat -S M 1 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   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 -S M 1 10», «sar -b» (по прошествии некоторого времени) и, возможно, «iostat -x / dev / xvdc 2 6», когда возникает эта проблема.

Спасибо!

-Джимми

Это определенно похоже на узкое место ввода-вывода, возможно, вызванное шумным соседом.

Попросите Rackspace переместить вас на другой хост, войдя в его чат или позвонив. Они должны иметь возможность проверять использование хоста во время обработки вашего переноса.

Судя по опубликованным вами данным, это определенно узкое место ввода-вывода на сервере стойки. Как ясно показывает ваш график, большую часть времени ЦП тратит на ожидание ввода-вывода (т.е.ЦП ожидает завершения процессов ввода-вывода).

Обычно это вызвано низкой скоростью диска, и, поскольку это виртуальный экземпляр, вероятно, есть другие экземпляры, использующие большую часть операций ввода-вывода хост-системы. Я не вижу многого, что вы могли бы сделать, кроме как найти другого хостера (или убедить их перенести вас на другую хост-систему с меньшей нагрузкой на ввод-вывод, или установить там другой сервер на другой хост-системе и попробовать, если тот лучше).