[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Apache 32bit vs 64bit



On Wed, Sep 03, 2008 at 11:42:33PM +0200, Markus Schulz wrote:
> Am Mittwoch, 3. September 2008 schrieb Thomas Halinka:
> > Hallo Hagen,
> >
> > Am Mittwoch, den 03.09.2008, 15:04 +0200 schrieb Hagen Montag:
> > > Ich will mal meinen Senf dazu geben und mit einem Mythos
> > > aufraeumen:
> > >
> > > On Wed, Sep 03, 2008 at 02:39:35PM +0200, Jochen Schulz wrote:
> > > > > Hmm okay, es handelt sich hierbei allerdings um eine
> > > > > Shopanwendung, die aktuell ca 900 conncurrents bedient. diese
> > > > > 900 concurrents kosten mich aktuell ca 5GB und ca 70%-CPU.
> > > >
> > > > Möglichkeiten beim Apache:
> > > >
> > > > - KeepAlive einschalten, falls nich nicht geschehen. Das kann Dir
> > > > viele Forks / Threaderzeugungen pro Sekunde einsparen.
> > >
> > > KeepAlive ausschalten, so ein Thread ist schnell erzeugt und du
> > > sparst Dir die 900 konkurrierenden, die meist schlafen und das
> > > System zumllen. Schafft unheimlich Erleichterung auf Serverseite.
> >
> > Cool, anstatt vorher ~300 MB für den Apachen brauch er nun nur noch:
> >
> > ps -eo rss,args --sort rss | grep apache | awk '{ SUM += $1} END {
> > print SUM/1024 }'
> > 62.6523
> >
> >
> > thanx für den hint ;)
> 
> na ja ich finde den Tipp Quark, die Client Performance sinkt dadurch 
> nämlich. Pro Element der HTML Seite macht der Browser ne neue 
> Connection auf und die Latenz auf Client Seite steigt dadurch auf jeden 
> Fall.

ACK
Das ist unbestritten und man kann sich ueberlegen, wie man diesen
connection-Aufbau auf 'billigeren' Systemen wie einem
vorgeschalteten pound/squid/apache-proxy/... wieder hinbekommt
(Connection-close des Apachen herausfiltern etc.).

Es gibt ja aber erstmal ein Problem auf Serverseite, und wenn die
Server zu langsam ausliefern, weil sie mit ihrem Connection-Handling
etc. beschaeftigt sind, hat der Client auch nichts von einem tollen
theoretischen Keep-Alive.

Das ist reine Kosten-Nutzen-Rechnung. Als admin muss ich erst einmal
die theoretische Funktionsfaehigkeit gewaehrleisten und wenn ich nur
20 Server statt eigentlich 100 benoetigter bekomme, mache ich halt
sowas ;) --  Fuer weitere Diskussionen und Streitereien fehlt mir
leider die Zeit.

> Wenn dann maximal das KeepAlive verkürzen (heutige DSL Clients 
> brauchen nur wenige Sekunden für die Elemente einer Webseite).

Auch probiert (bis zu 1 sekunde), da ich da natuerlich auch 
uneinsichtig war und bin, was das gute KeepAlive betrifft, weder 
Apache 1.3, noch 2,0, noch 2.2 entsprechen da meinen Vorstellungen 
-- der reduzierte Timeout bringt ein wenig, aber nicht genug.
Fuer innerdeutschen Traffic ist das ein akzeptabler Workarround, bei
europaeischem (insb. Skandinavien) und amerikanischen Traffic machen
sich die hohen Latenzen natuerlich wesentlich staerker bemerkbar.



> parat haben. Ich habe übrigens bisher nur schlechte Erfahrung (mehr 
> Speicherverbrauch ohne spürbaren Performance Gewinn) mit Apache auf 
> 64Bit gemacht und würde bei einem LoadBalancer Setup (pound, apache, 
> squid) immer auf 32Bit Backends zurückgreifen.

Das wuerde mich jetzt interessieren ;)  - auch auf 'groesseren' MAschinen?
Also hier gibt es ein Squid-Array aus vier Servern mit je 8Cores, 32GB 
und schnellen Platten um einige Millionen pseudo-statische files zu 
cachen, die machen eigentlich ziemlich gut Dampf und langeweilen sich. 
Der used_RAM schraubt sich so langsam hoch, aber das ist ja
eigentlich normal und Sinn am RAM.



Hagen


Reply to: