LINUX.ORG.RU
ФорумAdmin

[freebsd] жуткие тормоза на мощных серверах

 


0

0

Всем привет.

Решил протестить новое железо(два проца по четыре ядра с гипертридингом). Поставил пых-пых через апач и демоверсию битрикса. Потом натравил siege. И, о ужас, при кол-ве активных апачей > 3(prefork) происходит существенная деградация. Вот такое вижу в top при тесте в 16 потоков:

CPU: 3.9% user, 0.0% nice, 77.9% system, 0.0% interrupt, 18.2% idle

Доля system очень быстро растёт с увеличением кол-ва апачей. Вопрос: как-нить можно отдебажить что в ядре столько хавает? Гипертридинг отключал, с настройками файлухи игрался... Диски не загружены, сеть тоже.

★★★★★

Версия системы, портов, аппаратные характеристики (частота процессора, объём памяти, дисковые накопители)?

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

7.2-RELEASE-p3 amd64 , процы 2xE5540,рейд SAS1078 PCI-X Fusion-MPT SAS, 24гига оперативы.

Софт: apache-2.2.11_7, php5-5.2.10.

Баг воспроизводим на другом железе.

Я грешу на vfs ибо процессы часто висят в состоянии ufs, винты при этом вообще не задействованы ибо сайт весит 100метров. Это подтверждает и systat -vmstat. Ядро генерик тоже пробовали, не помогло.

# vmstat 
 procs      memory      page                    disks     faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad4 ad6   in   sy   cs us sy id
14 2 0   9992M    21G   134   0   0   0   166   0   0   0  302 2244 2029  0  0 100

Есть идеи как посмотреть что ядро делает? А то такой system не с проста...

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

Да. У вас очень сильный затык на поцессоре (не хватает мощности) и в дисковом интерфейсе (драйвер чуть кривой).

iZEN ★★★★★
()
Ответ на: комментарий от hizel

> systat и systat -v смотрите

ничего подозрительного. Только totfr за 30тыщ переваливает, но я думаю проблема не в этом.

> отрубите нафиг ненужный гипертрейдинг

Я его отключил, но он на ксеонах полезный. И никак не влияет на проблему.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от iZEN

не, это исключено. Более слабые в разы серваки этот обставляют. Смотри производительность в зависимости от кол-ва воркеров апача:

1 flow: 4.09 trans/sec
2 flows: 7.63 trans/sec
3 flows: 10.95 trans/sec
4 flows: 13.61 trans/sec
...
16 flows: 4.36 trans/sec

Начиная с 4-х потоков идёт замедление сервера и к 16 потокам скорость жутко падает. На этом же железе линухи работают абсолютно нормально. Т.е. в один поток 4 запроса в секунду, 16 потоков около 40 обеспечивали. А тут фря 4.36 жалких запроса даёт.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от hizel

А где тут это видно? (PS hlt_logical_cpus сделал, но всё равно процы видны сдесь)

    1 users    Load  7.33  4.14  2.79                  Oct 15 19:15

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act 1097492   36328 10214356    54984  21633k  count
All 1200336   38868 22902392    62008          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt     18 cow   32775 total
 14       2  71        8M  95k 393k  771 1892  94k  94269 zfod      2 uhci0 mfi0
                                                          ozfod       ehci0 uhci
59.6%Sys   0.0%Intr  4.3%User  0.0%Nice 36.1%Idle        %ozfod 16005 cpu0: time
|    |    |    |    |    |    |    |    |    |    |       daefr   552 em0 irq256
==============================>>                      714 prcfr   217 em0 irq257
                                        90 dtbuf    96405 totfr       em0 irq258
Namei     Name-cache   Dir-cache    100000 desvn          react       em1 irq259
   Calls    hits   %    hits   %     89121 numvn          pdwak       em1 irq260
 1273072 1273072 100                 24561 frevn          pdpgs       em1 irq261
                                                          intrn       cpu1: time
Disks   ad4   ad6 mfid0   ar0                      367184 wire        cpu9: time
KB/t   0.00  0.00  4.00  0.00                     1052360 act         cpu2: time
tps       0     0     0     0                     1320096 inact       cpu13: tim
MB/s   0.00  0.00  0.00  0.00                         624 cache       cpu6: time
%busy     0     0     0     0                    21633272 free        cpu14: tim
                                                   408896 buf         cpu7: time
                                                                      cpu12: tim
                                                                      cpu3: time
                                                                      cpu11: tim
                                                                      cpu4: time
                                                                      cpu10: tim
                                                                      cpu5: time
                                                                      cpu15: tim
                                                                15999 cpu8: time




true_admin ★★★★★
() автор топика
Ответ на: комментарий от iZEN

А можно по-подробнее на тему этого драйвера?

PS можно меня на "Вы" не называть? Меня это смущает :).

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

> На этом же железе линухи работают абсолютно нормально. Т.е. в один поток 4 запроса в секунду, 16 потоков около 40 обеспечивали.

А зачем тогда фряха понадобилась, чисто интересно? Видать, не для энтерпрайза она...

annoynimous ★★★★★
()
Ответ на: комментарий от Karapuz

> Спроси здесь http://forum.ixbt.com/topic.cgi?id=5:13:2225#2225 у них большой опыт приручения фрях

общался с людьми, которые поставляли серверы для ixbt. Так вот, проблема в кривой(отсутствии?) реализации SMP в старых ветках, у ТС 7.2 Release => sysctl где-то нужно крутить :)

xpahos ★★★★★
()
Ответ на: комментарий от hizel

Без -v это даже хуже чем top. Ничего не видно:

                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |||||||||||||||||||||||||||||||||||||||||||||||||

                    /0%  /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
www           httpd XXXX
www           httpd XXX
www           httpd XXX
www           httpd XXX
www           httpd XXX
www           httpd XXX
www           httpd XXX
www           httpd XX
www           httpd XX
www           httpd XX
www           httpd XX
www           httpd XX
www           httpd X 
www           httpd X 
www           httpd X 
www           httpd X


true_admin ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

> А зачем тогда фряха понадобилась, чисто интересно?

Можно забить на проблему и использовать линух. Только что делать когда и в линухе что-нить сломают? Поэтому я стараюсь решить все проблемы которые возникают или хотя бы разработчикам сигнализировать.

> Видать, не для энтерпрайза она...

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

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

> Только что делать когда и в линухе что-нить сломают?

Берите неломающиеся дистрибутивы -- RHEL, (CentOS для стесненных в средствах)

annoynimous ★★★★★
()
Ответ на: комментарий от true_admin

>Можно забить на проблему и использовать линух. Только что делать когда и в линухе что-нить сломают? Поэтому я стараюсь решить все проблемы которые возникают или хотя бы разработчикам сигнализировать.

Как видно по ссылке, проблема имеет застарелые корни и обусловлена фундаментальными ошибками в архитектуре ядра фряхи.

Как показывает сложившаяся у тебя ситуация, никаких действенных мер к решению этой проблемы так и не было принято.

Сомневаюсь, что нечто аналогичное по масштабу могло произойти в линухе.

>Для того энтерпрайза что есть она подходила, можно сказать, идеально.

Теплый ламповый энтерпрайз с двумя PIII?

nnz ★★★★
()
Ответ на: комментарий от nnz

> Как видно по ссылке

Какой ссылке? Пока конкретные замеры представил только я, по остальным ссылкам пишут что

> Сомневаюсь, что нечто аналогичное по масштабу могло произойти в линухе.

И не раз и не два было. Лень искать на bugzilla.kernel.org, сам посмотри что там висит. Сидя на rhel ты много чего пропустил.

> Теплый ламповый энтерпрайз с двумя PIII?

конфига тачки выше.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от nnz

> Как видно по ссылке, проблема имеет застарелые корни и обусловлена фундаментальными ошибками в архитектуре ядра фряхи.

знатоки пришли ? :) на Opteron 2218 вообще никаких проблем, у меня какая-то другая 7.2 ?

xpahos ★★★★★
()

попробуй в BIOS отключить HT

xpahos ★★★★★
()
Ответ на: комментарий от annoynimous

> А что, теперь обязывают его не использовать?

да нет, всё гораздо проще. На том древнем софте даже мой мелкий сайт не заработает. Писать под древнее ПО только для того чтобы оно на rhel запустилось никакого желания.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

>Какой ссылке?

http://forum.ixbt.com/topic.cgi?id=5:13:2225#2225
Написано про ограниченную масштабируемость ядра фряхи. Такой предел эквивалентен смертному приговору.

>И не раз и не два было. Лень искать на bugzilla.kernel.org, сам посмотри что там висит. Сидя на rhel ты много чего пропустил.


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

Но таких феерических песцов в линухе я за последние лет десять не припоминаю.

>конфига тачки выше.


Во-во. С этой конфигой ты и получил тру-энтерпрайз :)

nnz ★★★★
()
Ответ на: комментарий от nnz

> Написано про ограниченную масштабируемость ядра фряхи. Такой предел эквивалентен смертному приговору.

Аналитики опять не читают о какой версии FreeBSD идеть речь ? :)

xpahos ★★★★★
()
Ответ на: комментарий от true_admin

>На том древнем софте даже мой мелкий сайт не заработает. Писать под древнее ПО только для того чтобы оно на rhel запустилось никакого желания.

Когда имеешь дело с RHEL, тупо смотреть на версии софта недостаточно.
То же 2.6.18 из редхата, например, во многом не уступает довольно свежему 2.6.26.

Это одно из приоритетных направлений работы RH — бэкпортирование фич из свежих версий без потери стабильности и совместимости.

nnz ★★★★
()
Ответ на: комментарий от nnz

> Написано про ограниченную масштабируемость ядра фряхи.

Для меня это 1) равносильно надписи на заборе

2) пост очень старый по айтишным меркам.

> Но таких феерических песцов в линухе я за последние лет десять не припоминаю.

Зато я знаю. Набери в гугле task freezed 120sec.

> Во-во. С этой конфигой ты и получил тру-энтерпрайз :)

Про тру-ынтурпрайз рхелла я тебе много раз писал. Могу ещё добавить что их бэкпортированные дрова не всегда работают. Не надо рассказывать сказки что у rhel никогда не бывает проблем.

> Когда имеешь дело с RHEL, тупо смотреть на версии софта недостаточно.

Например, python-markdown поддерживает таблицы? Нет? А когда портируют? То-то.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

[code]# vmstat

procs memory page disks faults cpu r b w avm fre flt re pi po fr sr ad4 ad6 in sy cs us sy id 14 2 0 9992M 21G 134 0 0 0 166 0 0 0 302 2244 2029 0 0 100

Есть идеи как посмотреть что ядро делает? А то такой system не с проста...

14 процессов ожидают в очереди процессора. 2 процесса ждут на дисковом интерфейсе в то время, как нагрузка на сами диски нулевая. Что тут непонятного?

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Пока писал сей пост:

> vmstat -w5
 procs      memory      page                    disks     faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad6 ad10   in   sy   cs us sy id
 3 0 0   2843M  4421M  4012   8  10   0  4455   0   0   0   65 9875 2670 23  4 73
 1 0 0   2846M  4419M  3017   0   0   0  2994   0   0   0  183 36133 12649 18  8 75
 0 0 0   2843M  4421M  2427   0   0   0  2625   0   0   0  103 16856 5927 11  3 86
 2 0 0   2845M  4420M  1540   4   2   0  1606   0   2   2   84 7685 2395 18  2 80
 0 0 0   2846M  4418M   976   0   0   0  1072   0  19  19   76 7296 2836 10  3 87
 0 0 0   2847M  4417M   813   0   0   0   867   0   1   1   87 10206 3373 10  1 88
 0 0 0   2847M  4417M  1500   0   0   0  1591   0   0   0  146 19068 5867 20  3 77
 0 0 0   2855M  4418M   556   0   0   0   577   0   0   0   71 9629 2483  9  2 89
 0 0 0   2889M  4416M   441   0   0   0   409   0   1   0    9 5075 1766  9  2 90
 0 0 0   2889M  4416M   373   0   0   0   453   0   1   1   35 7172 1845  8  2 89
 0 0 0   2889M  4416M     7   0   0   0   170   0  15  15   35 2756 1592  3  1 97
 0 0 0   2889M  4416M    19   0   0   0    78   0   0   0    7 3307 1500  5  1 94
 2 0 0   2893M  4401M   359   0   0   0  2408   0  62  55  200 12327 3520  7 12 80
 0 0 0   2894M  4405M  1257   0   0   0  3923   0  69  65  238 26459 7689 15 12 73
 1 0 0   2894M  4415M   159   0   0   0  2687   0  55  64  235 26095 7106 10 14 77
 0 0 0   2889M  4416M   242   0   0   0   657   0   9  10  174 21346 7377 13  5 82
 0 0 0   2888M  4416M  1741   0   0   0  1966   0  17  16  149 16561 6210 12  4 84
 0 0 0   2888M  4416M  1945   0   0   0  2031   0   0   1  122 15580 5460 15  3 83
 0 0 0   2888M  4416M   610   0   0   0   690   0   1   1   20 5020 1937  8  1 91
 0 0 0   2888M  4416M    65   0   0   0   137   0   0   0   22 4607 1865  7  2 91
 2 0 0   2888M  4416M   160   0   0   0   245   0   1   1   57 9715 3483  8  2 89
- на команде
% cd /usr/src/ && chflags -R noschg *
видно, как увеличивается нагрузка на диски (ad6 и ad10).

iZEN ★★★★★
()
Ответ на: комментарий от true_admin

>Для меня это 1) равносильно надписи на заборе

Просто слова, действительно, стоят мало.
А вот в сочетании с обсуждаемым топиком картина складывается впечатляющая.

>2) пост очень старый по айтишным меркам.


Ага. В этом-то и проблема.

>Зато я знаю. Набери в гугле task freezed 120sec.


Ну и сколько времени им понадобилось, чтобы пофиксить этот мелкий косячок? Неужели как и во фряхе, проблема остается актуальной два года спустя?

>Не надо рассказывать сказки что у rhel никогда не бывает проблем.


Разве я разве это говорил?
Я всего лишь констатировал, что там нет такого песца, как во фряхе.

nnz ★★★★
()
Ответ на: комментарий от true_admin

>Иди смотри на главной новость про дыру в rhel. "нету такого песца как во фряхе", га-га-га.

Га-га-га, посмотри, кто автор новости :D

По сравнению с обсуждаемой проблемой фряхи, это — детские игрушки.

nnz ★★★★
()
Ответ на: комментарий от iZEN

Абсолютно ничего не понятно. Ты просто перечислил названия полей в systat. А главный вопрос почему так. Чего им ждать-то? Понятно что проц занят, понятно что занят ядром, но что ядро такого делает абсолютно непонятно.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

>У меня другое мнение что игрушки а что нет.

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

Воистину, религиозный фанатизм порою не знает границ :)

nnz ★★★★
()
Ответ на: комментарий от nnz

Если бы ты читал внимательнее то понял что на тот сервер уже водружён линух а я щас на тестовых "играюсь" с фрёй. Почему я так поступаю я тут уже писал.

Рад что под твои задачи вписывается одна ось которую ты везде и ставишь. Больше сюда писать не надо.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

>Если бы ты читал внимательнее то понял что на тот сервер уже водружён линух а я щас на тестовых "играюсь" с фрёй. Почему я так поступаю я тут уже писал.

Ну так чего ты переживаешь? Разве не пофигу, тормозит или нет тестовая машинка? Главное, чтобы рабочие не тормозили :)

>Рад что под твои задачи вписывается одна ось которую ты везде и ставишь.


Большая ошибка, которую обычно делают все религиозные фанатики — они априорно предполагают, что их собеседники обязательно являются фанатиками конкурирующей (враждебной) религии.
Могу тебя разочаровать — в работе постоянно имею дело как с центосом, так и с демьяном, а в свободное от работы время играюсь фряшкой. Однако по предварительным результатам исследования, фряха сама по себе ничего особенно интересного не представляет, поэтому в дальнейших планах повышение экспы при работе в «безопасной системе с перспективным фаерволом» (OpenBSD) и в «системе с перспективной ФС» (OpenSolaris).

nnz ★★★★
()
Ответ на: комментарий от true_admin

Нужно исходить из того, что в FreeBSD 7.x переписан механизм шедулинга процессов с потоками для SMP-систем (осуществился плавный переход от kse (M:N) к libthr (1:1), и в 7.x libthr стал основным API для многопоточных приложений).

Возможно, ПО, которое ты используешь, задействует старую библиотеку kse(2) вместо libthr(3) — проверь опции сборки запускаемого ПО из портов, в том числе его зависимостей.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

там апач в prefork и php, это не тредовые приложения. Проблема даже с phpbb воспроизводится, правда, там отставание "всего" в полтора раза.

true_admin ★★★★★
() автор топика
Ответ на: комментарий от true_admin

В свое время собирал на изначально чистой фряхе апач и пых-пых с практически всеми возможными зависимостями (ради эксперимента). Никаких вопросов про треды, емнип, не было.

Конечно, оно может настраиваться через опции make и /etc/make.conf, но навряд ли ты писал туда что-то левое. И вряд ли там по дефолту стоят устаревшие опции.

Так что я остаюсь при своем мнении, что это, скорее всего, косяк реализации SMP в ядре фряхи.

nnz ★★★★
()

Покажи конфигурацию ядра.

bbk123 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.