1.063.444

kiadvánnyal nyújtjuk Magyarország legnagyobb antikvár könyv-kínálatát

A kosaram
0
MÉG
5000 Ft
a(z) 5000Ft-os
szállítási
értékhatárig

Linux kiszolgálók teljesítményének fokozása

Szerző
Fordító
Lektor
Budapest
Kiadó: Kiskapu Kft.
Kiadás helye: Budapest
Kiadás éve:
Kötés típusa: Fűzött kemény papírkötés
Oldalszám: 537 oldal
Sorozatcím:
Kötetszám:
Nyelv: Magyar  
Méret: 24 cm x 19 cm
ISBN: 963-9637-06-8
Megjegyzés: Néhány fekete-fehér ábrával.
Értesítőt kérek a kiadóról

A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról
A beállítást mentettük,
naponta értesítjük a beérkező friss
kiadványokról

Fülszöveg

A Wall Streettől Hollywoodig ma már számos olyan üzleti alkalmazásokat futtató rendszer létezik, amelyek operációs rendszere a Linux. Ez egyben azt is jelenti, hogy a Linux rendszerek teljesítménye kihatással lehet gazdasági életünk egészére. Ezt a könyvet az IBM teljesítménymenedzsmentben legtapasztaltabb szakemberei írták, akik bemutatják, hogyan találhatjuk meg egy rendszerben a szűk keresztmetszeteket, milyen módszerekkel mérhetjük annak teljesítményét, illetve hogyan határozhatjuk meg az optimalizálás irányát és módját. Fontos hangsúlyozni, hogy ez a könyv nem egyszerűen a rendszermag optimális beállításait tárgyalja, hanem a Linuxon futtatott alkalmazások és adatbázisok felhasználó számára érzékelhető, átfogó teljesítményének optimalizálásáról szól. A szerzők mindvégig életszerű példákat mutatnak be Intel alapú platformokra, Red Hat Enterprise Linux, illetve Novell SUSE Linux Enterprise Server operációs rendszereket feltételezve. Minden bemutatott példa egyszerűen átlátható,... Tovább

Fülszöveg

A Wall Streettől Hollywoodig ma már számos olyan üzleti alkalmazásokat futtató rendszer létezik, amelyek operációs rendszere a Linux. Ez egyben azt is jelenti, hogy a Linux rendszerek teljesítménye kihatással lehet gazdasági életünk egészére. Ezt a könyvet az IBM teljesítménymenedzsmentben legtapasztaltabb szakemberei írták, akik bemutatják, hogyan találhatjuk meg egy rendszerben a szűk keresztmetszeteket, milyen módszerekkel mérhetjük annak teljesítményét, illetve hogyan határozhatjuk meg az optimalizálás irányát és módját. Fontos hangsúlyozni, hogy ez a könyv nem egyszerűen a rendszermag optimális beállításait tárgyalja, hanem a Linuxon futtatott alkalmazások és adatbázisok felhasználó számára érzékelhető, átfogó teljesítményének optimalizálásáról szól. A szerzők mindvégig életszerű példákat mutatnak be Intel alapú platformokra, Red Hat Enterprise Linux, illetve Novell SUSE Linux Enterprise Server operációs rendszereket feltételezve. Minden bemutatott példa egyszerűen átlátható, és könnyen alkalmazható bármely más Linux rendszerre is. A könyv a következő nagyobb témaköröket érinti:
Hogyan telepítsük a Linux operációs rendszert akkor, ha kezdettől fogva lényeges szempont a maximális teljesítmény ¦ A célnak leginkább megfelelő hardver kiválasztása. A 2.4-es és 2.6-os rendszermag: összetevők, a teljesítménnyel kapcsolatos kérdések, az optimalizálás lehetőségei. A Linux teljesítménymenedzsment alapelvei és módszerei. A teljesítménymérés, megfigyelés, nyomkövetés és rendszerminősítés szabadon használható, nyílt forrású eszközei. A mért teljesítményadatok és a való élet kapcsolata. Az ütemező, a memóriakezelés, az 1/0 műveletek, a fájlrendszerek és a hálózati kommunikáció optimalizálása. Üzleti környezetben használt web-, fájl-, adatbázis- és alkalmazáskiszolgálók teljesítményének hangolása. Hogyan jósolhatjuk meg az egyes paraméterek és beállítások módosításának hatását. A kiszolgálón futtatott kód optimalizálása: tervezés, időzítések, csatolók, szálak, összehangolása és egyéb szempontok. A rendszer felépítésének és teljesítményének kapcsolata: SMP méretezés, fürtözés, topológiák. Vissza

Tartalom

Tartalomjegyzék
Előszó
Köszönetnyilvánítás
A szerkesztőkről
A szerzőkről
I. rész Linux - áttekintés
1. fejezet A Linux telepítésével kapcsolatos kérdések
Bevezetés 3
A telepítést megelőző tervezés 3
A lemezrészek elhelyezése 4
Több merevlemez használata 4
A fájlrendszerek kiválasztása 5
A fájlrendszerek átalakítása 5
A RAID beállítása 6
Beállítható szolgáltatások a 2.6-os rendszermagban 8
I/O felvonók 8
Nagy TLB lapok támogatása 8
Naplózás a Linuxban 10
/var/log/messages 10
/var/log/XFree86.0. log 10
Naplóváltás 10
Logger 11
Testreszabott naplózás H
Rendszerindítás: BSD vagy System V 12
Rendszerindítási tábla (/etc/inittab) 13
BSD inittab (Slackware) 13
Sys V inittab (Red Hat) 14
Összefoglalás 16
Hivatkozások 16
2. fejezet A rendszermag - áttekintés
Bevezetés 17
A Linux fejlődése 17
A Linux rendszermag felépítése 18
A rendszermag feladatai 18
Felépítés és modulok 18
Rendszermag-szolgáltatások 18
A /proc fájlrendszer - külső teljesítménynézet 19
Memóriakezelés 19
Folyamatkezelés 21
Folyamatközi kommunikáció 23
Jelzések 23
Csövek 24
System V IPC megoldások 24
A Linux SMP modellje 26
Többprocesszoros rendszerek 26
Versengés és adatsorosítás 26
Zárak: szemcsézettség és többletköltség 26
A gyorsítótár következetessége 27
Processzorválasztás 27
Fájlrendszerek 27
Virtuális fájlrendszer (VFS) 27
ext2fs 28
Logikai kötetkezelés és RAID 28
Kötetcsoportok 29
Eszközfájlok 30
devfs 30
Új szolgáltatások a 2.6-os rendszermagban 30
Összefoglalás 31
Hivatkozások 31
3. fejezet Kiszolgálóarchitektúrák
Bevezetés 33
Linux kiszolgálók 33
Processzorok és párhuzamos feldolgozás 34
Kiszolgálótopológiák 35
Processzorok vegyítése 35
Memória 37
I/O 38
Linux vállalati kiszolgálók 40
Linux fürtök 41
Nagyteljesítményű fürtök 41
Magas elérhetőségű fürtök 42
Példák kiszolgálórendszerekre 43
IBM nagygépek - Series 43
Hardverfelépítés - áttekintés 44
Megbízhatóság 45
Az IBM nagygépek I/O felépítése 45
Pengék 46
NUMA 46
Hardvermegvalósítások 48
Konkrét NUMA-megvalósítások 50
Időzítők 52
Összefoglalás 52
II. rész Teljesítményelemző eszközök
4. fejezet Rendszerteljesítmény-mérés
Bevezetés 55
A Linux és a teljesítményelemzés 56
Processzorkihasználtság 57
vmstat 60
top es gtop 63
sar 64
Memóriakihasználtság 67
/prc/meminfo és /proc/slabinfo 67
ps 69
vmstat 70
I/O kihasználtság 71
iostat 73
sar 74
Hálózatkihasználtság 76
Hálózati statisztika 78
Felületadatok megjelenítése 79
TCP/IP protokollstatisztikák 80
nfsstat 81
Összefoglalás 81
Hivatkozások 82
5. fejezet A rendszer működésének nyomon követése
Bevezetés 85
Követelmények 86
A top segédprogram 86
STRACE 88
OProfile 92
opcontrol 92
Adatprofilkészítő eszközök 94
Performance Inspector 100
Above Idle 103
Per-Thread Time 104
Nyomkövetés 106
Utasításkövetés 109
Java Profiler 111
Java Lock Monitor 125
Futtatható Performance Inspector eszközök 128
Összefoglalás 130
Hivatkozások 130
6. fejezet Teljesítményelemzés mérőeszközök segítségével
Bevezetés 131
Mérés az alkalmazások teljesítményének javításához 132
Milyen mérőprogramok léteznek? 134
Mikromérőprogramok 134
Operációsrendszer-mérőprogramok 134
Hálózati mérőprogramok 159
Alkalmazás-mérőprogramok 160
Webkiszolgáló-mérőprogramok 165
SPECweb, SPECweb SSL és TPC-W 165
SPECjAppServer és ECPerf 167
További alkalmazás-mérőprogramok 167
Összefoglalás 168
III. rész Rendszerhangolás
7. fejezet Alapelvek és stratégiák: esettanulmány - mérőprogramok
Bevezetés 173
Teljesítményértékelési módszerek 173
Nyomkövetés 173
Terhelés jellemzés 174
Számszerű elemzés 174
Szimuláció 174
Esettanulmány - mérőprogramok 175
Elemzési módszer 175
Hardver és szoftver 175
Futtatási szabályok 176
A célok kitűzése 176
Mérés, elemzés és hangolás 177
Kilépési stratégia 178
Mérőprogramok 179
Eredmények 180
Összefoglalás 184
Nyilatkozat 184
Hivatkozások 185
8. fejezet Az ütemező hangolása
Bevezetés 187
Egyprocesszoros rendszerek 187
Szimmetrikus többprocesszoros rendszerek 188
Nem egységes memóriaelérés 188
Szimmetrikus többszálas feldolgozás 189
A 2.6-os Linux ütemező 190
Terheléselosztás 191
Az ütemező hangolható elemei 192
CHILDJPENALTY 192
CREDITJLIMIT 192
EXIT_WEIGHT 193
INTERACTIVEJDELTA 193
MAX_SLEEP_AVG 193
MAX_TIMESLICE 193
MIN_TIMESLICE 193
PARENTJPENALTY 194
PRIO_BONUS_RATIO 194
STARVATION_LIMIT 194
Összefoglalás 195
Hivatkozások 195
9. fejezet A virtuális memória és a teljesítmény
Bevezetés 197
Memória és címtér 198
Címtér 198
Felhasználói címtér 199
A virtuális memóriaterület 200
A rendszermag címtere 201
Magasmemória-támogatás 202
A highmem felület 202
Lapozás és lapcsere 203
Lapozási szabályok 204
Lapcsere és memóriaegyensúly 204
A Linux laptáblái 205
Új szolgáltatások a 2.6-os rendszermagban 207
rmap és objrmap 207
Nagy lapok támogatása 207
Lapfoglalás és lapcsere 208
Az slab memóriafoglaló 209
A virtuális memória hangolható paraméterei 209
A processzorütemező 212
Összefoglalás 214
Hivatkozások J 214
10. fejezet Az I/0 alrendszerek hatása a teljesítményre
Bevezetés 217
I/O ütemezés és a blokk I/O réteg 217
A Linux 2.6 I/O ütemezői 218
A Linux 2.4 I/O ütemezője 219
A 2.6 határidős I/O ütemezője 219
Az ütemező hangolható paraméterei 220
A 2.6 előrelátó ütemezője 221
A 2.6-os rendszermag CFQ ütemezője 224
A 2.6-os rendszermag noop I/O ütemezője 225
Az I/O ütemező hatása a teljesítményre 225
Olvasási és írási kéréskötegek 225
Előrelátó heurisztika 226
A teljesítményt befolyásoló I/O elemek 227
Az I/O eszközök megcímzése 228
Összefoglalás 229
Hivatkozások 229
11. fejezet Fájlrendszerhangolás
Bevezetés 231
A fájlrendszerek alapjai 231
Fájlrendszer-megvalósítások 231
Optimális fájlrendszerek létrehozása 232
A fájlrendszerekkel kapcsolatos alapfogalmak 232
Naplózó fájlrendszerek 235
Amikor egy jó fájlrendszer elromlik 235
A megoldás: tranzakciók használata 236
Számtalan lehetőség 237
A lemezek szerepe a fájlrendszer teljesítményében 239
Adattárolás a fizikai lemezen 239
A lemezek felépítése 239
Átviteli sebesség 240
hdparm 241
Töredezett fájlrendszerek 244
Fájlösszehangolás 244
Hogyan biztosíthatjuk az adatok és a fájlok épségét? 245
Rendszerhívások használata 245
Fájlleírók használata 245
A sync/fsync hatása a teljesítményre 246
Aszinkron írás és olvasás 247
Az aszinkron I/O használata 248
Aszinkron I/O függvények 248
Nyers lemez I/O 249
A nyers I/O beállítása Linuxon 249
Példa 249
Ext2 és Ext3 250
Az Ext2 felépítése 250
Blokkfoglalás az Ext2 fájlrendszerben 252
Ext2 fájlrendszer létrehozása 253
Az Ext2 fájlrendszer Ext3 bővítése 254
Rendszermag-támogatás az Ext3-hoz 254
Az Ext3 használata 254
Ext3 partíció létrehozása 255
Ext2 fájlrendszer Ext3-ra alakítása 256
Önálló naplózó eszköz használata 256
Ext2/Ext3 segédprogramok 256
ReiserFS 257
A ReiserFS-támogatás engedélyezése a rendszermagban 258
A ReiserFS használata 258
ReiserFS fájlrendszer létrehozása 258
A sebesség növelése külső naplóval 260
A fájlrendszer becsatolása 260
Mount-kapcsolók 260
A ReiserFS hangolása 261
ReiserFS-segédprogramok 262
JFS 263
A JFS-támogatás engedélyezése a rendszermagban 264
A JFS használata 264
JFS fájlrendszer létrehozása . 264
A sebesség növelése külső naplóval 265
A fájlrendszer becsatolása 265
Mount-kapcsolók 265
A JFS hangolása 266
JFS-segédprogramok 266
XFS 266
Az XFS-támogatás engedélyezése a rendszermagban 267
Az XFS használata 268
XFS fájlrendszer létrehozása 268
Tele fájlrendszer 269
A sebesség növelése külső naplóval 269
A fájlrendszer becsatolása 269
Mount-kapcsolók 269
Az XFS hangolása 270
XFS-segédprogramok 270
Összefoglalás 272
Hivatkozások 273
12. fejezet A hálózat hangolása
Bevezetés 275
A hálózati protokollverem 275
Hangolás rendszermag-paraméterekkel 276
A rendszermag automatikus hangolása 27
A legfontosabb rendszermag-paraméterek 277
A csatolótárak 277
Alapértelmezett csatolótárméret 278
Legnagyobb csatolótárméret 278
netdev_max_backlog 278
somaxconn 279
optmem_max 279
A TCP/IPv4 protokoll rendszermag-paraméterei 279
A TCP tár- és memóriakezelése 279
TCP-beállítások 282
TCP kapcsolatkezelés 283
A TCP kapcsolat életben tartása 284
IP kaputartomány 285
Összefoglalás 286
Hivatkozások 286
13. fejezet Folyamatok közötti kapcsolattartás
Bevezetés 287
Mit jelent a folyamatok közötti kapcsolattartás? 287
Linux SysV IPC erőforrások és az ipcs parancs 288
Az ipcs parancs 288
IPC azonosítók és korlátaik 290
Szemaforparaméterek 290
semmni 291
semmns 291
semmsl 291
semopm 292
semvmx 292
Használaton kívüli szemaforparaméterek 292
Üzenetsor-paraméterek 293
msgmni 293
msgmax 293
msgmnb 294
Használaton kívüli üzenetsor-paraméterek 294
A megosztott memória paraméterei 294
shmmni 295
shmmax 295
shmmin 295
shmall 296
Az IPC paraméterek dinamikus módosítása 296
A /proc használata 296
A sysctl használata 296
Az IPC paraméterek statikus módosítása 297
Csövek 297
Összefoglalás 298
14. fejezet Kódhangolás
Bevezetés 299
Általános alapelvek 300
Az alkalmazás működésének megértése profilkészítés segítségével 300
Fordítói kapcsolók mint hangolóeszközök 301
A teljesítményhangolás alapvető lépései 302
Néhány szó a fordítói optimalizálásról 302
Kódhangolás 302
Algoritmusok: a teljesítményt befolyásoló tervezési döntések 303
Problémák és lehetséges megoldások 303
Példa: Milyen gyorsan vagyunk képesek kapcsolódni,
létrehozni egy fájlt, elolvasni azt, és bontani a kapcsolatot? 304
A program 305
A kód felépítése 307
A kiszolgáló 308
Időmérés 309
Csatolók 310
Szálak 324
Összehangolás 317
Fájl I/O 321
Az ügyfél 323
Megjegyzések a kódhoz 325
Fordítói kapcsolók 326
Programkönyvtárak 32
Összefoglalás 328
IV. rész A Linux kiszolgálóalkalmazások teljesítményjellemzése
15. fejezet Webkiszolgálók
Bevezetés 331
HTTP kérések és válaszok 332
A webkiszolgáló viselkedése a hálózaton 334
A webkiszolgálói tranzakciók felépítése 335
Webkiszolgáló-modellek 336
A webkiszolgálók hangolása 338
Minden webkiszolgálóra érvényes hangolási lehetőségek 338
APache 339
A Flash és az eseményvezérelt kiszolgálók 339
Tux 340
A webkiszolgálók teljesítményét mérő eszközök 340
Összefoglalás 341
Hivatkozások 341
16. fejezet Fájl- és nyomtatókiszolgálók
Bevezetés 344
A kijelölt hálózati tárolókiszolgálók típusai 344
A hálózati tároló teljesítményének optimalizálása 344
Milyen adatokat tároljunk távoli rendszeren? 345
SAN vagy hálózati fájlrendszer/NAS? 345
Hálózatifájlrendszer-protokollok 345
Az ügyfél és a kiszolgáló megvalósítási lehetőségei 350
A Linux ügyfél hangolása - néhány kulcsfogalom 350
Protokollrétegek 351
Megalkuvó zárolás 352
Metaadatok 353
Fájlváltozási értesítés 353
írásvédett kötetek és írásvédett fájlok 354
A Linux fájlkiszolgálók hangolása 355
NFS 356
Samba 356
Teljesítménymérés 358
Terhelésmérés a jobb kapacitásfelméréshez 358
A nyomtatókiszolgáló teljesítménye 359
Hivatkozások 360
17. fejezet Adatbázis-kiszolgálók
Bevezetés 361
Az adatbázis-felépítések áttekintése 362
Az adatbázis-hangolás területei 363
I/O-hangolás 363
A várakozási sor hossza és a válaszidők 363
Terheléskiegyenlítés 363
Globális memória 365
A naplózó eszköz 367
Jellemző adatbázis-feladatok 367
Folyamatkezelés 368
Memóriakezelés 369
I/O-kezel és 370
Visszaküldő gyorstárazás 371
Nyers I/O 371
Vektoros I/O 371
Aszinkron I/O 372
Közvetlen I/O 372
Blokkméretű I/O 373
I/O kérelemzárolás 373
Összefoglalás 374
18. fejezet Alkalmazáskiszolgálók
Bevezetés 375
Az alkalmazáskiszolgáló definíciója 375
A Java, a J2EE és az alkalmazáskiszolgálók 376
Az alkalmazáskiszolgálók teljesítményjellemzése 377
Az alkalmazáskiszolgálók jellemzői 379
Alkalmazáskiszolgálók Linuxon 380
A teljesítmény fokozása és a rendelkezésre állás növelése 390
SMP méretezés 390
Fürtözés 391
Topológia 393
Teljesítményhangolás 397
Összefoglalás 401
Hivatkozások 402
V. rész Hangolási esettanulmányok
19. fejezet Esettanulmány: A Linux 2.6 I/O ütemezőinek hangolása
Bevezetés 405
A teljesítménymérési környezet és a terhelési profilok 406
Az I/O ütemezők és a teljesítmény 407
Egy processzort és egy lemezt tartalmazó rendszer 408
8 utas RAID-5 rendszer 409
16 utas RAID-0 rendszer 412
Az AS ütemező szekvenciális olvasási teljesítménye 413
Az AS és a deadline teljesítményének összehasonlítása 414
A CFQ teljesítménye 415
Összefoglalás 418
Hivatkozások 419
20. fejezet Esettanulmány: A fájlrendszer hangolása
Bevezetés 421
A fájlelrendezés elemzése 421
Az Ext2/Ext3 elrendezés 422
A Journaled File System (JFS) elrendezés 429
A ReiserFS elrendezés 431
Az XFS elrendezés 433
Fájlrendszerek hangolása 435
Az Ext3 hangolási lehetőségei: önálló naplózó eszköz használata 435
A ReiserFS fájlrendszer hangolási lehetőségei: nagyobb sebesség
külső naplóval 439
A JFS fájlrendszer hangolási lehetőségei: nagyobb sebesség külső naplóval 441
Az XFS fájlrendszer hangolási lehetőségei 443
A bemenet-kimenet mérése 445
iostat 445
Az iostat és a sar segédprogramok használata 446
Összefoglalás 452
Hivatkozások 452
21. fejezet Esettanulmány: Hálózati teljesítmény Linuxon
Bevezetés 453
Az esettanulmányban használt mérőprogramok 454
NetBench 454
Netperf3 454
VolanoMark 454
SPECWeb99 455
Továbbfejlesztések a 2.4-es és 2.6-os Linux rendszermagokban 455
SendFile-támogatás 456
TCP daraboló tehermentesítés 458
Folyamat- és IRQ-kötés a hálózati terhelésben 460
NAPI-támogatás 462
TCP tehermentesítő motor támogatása 465
Esettanulmány 466
NetBench 466
Netperf3 (Gigabit Ethernet hangolási esettanulmány) 469
VolanoMark 471
SpecWeb99 472
Összefoglalás 474
Hivatkozások 475
22. fejezet Esettanulmány: Teljesítményhangolás üzleti terhelés alapján
Bevezetés 477
Hangolás üzleti terhelés alapján - áttekintés 477
A J2EE szabványos üzleti terhelésmodellje 478
Üzleti terhelésmodellünk: részvénypiac 479
Rendszerfelépítés 480
További információk a Trade3 alkalmazásról 481
Teljesítményelemzési módszerek 484
Kulcsfontosságú pontok, amelyeket tekintetbe kell venni
a teljesítményhangolásnál 485
A teljesítményelemzési példa 486
A webkiszolgáló 489
Az adatbázis-kiszolgáló oldala: a szűk keresztmetszet? 489
A Java virtuális gép 497
Az alkalmazáskiszolgáló 499
Hiperszálas feldolgozás 502
Összefoglalás 502
Hivatkozások 503
A függelék A rendszermag paramétereinek hangolása
Bevezetés 505
A sysctl felület 505
A sysctl használata 506
A procfs felület 506
A procfs használata 507
A sysfs (csak a Linux 2.6 rendszermagnál) 507
A sysfs használata 507
Általános rendszermag-paraméterek 507
Megosztott memória 508
Folyamatok 508
Jelek 508
Profilkészítés és hibakeresés 508
Rendszer 509
Virtuális memória 509
Fájlrendszer 511
Hálózat 513
Net Core 513
ICMP 513
NEIGHBOR 514
CONFIG 515
Útválasztás 515
TCP 516
IP tördelés 517
Tárgymutató 519
Megvásárolható példányok

Nincs megvásárolható példány
A könyv összes megrendelhető példánya elfogyott. Ha kívánja, előjegyezheti a könyvet, és amint a könyv egy újabb példánya elérhető lesz, értesítjük.

Előjegyzem