Home
Add Document
Sign In
Register
Tartalomjegyzék... iii Elõszó... xvii Köszönetnyilvánítás... xix A szerkesztõkrõl... xx A szerzõkrõl... xx
Home
Tartalomjegyzék... iii Elõszó... xvii Köszönetnyilvánítás... xix A szerkesztõkrõl... xx A szerzõkrõl... xx
1 Tartalomjegyzék Tartalomjegyzék iii Elõszó xvii Köszönetnyilvánítás xix A szerkeszt&otild...
Author:
Sarolta Szőke
6 downloads
57 Views
69KB Size
Report
DOWNLOAD PDF
Recommend Documents
ÁLLAM ÉS NEMZET A XIX-XX. SZÁZADBAN
VII. GYÓGYSZERÉSZET A XIX XX. SZÁZAD FORDULÓJÁN
Šahy (Ipolyság) téglagyárosai a XIX XX. században
CSÁNGÓMENTÉS MOLDVÁBAN A XIX XX. SZÁZAD FORDULÓJÁN
xm XIV XV XVI XVII xvrn XIX XX
A Pázmáneum, mint épített örökség a XIX XX. században
A NYUGATI RENDVÉDELEM HATÁSA A XIX-XX. SZÁZADI MAGYAR RENDVÉDELEMRE
Nemzet és kisebbség. Társadalomtörténeti változások a XIX XX. században Národ a menšina. Sociálnohistorické zmeny v XIX XX
A BUDAPESTI VÁMVONALRENDSZER VÁLTOZÁSA A XIX-XX. SZÁZADBAN
Liberális politikai útkeresés Magyarországon a XIX XX. század fordulóján
Szabadka urbanisztikai és építészeti fejlõdése a XIX XX. század fordulóján
TAKÁCS PÉTER ÁLLAMELMÉLET A XIX XX. SZÁZADBAN GEORG JELLINEK ELMÉLETE *
Szabadelvûek és agráriusok a XIX XX. század fordulóján
XIX-XX. NÉMETH ÁDÁM 1. BEVEZETÉS
Magyarország a XX. században
Tastcycli itnc 530. NC-software xx xx xx xx. Bedieningshandboek
Északi Elkerülőút (XIX., XX., XXI., XXII. kerület)
xxxxxx XX XX XX XX < x xxxxx x
Felsőoktatásunk a XX. században
FINANCIËN. xx xxx xxxx xx xx xxxxxx
a XX. század idővonala
Felsőoktatásunk a XX. században
XVIII XX XVIII XX < > < > < >
XX ze dne XX ) ROZPOČTOVÉ VÝDAJE - třída 5 a
IBM00.qxd
3/22/2006
1:06 PM
Page iii
Tartalomjegyzék Tartalomjegyzék . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Elõszó . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Köszönetnyilvánítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix A szerkesztõkrõl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx A szerzõkrõl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx
I. rész 1. fejezet
Linux – áttekintés 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Rendszerindítás: BSD vagy System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Rendszerindítási tábla (/etc/inittab) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 BSD inittab (Slackware) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
IBM00.qxd
iv
3/22/2006
1:06 PM
Page iv
Linux kiszolgálók teljesítményének fokozása
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
IBM00.qxd
3/22/2006
1:06 PM
Page v
Linux kiszolgálók teljesítményének fokozása 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 – zSeries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 4. fejezet
Teljesítményelemzõ eszközök 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 és 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
v
IBM00.qxd
vi
3/22/2006
1:06 PM
Page vi
Linux kiszolgálók teljesítményének fokozása
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 7. fejezet
Rendszerhangolás 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ésjellemzés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Számszerû elemzés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
IBM00.qxd
3/22/2006
1:06 PM
Page vii
Linux kiszolgálók teljesítményének fokozása 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 *CHILD_PENALTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 *CREDIT_LIMIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 *EXIT_WEIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 *INTERACTIVE_DELTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 *MAX_SLEEP_AVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 *MAX_TIMESLICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 *MIN_TIMESLICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 *PARENT_PENALTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
vii
IBM00.qxd
viii
3/22/2006
1:06 PM
Page viii
Linux kiszolgálók teljesítményének fokozása
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
10. fejezet Az I/O 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
IBM00.qxd
3/22/2006
1:06 PM
Page ix
Linux kiszolgálók teljesítményének fokozása 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
ix
IBM00.qxd
x
3/22/2006
1:06 PM
Page x
Linux kiszolgálók teljesítményének fokozása
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 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
IBM00.qxd
3/22/2006
1:06 PM
Page xi
Linux kiszolgálók teljesítményének fokozása
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
xi
IBM00.qxd
xii
3/22/2006
1:06 PM
Page xii
Linux kiszolgálók teljesítményének fokozása
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Ö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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Ö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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 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? . . . . . . . . . . . . . . . . . . . . . . . . . . 344 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
IBM00.qxd
3/22/2006
1:06 PM
Page xiii
Linux kiszolgálók teljesítményének fokozása 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
xiii
IBM00.qxd
xiv
3/22/2006
1:06 PM
Page xiv
Linux kiszolgálók teljesítményének fokozása
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
IBM00.qxd
3/22/2006
1:06 PM
Page xv
Linux kiszolgálók teljesítményének fokozása
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
xv
IBM00.qxd
xvi
3/22/2006
1:06 PM
Page xvi
Linux kiszolgálók teljesítményének fokozása
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
×
Report "Tartalomjegyzék... iii Elõszó... xvii Köszönetnyilvánítás... xix A szerkesztõkrõl... xx A szerzõkrõl... xx"
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & close