помогите вывести хостинг-провайдера на чистую воду (лагает виртуальный выделенный сервер на vmware)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Расклад: есть арендованный виртуальный сервер на RHEL в датацентре. На серваке бегает вебсервер+сервер приложений. Сервак имеет 4 гига оперативки. Но временами серв начинает дико лагать - даже в консоле заметны сильные задержки - примерно секунд на 5 иногда все замирает. Соответственно вебсервер дико лагает - ссыли открываются по 10-20 секунд. Заметил закономерность - лагать начинает после простоя сервера. При лагах top показывает загрузку менее 20%, хотя сам при этом лагает. По сему я подозреваю что оперативка моего сервера свапится в хостовой машине. Попытался это как-то выяснить. И вот что я придумал - в момент когда все лагает запустить тест на память mbw ( http://ahorvath.home.cern.ch/ahorvath/mbw/ ) и сравнил результаты во время лагов и без. Стоит заметить что половина оперативки всегда свободна. Вот результаты:

Без нагрузки:

Код: Выделить всё

0       Method: MEMCPY  Elapsed: 0.16833        MiB: 200.00000  Copy: 1188.156 MiB/s
1       Method: MEMCPY  Elapsed: 0.03729        MiB: 200.00000  Copy: 5363.944 MiB/s
2       Method: MEMCPY  Elapsed: 0.09302        MiB: 200.00000  Copy: 2150.052 MiB/s
3       Method: MEMCPY  Elapsed: 0.11395        MiB: 200.00000  Copy: 1755.217 MiB/s
4       Method: MEMCPY  Elapsed: 0.02689        MiB: 200.00000  Copy: 7437.986 MiB/s
5       Method: MEMCPY  Elapsed: 0.02895        MiB: 200.00000  Copy: 6907.508 MiB/s
6       Method: MEMCPY  Elapsed: 0.01533        MiB: 200.00000  Copy: 13042.061 MiB/s
7       Method: MEMCPY  Elapsed: 0.04034        MiB: 200.00000  Copy: 4958.227 MiB/s
8       Method: MEMCPY  Elapsed: 0.09644        MiB: 200.00000  Copy: 2073.828 MiB/s
9       Method: MEMCPY  Elapsed: 0.09371        MiB: 200.00000  Copy: 2134.198 MiB/s
AVG     Method: MEMCPY  Elapsed: 0.07142        MiB: 200.00000  Copy: 2800.148 MiB/s

0       Method: DUMB    Elapsed: 0.10712        MiB: 200.00000  Copy: 1867.152 MiB/s
1       Method: DUMB    Elapsed: 0.12014        MiB: 200.00000  Copy: 1664.738 MiB/s
2       Method: DUMB    Elapsed: 0.12150        MiB: 200.00000  Copy: 1646.036 MiB/s
3       Method: DUMB    Elapsed: 0.10368        MiB: 200.00000  Copy: 1928.938 MiB/s
4       Method: DUMB    Elapsed: 0.08316        MiB: 200.00000  Copy: 2405.147 MiB/s
5       Method: DUMB    Elapsed: 0.11888        MiB: 200.00000  Copy: 1682.411 MiB/s
6       Method: DUMB    Elapsed: 0.10379        MiB: 200.00000  Copy: 1926.931 MiB/s
7       Method: DUMB    Elapsed: 0.11898        MiB: 200.00000  Copy: 1680.927 MiB/s
8       Method: DUMB    Elapsed: 0.11577        MiB: 200.00000  Copy: 1727.578 MiB/s
9       Method: DUMB    Elapsed: 0.09998        MiB: 200.00000  Copy: 2000.380 MiB/s
AVG     Method: DUMB    Elapsed: 0.10930        MiB: 200.00000  Copy: 1829.830 MiB/s

0       Method: MCBLOCK Elapsed: 0.01842        MiB: 200.00000  Copy: 10855.995 MiB/s
1       Method: MCBLOCK Elapsed: 0.01556        MiB: 200.00000  Copy: 12856.776 MiB/s
2       Method: MCBLOCK Elapsed: 0.01619        MiB: 200.00000  Copy: 12351.016 MiB/s
3       Method: MCBLOCK Elapsed: 0.01597        MiB: 200.00000  Copy: 12519.562 MiB/s
4       Method: MCBLOCK Elapsed: 0.01171        MiB: 200.00000  Copy: 17079.419 MiB/s
5       Method: MCBLOCK Elapsed: 0.01769        MiB: 200.00000  Copy: 11306.462 MiB/s
6       Method: MCBLOCK Elapsed: 0.02939        MiB: 200.00000  Copy: 6805.267 MiB/s
7       Method: MCBLOCK Elapsed: 0.01815        MiB: 200.00000  Copy: 11019.891 MiB/s
8       Method: MCBLOCK Elapsed: 0.01562        MiB: 200.00000  Copy: 12800.000 MiB/s
9       Method: MCBLOCK Elapsed: 0.01598        MiB: 200.00000  Copy: 12511.730 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01747        MiB: 200.00000  Copy: 11448.590 MiB/s


Во время лагов:

Код: Выделить всё

0       Method: MEMCPY  Elapsed: 0.32684        MiB: 200.00000  Copy: 611.924 MiB/s
1       Method: MEMCPY  Elapsed: 0.31897        MiB: 200.00000  Copy: 627.012 MiB/s
2       Method: MEMCPY  Elapsed: 0.30334        MiB: 200.00000  Copy: 659.335 MiB/s
3       Method: MEMCPY  Elapsed: 0.26215        MiB: 200.00000  Copy: 762.913 MiB/s
4       Method: MEMCPY  Elapsed: 0.25164        MiB: 200.00000  Copy: 794.777 MiB/s
5       Method: MEMCPY  Elapsed: 0.27767        MiB: 200.00000  Copy: 720.272 MiB/s
6       Method: MEMCPY  Elapsed: 0.26580        MiB: 200.00000  Copy: 752.440 MiB/s
7       Method: MEMCPY  Elapsed: 0.27712        MiB: 200.00000  Copy: 721.722 MiB/s
8       Method: MEMCPY  Elapsed: 0.21835        MiB: 200.00000  Copy: 915.961 MiB/s
9       Method: MEMCPY  Elapsed: 0.32322        MiB: 200.00000  Copy: 618.776 MiB/s
AVG     Method: MEMCPY  Elapsed: 0.28251        MiB: 200.00000  Copy: 707.939 MiB/s

0       Method: DUMB    Elapsed: 0.29380        MiB: 200.00000  Copy: 680.728 MiB/s
1       Method: DUMB    Elapsed: 91.43211       MiB: 200.00000  Copy: 2.187 MiB/s
2       Method: DUMB    Elapsed: 0.26099        MiB: 200.00000  Copy: 766.298 MiB/s
3       Method: DUMB    Elapsed: 0.16596        MiB: 200.00000  Copy: 1205.081 MiB/s
4       Method: DUMB    Elapsed: 0.26245        MiB: 200.00000  Copy: 762.044 MiB/s
5       Method: DUMB    Elapsed: 0.32881        MiB: 200.00000  Copy: 608.258 MiB/s
6       Method: DUMB    Elapsed: 0.28801        MiB: 200.00000  Copy: 694.428 MiB/s
7       Method: DUMB    Elapsed: 0.16420        MiB: 200.00000  Copy: 1217.997 MiB/s
8       Method: DUMB    Elapsed: 0.01665        MiB: 200.00000  Copy: 12009.848 MiB/s
9       Method: DUMB    Elapsed: 0.01199        MiB: 200.00000  Copy: 16675.004 MiB/s
AVG     Method: DUMB    Elapsed: 9.32250        MiB: 200.00000  Copy: 21.453 MiB/s

0       Method: MCBLOCK Elapsed: 0.00124        MiB: 200.00000  Copy: 161681.487 MiB/s
1       Method: MCBLOCK Elapsed: 0.00305        MiB: 200.00000  Copy: 65573.770 MiB/s
2       Method: MCBLOCK Elapsed: 0.00667        MiB: 200.00000  Copy: 30003.000 MiB/s
3       Method: MCBLOCK Elapsed: 0.00800        MiB: 200.00000  Copy: 25012.506 MiB/s
4       Method: MCBLOCK Elapsed: 0.01942        MiB: 200.00000  Copy: 10298.661 MiB/s
5       Method: MCBLOCK Elapsed: 0.01268        MiB: 200.00000  Copy: 15770.383 MiB/s
6       Method: MCBLOCK Elapsed: 0.01170        MiB: 200.00000  Copy: 17091.096 MiB/s
7       Method: MCBLOCK Elapsed: 0.01974        MiB: 200.00000  Copy: 10133.766 MiB/s
8       Method: MCBLOCK Elapsed: 0.02074        MiB: 200.00000  Copy: 9641.342 MiB/s
9       Method: MCBLOCK Elapsed: 0.02346        MiB: 200.00000  Copy: 8526.240 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01267        MiB: 200.00000  Copy: 15786.566 MiB/s



Из этого можно заметить, что во время лагов скорость работы с памятью ниже в среднем примерно в 2 раза. Так же наблюдаются скачки до невероятных скоростей ( подозреваю что это от того, что хостовая машина лагает ). Вопрос - действительно ли это похоже на лаги хостовой машины? Существуют ли какие-либо способы выяснить - лагает хостовая машина или мой сервер?
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение nacmyx »

Имхо запустить top c указанием какие пиды мониторить ну и пинг на сам сервер - смотреть время отклика. Вместо пинга можна и потяжелей чего. Плюс cat /proc/meminfo. Идеальный вариант это все складывать в ррд и смотреть потом на картинки. Попариться придется.

Вариант два - стопни свои сервисы и посмотри на загрузки.


Момент - не было сказано чем нарезается собственно хостинг. И 4 гига оперативки - твои или на всю железку. Уточнил бы, штоля.
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
vr13
Сообщения: 887
ОС: gentoo

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение vr13 »

nacmyx писал(а):
14.08.2008 18:54
Имхо запустить top c указанием какие пиды мониторить ну и пинг на сам сервер - смотреть время отклика. Вместо пинга можна и потяжелей чего. Плюс cat /proc/meminfo. Идеальный вариант это все складывать в ррд и смотреть потом на картинки. Попариться придется.


..или поставить "старый добрый" sysstat, если еще не установлено, помониторить и не париться :)
графики он тоже строить умеет
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение nacmyx »

Кхм-гм, а что это за такой сервер приложений? Уж не жаба ли там хвост кажет?
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Джава. Это что-то меняет? Оперативки 4 гига у моей машины. Пинги до нее перекрыты, есть только шелл. Спасибо за советы - сегодня попробую.
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение nacmyx »

Совершенно отсутствует желание похоливарить насчет жабы, нно.... Попробовать разные версии? Черт возьми, даже в виртуалке можно поднять! На таком сухпае "залипы" проявятся однозначно, особенно если поиграться со свапинесс.
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

C Джавой и без холиваров понятно. Не понятно может ли она быть причиной лагов?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение rm_ »

Расклад: есть арендованный виртуальный сервер на RHEL в датацентре. На серваке бегает вебсервер+сервер приложений. Сервак имеет 4 гига оперативки.

Реальный сервер имеет 4 гигабайта ОЗУ, или Ваша виртуальная машина?
Если второе, то сколько тогда имеет реальный? И сколько на нём крутится виртуальных серверов?

лагать начинает после простоя сервера

Может быть образ Вашего сервера в оперативке за это время успевает элементарно уйти в своп, а пока оттуда возвращается - лагает. В общем, есть подозрение на нехватку памяти на реальном сервере, либо (что то же самое) большую его загрузку виртуальными машинами, в сумме на которые выделено памяти значительно больше, чем её есть физически.
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение nacmyx »

Утверждаю: да, жаба может быть причиной лагов.
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Как джаву пропалить на предмет лагов можно? Я с такими лагами раньше никогда не сталкивался.
Спасибо сказали:
Аватара пользователя
nacmyx
Сообщения: 101
ОС: centos

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение nacmyx »

Сделать все то же самое на таком же железе, без услуг хостера.
от бабусь есть польза - они иногда умирают
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Делал тоже самое, но так же под vmware, только у себя. Такие же точно лаги видел когда на другой виртуальной машине которая расположена на одной хостовой машине что и тестируемый образец начинался активный дисковой i/o. Когда вм работает одна - ничего не тормозило на куда более слабом железе. Хотя подозреваю что дело может быть и в потери производительности на виртуализации. Как-то раз столкнулся с тем (под XEN правда), что приложение написанное на моно при своей работе сильно тормозило машину, при этом в Dom0 в dmesg сыпались сообщения про 4гб что-то там. Погуглив выяснил, что некоторые операции под ВМ выполняются гораздо медленнее, чем без использования виртуализации и вызывают потерю производительности до 1000 раз. Особенно при использовании чего-то там на моно :-D . И это при том, что XEN - это паравиртуализация. По идее под ним все должно работать быстрее чем под vmware.
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Сейчас возникла другая ситуация. Есть все тот же виртуализованный сервер под vmware, на котором начало лагать пиложение на яве. Задача- выяснить где проблема ( я вижу следующие возможные варианты: нехватка памяти, глюк в приложении (что врятли), нехватка пропускной способности сети (дело в том, что там почти террабайт данных смонтирован по NFS и к этим данным наше приложение активно обращается), нехватка ресурсов CPU). Что я проделал для поиска проблемы:
Поставил на ночь эту штуку (правда ночью там нагрузка несколько меньше):


Вмстат без нагрузки:

Код: Выделить всё

vmstat
 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
  r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
  1  0  50872  60060   8888 782332   10   10   107    94   28    19  4  1 90  4


Фри -м без нагрузки:

Код: Выделить всё

free -m
              total       used       free     shared    buffers     cached
 Mem:          3774       3692         82          0          7        742
 -/+ buffers/cache:       2942        832
 Swap:         4031         49       3982


Код: Выделить всё

<b>sar -u 1800 24</b>
       Linux 2.6.9-55.ELsmp (****)  10/20/2008

       04:29:44 PM       CPU     %user     %nice   %system   %iowait     %idle
       04:59:44 PM       all     25.04      0.00      0.41      0.86     73.69
       05:29:44 PM       all     25.05      0.00      0.34      0.42     74.19
       05:59:44 PM       all     25.06      0.00      0.37      0.61     73.96
       06:29:44 PM       all     14.08      0.00      1.18      6.20     78.54

       06:29:44 PM       CPU     %user     %nice   %system   %iowait     %idle
       06:59:44 PM       all      4.25      0.00      1.21      2.32     92.21
       07:29:44 PM       all      4.88      0.00      2.29     12.63     80.20
       07:59:44 PM       all      3.42      0.00      1.04      0.73     94.81

       07:59:44 PM       CPU     %user     %nice   %system   %iowait     %idle
       08:29:44 PM       all      2.56      0.00      1.32      2.68     93.45
       08:59:44 PM       all     12.29      0.00      4.77      4.27     78.66
       09:29:44 PM       all     25.74      0.00     10.86     10.04     53.36

       09:29:44 PM       CPU     %user     %nice   %system   %iowait     %idle
       09:59:44 PM       all      5.54      0.00      1.53      1.55     91.38
       10:29:44 PM       all      5.21      0.00      2.41     11.21     81.17
       10:59:44 PM       all      3.91      0.00      1.96      7.23     86.91

       10:59:44 PM       CPU     %user     %nice   %system   %iowait     %idle
       11:29:44 PM       all      7.50      0.00      3.94     19.17     69.39
       11:59:44 PM       all      1.89      0.00      1.03      1.39     95.69
       12:29:44 AM       all      3.59      0.00      1.13      1.91     93.36

       12:29:44 AM       CPU     %user     %nice   %system   %iowait     %idle
       12:59:45 AM       all      9.68      0.00      1.78      1.94     86.60
       01:29:44 AM       all     12.23      0.00      3.49      8.15     76.14
       01:59:44 AM       all     19.16      0.00      3.32      5.41     72.10
       02:29:44 AM       all     19.79      0.00      2.76     14.99     62.45

       02:29:44 AM       CPU     %user     %nice   %system   %iowait     %idle
       02:59:44 AM       all     12.46      0.00      1.24      1.91     84.39
       03:29:44 AM       all      0.62      0.00      1.88     24.09     73.41
       03:59:44 AM       all      0.36      0.00      1.15     21.42     77.07

       03:59:44 AM       CPU     %user     %nice   %system   %iowait     %idle
       04:29:44 AM       all      4.91      0.00      5.44     19.65     70.00
       Average:          all     10.38      0.00      2.37      7.53     79.71


Днем под нагрузкой:

Код: Выделить всё

sar -u 10 10
     Linux 2.6.9-55.ELsmp (*****)  10/20/2008
     ^[^[OA
     04:03:48 PM       CPU     %user     %nice   %system   %iowait     %idle
     04:03:58 PM       all     25.05      0.00      0.30      2.10     72.55
     04:04:08 PM       all     25.77      0.00      2.23      1.73     70.28
     04:04:18 PM       all     24.69      0.00      0.55      3.40     71.36
     04:04:28 PM       all     25.00      0.00      0.57      2.50     71.92

     04:04:28 PM       CPU     %user     %nice   %system   %iowait     %idle
     04:04:38 PM       all     25.02      0.00      1.50      3.45     70.03
     04:04:48 PM       all     24.49      0.00      0.32      3.37     71.81
     04:04:58 PM       all     25.32      0.00      0.60      1.68     72.40

     04:04:58 PM       CPU     %user     %nice   %system   %iowait     %idle
     04:05:08 PM       all     25.40      0.00      1.25      0.85     72.50
     04:05:18 PM       all     24.84      0.00      0.90      2.72     71.54
     04:05:28 PM       all     25.07      0.00      0.42      1.47     73.03
     Average:          all     25.07      0.00      0.86      2.33     71.74


Меня смущает столбик %user. На других серверах выполняющих аналогичные функции при больших нагрузках имеют это значение гораздо ниже (где-то около 3х, в пиках до 5ти). Что бы это могло значить? Какие еще действия можно выполнить для поиска и решения проблемы?
Спасибо сказали:
Аватара пользователя
guglez
Сообщения: 394
ОС: GNU/Linux

Re: помогите вывести хостинг-провайдера на чистую воду

Сообщение guglez »

Шара по нфс смонтирована со следующими опциями: rw,bg,soft,intr,rsize=32768,wsize=32768,tcp,vers=3,suid,timeo=600 1 2
Спасибо сказали: