memória méretezés

Sziasztok,

Kérlek segítsetek abban hogyan méretezik a kiszolgálót apache-php környzethez?
Az egyszerű php formoknál is egy request alkalmával 8-15MByte memóriát használó processz jön létre.
Mi a helyzet egy 1000-10000 es látogatottságú alkalmazás esetében?
Lehet optimalizálni? Van takarékosabb megoldás? (java,perl,c)

Előre is köszi,

Hozzászólások

Lehet nem is a RAM, hanem a CPU magok száma lesz a szűk keresztmetszet.
Attól függ. Ezt így nem lehet megmondani. Számolj 16MB/request-tel és szorozd el 1000-el és rögtön ki is jön egy ésszerűnek tűnő mennyiség. Java nem hiszem, hogy takarékosabb lesz, sőt!

Mit szeretnél? Lehet úgy könnyebben tud valaki segíteni innen, akár saját tapasztalatból tud neked méretezni.

Köszönöm, engem meggyőztél :-) mert én is hasonlóan álltam neki, csak az a gond így (ezzel az egyszerűsített matekkal) elég ijesztő eredmény jön ki.
Vettem 500 usert (a megbízó szerint ennek a többszöröse is könnyen lehet), akik fixen használják az alkalmazást munkaidőben. Az azt jelenti, hogy kb. 8 óra alatt generálják az összes forgalmat. A projekt nem bonyolult, tehát egy user egy bejelentkezésvel rögzít néhány adatot, meg max egyet listáz, tehát egyszerűbb formok ajax hívásokkal. Úgy számoltam, hogy sessionönként 13 request, ez naponta kb. ötször. Ami azt jelenti, hogy a 8 órára eső requestek száma 32500. Ezekkel, meg néhány varázs számmal kijött, hogy ha csak 7000 egyidejű request van, akkor min. 80GB RAM, 12 CPU mag (T7250-ből) és kb 860Mbit sávszélesség kellene. :-)
És ebből tényleg nem a RAM tűnik soknak.

toe-val kapcsolatban azt olvastam, h a hw-nek (NIC) es OS-nak (linux) is kene tamogatni. windowsnal allitolag vannak ilyen mukodo megoldasok, de linuxrol mindenhol azt olvastam, h nem tudja a toe-t. mert ezt driver es stack szinten kene implementalni, es nem akarja nyilta tenni a gyartok...

A kérdés az, hogy miért jön létre egy 8-15 MB-os processz (vagy csak én nem értem a problémát?)

Hát olvasgattam a hsz-eket, de ez így akárhonnan nézzük megfoghatatlan. Úgy állj neki, hogy a web több gépre is kipakolható legyen, mert az egy überhatalmasgép sem skálázható a világ végéig. Ha 64 bites OS-t teszel, akkor rögtön számolj izmosabb memória használattal. A tapasztalat szerint egyébként egy lighttpd+php-cgi -s szolúció messze kevesebb erőforrást eszik, mint egy apache-os. Még azzal is sokat lehet segíteni a dolgon, ha az apache elé teszel egy lighty-t ami a statikus tartalmakat tolja és többi adja az apache-nak. Az php-hoz pedig eacceleratort vagy APC-t igencsak érdemes használni, mert gyorsít és a memória zabálást is csökkenti.

Ha mindenképpen külön vasban vagy vasakban gondolkodsz akkor, ahogy már hasonlót írtak, egy 8GB-12GB memós egy cpu-s szervert vennék, ami plusz cpu-val bővíthető.

Szia, nem hiszem, hogy ennyi ekkora felhasznaloszammal neked kellene foglalkoznod, nem tunik soknak. Nyilvan, ahogy irtad, ha egyszerre rohanjak meg az alkalmazast, akkor gubanc lehet esetleg.
Ha tesztelni es meretezni szeretned, szerintem vegy egy jo kozepes gepet. Gondolok itt kb. 8 cpu magra, es 6-8G memoriara.
Aztan az Apache Benchmark segitsegevel (ab) megkuldod a kivant mertekben, akar 5 pc-rol parhuzamosan, es minden kiderul. (http://httpd.apache.org/docs/2.2/programs/ab.html)

Tippkent: egy ilyen gepnel szerintem max 25%CPU, es fele memoria fogyna esetleg.
Ui.: Az a 8-15MB-os process requestenkent ertelmezhetetelen szamomra. Mi az?

--
Joe