Re: WebApplication und Betriebssystem Performance Fragen.

From: Michael Renner <renner(at)inqnet(dot)at>
To: rudi(at)je-more(dot)de
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: WebApplication und Betriebssystem Performance Fragen.
Date: 2008-05-04 19:17:26
Message-ID: 481E0BC6.1070908@inqnet.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

rudi(at)je-more(dot)de wrote:

> Performancetuning ist sicherlich auch ein Teil eines
> Skalierbarkeitspfads, wenn es dazu dienlich ist den
> operative Betrieb günstig zu gestalten und Lösungswege erschließt wie
> man damit in Zukunft besser umgehen kann.

Ja, nur ist dieses Thema sehr schnell erschöpft, und durch suboptimales
Applikationsdesign in Kombination mit der dementsprechenden
Besucher/Systemlast verbrennt man in der Realität meistens deutlich mehr
Ressourcen als mit schlecht getuneten Subsystemen.

> Für mich stellen sich in der momentanen Planung eher die Fragen:
> FreeBSD oder Linux?

Das, mit dem das Operations-Team besser zurechtkommt. FreeBSD war bis
zum letzten Release performancemässig im Hintertreffen, allerdings
konnten die Jungs mittlerweile deutlich aufholen. [1]

> SCSI oder SATA? (wie siehts mit FreeBSD Treiber dafür aus)

Heutzutage lautet die Frage eher SAS oder SATA. SAS-Platten haben
durchgehend bessere seek-times als ihre SATA-Pendants; wenn du
schreiblastige Anwendungen hast, oder das Working Set der Datenbank
nicht mehr in den Page-Cache passt sollte man auf jedenfall in Richtung
SAS tendieren.

Ausserdem sollte man schauen, dass man einen Controller mit ausreichend
dimensionierten (Batterie-gestützten!) Write-Cache verwendet; das kann
einen bei periodischen Rewrites der selben Stripes (WAL, etc.) einiges
an Performance bringen.

FreeBSD-Treiber-Fragen kann ich nicht beantworten, aber wenn man mal
vergleicht wieviel Geld mittlerweile hinter Linux steckt, kann man
pauschal postulieren dass die Linux-Treiber deutlich besser gewartet
sein dürften ;).

> Kann man Slony dafür verwenden eine Terrabyte Datenbank effizient zu
> spiegeln? (nur spiegelung, keine Schreibzugriffe, aber lesende Abfrage)

Pet-Peeve-Alarm. Terra == Das unter deinen Schuhen. Tera == Ein SI-Prefix.

Pauschal-Antwort: Ja, kann man.

Längere Antwort: Schau dir mal an wie Slony arbeitet und ob die daraus
resultierenden Parameter bei einem Betrieb in deiner Umgebung tragbar
sind oder nicht. Interessant sind v.a. Performance beim replizieren,
Rebuild von Nodes wenn sie ausgefallen sind sowie Wartung im Allgemeinen
(DDL-Replikation etc.).

> Auf welchen Layer soll ich das DB Loadbalancing implementieren und wie?

Für diese Frage gibts bei PostgreSQL (gottseidank?) keine
Pauschalantwort und ich hab mich mit dem Thema bis jetzt nicht wirklich
beschäftigt um hier sinnvoll Auskunft geben zu können.

Ich kann nur mitgeben, dass man DB-Loadbalancing grundsätzlich nur bei
geclusterten Datenbeständen machen sollte (jede Node hält einen Teil der
Daten), da die gängige Methode des "Read-only Slaves" nur begrenzt
skalierbar ist und Konsistenz- (Asynchrone Replikation) oder
Performanceprobleme (Two-phase Commit) mit sich führt.

lg,
michael

[1] http://bsd.slashdot.org/article.pl?sid=08/03/06/1313218

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Michael Renner 2008-05-04 19:30:14 Re: WebApplication und Betriebssystem Performance Fragen.
Previous Message rudi@je-more.de 2008-05-04 17:06:20 Re: WebApplication und Betriebssystem Performance Fragen.