vmware — Как мне настроить сервер Ubuntu для многих процессов php-cli с большим объемом памяти, вызывающих высокую нагрузку на хорошее оборудование?

Я запускаю множество скриптов php-cli через crontab на сервере Ubuntu, работающем в VMWare VSphere. Сценарии PHP — это запоры памяти (исправляя это одновременно), но, похоже, они должны иметь ресурсы, необходимые для этой виртуальной машины. Средняя нагрузка очень высока в диапазоне 100+ с высокопроизводительным 8-ядерным и 120-граммовым корпусом. Я озадачен, почему нагрузка высока, когда я вижу:

  1. большой объем свободной памяти
  2. без обмена
  3. лучшие отчеты 80+ простоя процессора

Информация об окружающей среде:

#uname -a
Linux tasks 3.0.0-2-amd64 #1 SMP Fri Oct 7 20:48:45 UTC 2011 x86_64     GNU/Linux

Следующие пункты были настроены в sysctl:

#head /etc/sysctl.conf
fs.file-max = 2097152
vm.swappiness = 10
vm.dirty_ratio = 60
vm.dirty_background_ratio = 2

Топ

top - 10:51:27 up 219 days, 21:50,  3 users,  load average: 190.18, 171.37, 152.70
Tasks: 400 total, 179 running, 220 sleeping,   0 stopped,   1 zombie
%Cpu(s): 11.4 us,  1.7 sy,  0.0 ni, 86.2 id,  0.4 wa,  0.0 hi,  0.3 si,  0.0 st
Mb Mem:    121121 total,    51993 used,    69128 free,       17 buffers
Mb Swap:     6257 total,        0 used,     6257 free,      532 cached

PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
10551 root      20   0  557m 282m  11m R   1.7  0.2   0:05.83 php
6204 root      20   0  555m 286m  10m R   1.0  0.2   0:07.41 php
16516 root      20   0  408m 140m 9744 R   1.0  0.1   0:03.34 php
24167 root      20   0  309m  41m 9784 R   1.0  0.0   0:00.63 php
45041 root      20   0 1894m 1.6g  10m R   1.0  1.3   7:27.72 php
599 root      20   0  521m 254m  10m R   0.7  0.2   0:09.26 php
1101 root      20   0  357m  89m 9796 R   0.7  0.1   3:46.28 php
3273 root      20   0 3342m 3.0g 9756 R   0.7  2.5   3:50.18 php
3958 root      20   0  536m 268m  10m R   0.7  0.2   0:08.28 php
4798 root      20   0  780m 508m 9756 R   0.7  0.4   0:08.26 php
5464 root      20   0  532m 256m  10m R   0.7  0.2   0:08.03 php
5905 root      20   0  536m 268m  10m R   0.7  0.2   0:07.42 php
6913 root      20   0  557m 288m  10m R   0.7  0.2   0:06.89 php
7028 root      20   0 2147m 1.8g 9792 R   0.7  1.6   0:32.89 php
8535 root      20   0  431m 156m  10m R   0.7  0.1   0:06.77 php
8745 root      20   0 2836m 2.5g  10m R   0.7  2.1   4:46.24 php
9224 root      20   0  538m 269m  10m R   0.7  0.2   0:06.36 php
10665 root      20   0  745m 473m 9752 R   0.7  0.4   0:05.96 php
12313 root      20   0  760m 490m 9752 R   0.7  0.4   0:05.15 php
12340 root      20   0  944m 675m 9752 R   0.7  0.6   0:05.15 php

vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
191  1      0 70536200  18216 546040    0    0     0    32 3007 2381 13  2 85  0
187  0      0 70567328  18216 546068    0    0     0     4 2840 2468 12  1 86  0
184  0      0 70650144  18216 546096    0    0     0     0 3802 2655 10  2 88  0
186  0      0 70642768  18216 546120    0    0     0     0 4456 2431 13  1 86  0
186  0      0 70630560  18216 546144    0    0     0     0 4936 2629 15  2 83  0
185  1      0 70620504  18224 546152    0    0     0    32 4584 2459 12  2 86  0
183  0      0 70611000  18224 546192    0    0     0     4 3820 2827  9  2 89  0
190  1      0 70643592  18224 546260    0    0     0     0 4093 3350 12  3 84  1
191  0      0 71065760  18224 546304    0    0     0     0 3745 2503 12  3 84  0
191  4      0 71041560  18224 546332    0    0     0     0 3314 2798 13  2 85  0
187  0      0 71028392  18224 546332    0    0     0     0 3280 3140 12  2 86  0
195  0      0 71015808  18236 546360    0    0     4   240 3164 2945 14  2 84  0
196  0      0 71002112  18236 546388    0    0     0     0 3136 3004  9  2 89  0
194  0      0 70999600  18236 546416    0    0     0     0 3576 3348 14  2 83  0
187  1      0 70994792  18236 546436    0    0     0     0 3362 3193 13  2 85  0
188  0      0 70979392  18236 546448    0    0     0     0 2870 3054 10  2 88  0

Какие еще инструменты или настройки я должен проверять?

ОБНОВИТЬ
Запустив htop, я вижу, что одно ядро ​​обрабатывает все процессы PHP. Возможно, на ВМ или ОС есть настройка, которая будет контролировать это?

1

Решение

Ваш средний уровень загрузки соответствует ожиданиям

У вас работает более 100 процессов. Они все бегут одновременно. Поэтому ваша средняя нагрузка должна быть 100+.

Это очень грубый показатель того, «сколько всего сейчас происходит на машине» — и ответ — много! У вас есть 100 процессов, запущенных одновременно, прямо сейчас.

Когда ваши процессы ожидают завершения запросов ввода-вывода, они считаются «не запущенными», поэтому средняя нагрузка будет ниже.

Мне кажется, что все работает, как ожидалось! За исключением того, что все они работают на одном процессоре.

Но если бы они все работали на разных процессорах, ваша средняя нагрузка была бы одинаковой. Ваше использование процессора (в совокупности) будет выше.

Теперь — если различные процессы, которые вы запускаете, занимают слишком много времени — это другое дело. Но, опять же, ваша средняя нагрузка все равно будет высокой.

Что касается другого инструмента устранения неполадок — сверху вы можете ввести «1», и он должен показать вам разбивку всех ваших процессоров.

И «iostat» — это хороший инструмент для определения того, ограничены ли вы в I / O. Что я сомневаюсь, что вы; так как ваша средняя нагрузка очень высока (вы увидите более высокий процент в «ва», что означает «ожидание»). Если вы попробуете что-то вроде «iostat 5», вы будете получать обновления ввода-вывода, например, каждые 5 секунд. Если вы видите, что один из ваших дисков грохнулся, это можно было бы попытаться исправить, либо в коде, либо на более быстрых дисках, либо в RAID, или в кешировании, или в чем-то подобном.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]