50 feletti load average - miért?

Fórumok

addott egy webszerver apache2-mpm-prefork szerverrel. a dinamikus tartalmakat
cgi szolgálja ki. (ELF bináris)

a gépen szimultán 500-800 processz fut, kernel: 2.4.34

a gép mostanság gyakran belassul, akkor a load average felmegy 50-100 fölé.
kérdés, hogy milyen erőforrásból fogyunk ki?

- Core2 duo proccos gép, a legnagyobb terheltség mellett is kb 40% szabad CPU idő
van a top szerint. (per-processzor értendően)
- Szabad memória van dögivel. több gigabyte...
- Hardveres raid0+1 van, a diszk ledek pislákolnak csak.
- Hálózati kapacitás van bőven.

milyen hardvert vegyek?
lehet, hogy a kernel ütemezője nem küzd meg a feladattal?
próbáljam meg a clockticks Hz értéket nagyobbra átállítani?
látott már valaki ilyet?

Hozzászólások

- Core2 duo proccos gép, a legnagyobb terheltség mellett is kb 40% szabad CPU idő
van a top szerint. (per-processzor értendően)
- Szabad memória van dögivel. több gigabyte...
- Hardveres raid0+1 van, a diszk ledek pislákolnak csak.
- Hálózati kapacitás van bőven.

milyen hardvert vegyek?

minek hardvert venni? ennyi erovel bogomips alapjan is lehetne performanciat szamolni...

szia

szerintem nézd meg mitől megy fel.
pl mekkora az IO wait, meg azért 5-800 processz se kutya :D
meghát egy 2.6 os kernel teszt sem ártana

Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7

ja, mielőtt még valaki benyögné a 2.6.x-es kernelsorozatot, csodaszép SMP-related
oops-okat, és mindenféle egyéb csodákat tudok vele művelni, úgyhogy kihagynám...

jó, akkor egy kis olvasnivaló estére:
(keress rá ezekre google-al)

KERNEL: assertion (!atomic_read(&sk->sk_wmem_alloc)) failed at net/ipv4/af_inet.c (148)

vagy éppen:

BUG: scheduling while atomic: apache2/0x00000001/2239
page:e7279fe8 flags:0x00000000 mapping:00000000 mapcount:1 count:0
Trying to fix it up, but a reboot is needed

de ha gondolod, ellátlak néhány megányi kernel loggal...

most éppen 2.6.17.x, 2.6.19.x és 20-rc-akárhány, fejből már nem emléx az alverziókra.
de próbáltam korábbi verziókat is, azoknak meg más bajuk volt :)

viszont, a 2.4-es sorozat, úgy kb. 2.4.27-től fölfele nálam betonstabil, eltekintve ettől
a problémától (már persze ha a kernel tehet róla...)


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
16 10      0     55     20    537    0    0    11     6    4     8 33 11 56  0
16  0      0     49     20    537    0    0   840  1040 148145  6069 55 44  1  0
22  6      0     43     20    539    0    0  1332     0 146116  5243 49 51  0  0
25  0      0     38     20    540    0    0  1080     0 146646  3816 53 47  0  0
28  1      0     36     20    541    0    0  1196     0 147241  3947 55 45  0  0
19 12      0     41     20    543    0    0  1208  2676 146099  4260 54 46  0  0
25  3      0     31     20    544    0    0  1040  1368 146275  4243 46 54  0  0
25 10      0     31     21    546    0    0  2312   496 145568  4637 55 45  0  0
23  2      0     33     21    548    0    0  1544  1548 144660  5042 56 44  0  0
15  0      0     39     21    549    0    0  1276     0 147747  4245 53 47  0  0
18  0      0     42     21    550    0    0  1068  2100 146137  5590 57 43  0  0
21  1      0     37     21    551    0    0  1228     0 146700  6137 57 43  0  0
22  2      0     32     21    552    0    0   984     0 146845  5131 56 44  0  0
24  0      0     29     21    554    0    0  1248   308 146522  4375 54 46  0  0
22  0      0     31     21    555    0    0  1272     0 146682  4631 55 45  0  0
12  0      0     36     21    556    0    0  1161  2350 156311  5129 56 44  0  0
14  2      0     41     21    558    0    0  1492   644 154909  5825 57 43  0  0
14  1      0     40     21    559    0    0  1804     0 156317  5725 55 45  0  0
27  2      0     26     21    560    0    0  1708   580 154391  5340 56 44  0  0
23 14      0     29     21    562    0    0  1121  3722 145171  4459 57 43  0  0
26  0      0     27     21    563    0    0  1324   220 192227  6444 54 46  0  0
24  0      0     20     21    564    0    0  1140     0 146869  4893 52 48  0  0

akkor most volt egy reboot.
látszólag most a rendszer megfelelően működik.

reboot előtt 12-es load average
reboot után 6-os load average (igaz, még nem minden user csatlakozott újra feltehetőleg)
igaz, most éjjel fél 1 van, a másik pedig délután 16 óra volt...


procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  2      0    644     21    149    0    0   380   177 1426  1354 17  7 75  0
 0  0      0    650     21    150    0    0   912     0 2947  2186 12  4 83  0
 2  1      0    650     21    150    0    0   608     0 1643   714  0  1 98  0
 0  1      0    644     21    151    0    0   608  1285 2201  1350  5  4 91  0
 4  4      0    637     21    152    0    0  1248     0 5517  5290 42  7 50  0
 0  4      0    632     21    153    0    0   960     0 6640  6656 48  7 45  0
 2  1      0    636     21    154    0    0  1160     0 5378  5376 43 14 43  0
 0  3      0    639     21    155    0    0   876     0 3343  2514 26  7 67  0
 1  1      0    636     22    156    0    0  1113  1298 2730  1806 25  6 69  0
 2  0      0    637     22    157    0    0   860     0 4266  3702 32  6 61  0
 0  0      0    631     22    158    0    0  1232     0 5600  5555 37  7 56  0
 4  0      0    624     22    159    0    0  1192     0 5454  4936 40  8 52  0
 2  1      0    627     22    160    0    0  1192     0 5207  4669 31 10 59  0
 0  1      0    620     22    161    0    0   872  1549 5942  5447 33  9 58  0
 6  2      0    608     22    163    0    0  1136     0 7941  7393 61 15 23  0
 3  3      0    620     22    163    0    0   972     0 8304  8336 36 11 53  0
10  3      0    621     22    164    0    0  1124     0 7270  7157 34 17 50  0
 3  0      0    623     22    166    0    0  1180     0 6782  7186 38 11 51  0
 5  3      0    615     22    166    0    0   625  2161 4627  4023 45 10 46  0
 1  0      0    625     22    167    0    0  1108     0 6356  6192 32 10 58  0
 3  0      0    625     22    168    0    0   776     0 4559  4149 29 12 59  0
 0  3      0    617     22    169    0    0  1284     0 6762  6499 40 10 50  0
 6  0      0    620     22    170    0    0  1108     0 8108  7445 45 12 43  0
 0  4      0    623     22    171    0    0   724  1655 8662  7792 50 13 37  0
 0  3      0    613     22    172    0    0  1272     0 3273  2607 23  6 71  0
 0  0      0    620     22    173    0    0   820     0 3166  2453 16  6 77  0
 2  0      0    616     22    174    0    0   484     0 2166  1349  7  4 89  0

azért ez a system érték elég ronda, nem? vajh miért?

ja, egyéként ext3 filerendszer, ha számít, és diszk írás nem nagyon van, csak olvasás.
(a gépen csak cgi fájlok, és statikus tartalmak laknak, minden változó adat SQL-ből jön,
ami másik gépen van)
kivéve az apache log, de azt mindjárt kinyírom...

Milyen NIC?
--
Gentoo motto: It's worth spending eight hours trying to make something load 20ns faster.

imho ilyen gepre, ilyen terhelesre vetek 2.4-es kernelt rakni. alig hasznalod ki a gepet, lehetne feleekkora is, ugyanezt tudna. en keresnek egy olyan kernelt, ami jol mukodik. bar nekem meg nem volt komoly gondom kernellel, smp gepeken sem. core duo gepet eddig ubuntu 6.06 -tal probaltam, a 64 bites verziot, sima ugy.

--
Gabriel Akos

"ilyen terhelesre vetek 2.4-es kernelt rakni"

miben vetted észre az érdemi különbséget a 2.4 és a 2.6 között?
mert én - ha a stabilitási kérdéstől eltekintünk - se pro, se kontra érvet nem tudok felhozni egyik mellett sem, az eddigi tapasztalatok alapján. (értsd: az összes hardveremet támogatja mindkettő, és ha éppen nem omlik össze :) akkor a teljesítmény is baba...)

a stabilitás nekem eddig egyértelműen a 2.4 mellett szól.
megjegyzem, igen, nekem is van több gépem 2.6-al, ami problémamentesen működik.

ennyivel jobb lenne a VM? a scheduler? vagy mi?

ha barmilyen java-s cuccot futtatsz , fogod latni a kulonbseget, a threadkezeles sokkal jobb
meg ha jolemlexem (baromi reg volt a 2.4-es idoszak) akkor a sok swap eseten is sokkal jobb a 2.6
meg az interaktivitasa is jobb terheles alatt
postgres is sokkal jobban szereti, foleg az ujak

telleg, nemtom 2.4-gyel lehet-e >4gb ramot cimezni?
mondjuk az amd64 smp se tudom hogy megy-e 2.4-el

--
Gabriel Akos