[linux-l] LVM: wie gejht dat?

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mi Jan 8 06:09:22 CET 2003


Hi Schlomo,

On Tue, 7 Jan 2003, Schlomo Schapiro wrote:

> Hello Peter,
>
> kannst Du nicht noch ein oder zwei Rechner dazustellen und Funktionen
> auslagern ? ..

Leider nicht. Sowie eine Loesung hinten ein $ hat, wird es hier kniffelig.
Diese Einstellung wird sicher mittelfristig zum Arbeitsplatzwechsel eines
System Administrators fuehren.

Bis dahin werde ich allerdings damit noch zu leben haben..

Deswegen denke ich drueber nach, ob es Moeglichkeiten gibt, die Server
"schneller" zu machen.

Was mir besonders aufstoesst, ist die Tatsache, dass bei vorhandener Last
auf dem File- und DB-Server die daran "angeschlossenen" Webserver
(Apache, PHP oder Perl) recht langsam erst Resultate liefern.

Die Last auf den Webservern ist dabei unbedeutend, es sind vorallem die
langsamen Antworten des Servers, wobei ich das generell sagen muss (nicht
auf MySQL oder PostgreSQL oder NFS beschrankt).

Mir scheint nach eigenen Linux-Erfahrungen (und Vergleichen mit anderen
OSen wie Solaris und FreeBSD), dass die Strategie des Swappens und Cachen
von Files nicht besonders optimal ist. Wenn ich daran etwas tun koennte,
waere nicht schlecht.

Linux verwendet ja, wie andere Betriebssysteme auch, nichtgenutzten
Hauptspeicher, um Filesysteme zu cachen. Da meine Server (und auch andere
Konfigurationen in der Vergangenheit) daran krankten, dass bei
einigermassen vorhandener Last neue Prozesse eine recht lange
"Anlaufphase" hatten, vermute ich, dass es dem Kernel schwerfaellt, dafuer
Platz zu schaffen. Dabei scheint es von Bedeutung zu sein, dass es einen
Mix unterschiedlicher Anforderungen gibt, was sicherlich die Entscheidung
"Was kann ich wegwerfen?" schwieriger macht. Linux hat nach meinen
Erfahrungen keine Probleme, wenn lediglich ein ressourcenfressender
Prozess laeuft. Das wuerde auch erklaeren, warum Benchmarks in der iX z.B.
Linux Geschwindigkeitsvorteile gegenueber FreeBSD geben, die ich im
Realbetrieb nie sehen konnte (ich habe mehrfach Linux platt gemacht und
FreeBSD installiert, um Performanceprobleme zu loesen)

Das schon geschilderte "vorbeugende" Flushen mit dem sysctl-Eintrag
  vm/bdflush=10 0 0 0 60 300 60 0 0
hat die Lage schon etwas verbessert, was ich auch als Bestaetigung der
Theorie ansehe.

Um das System zu verbessern, sehe ich drei Wege (ohne Hardwareanschaffung)
1. Verbessern der Auslagestrategie
2. Verbessern der Auslagerungsgeschwindigkeit
3. Verbesserung auf Applikationsebene

Zu 2.:

Ich habe eben ein dd auf ein File im LVM-Slice gemacht (bei laufendem
Produktionsbetrieb) und Schreibwerte von 6-10 MByte/sec gesehen. Finde ich
nicht berauschend, muss aber auch gestehen, dass ich im Serverbetrieb ein
wenig "SCSI-verwoehnt" bin.

Ich verwende eben reiserfs und LVM, unten liegt ein
3ware-ATA-RAID-Cotroller und vier 80GB-Harddisks, betrieben mit RAID Level
5.

Der Controller und die Platten wurden vom Hersteller konfiguriert, der
zumindest kompetent wirkt. Wie auch immer, ich kann von hier aus da
schlecht was aendern.

An Teil 3. arbeiten unsere Web- und DB-Programmierer.

Im Moment sehe ich so recht nicht, wo ich an Punkt 1 oder 2 was drehen
kann.

Daher waere ich fuer Hinweise sehr dankbar. Auch fuer Tips, wie man Teile
des Systems besser messen kann, um Probleme einzugrenzen.

Es gruesst
Peter




Mehr Informationen über die Mailingliste linux-l