Régi gép webszervernek max. 50 felhasználóra
Jelenleg a következő hardvert kellene használnom Moodle (web)szervernek:
- Intel Celeron 667 Mhz
- 128 MB SDRAM
- QUANTUM FIREBALLlct15 07 (7 GB, 4500 RPM, Ultra-ATA/66)
- Alaplap: HP Brio BA400
Szoftver: Windows 2000, Apache 2.2.3, PHP 5.1.6, MySQL 5.0.24a
A probléma az, ha 23 felhasználó használja, akkor már túl van terhelve. 1000-el tölt a winyó (talán a MySQL miatt?).
Nagyából csak ezt a konfigot tudom biztosítani. Lehetőségem van belerakni még winyót.
Tud valaki ajánlani valamit, hogy hogyan lehetne kiszolgálni max. 50 felhasználót egyidőben?
(... lehet, hogy egy kicsit kihívás ízű a dolog?)
:-)
■ - Intel Celeron 667 Mhz
- 128 MB SDRAM
- QUANTUM FIREBALLlct15 07 (7 GB, 4500 RPM, Ultra-ATA/66)
- Alaplap: HP Brio BA400
Szoftver: Windows 2000, Apache 2.2.3, PHP 5.1.6, MySQL 5.0.24a
A probléma az, ha 23 felhasználó használja, akkor már túl van terhelve. 1000-el tölt a winyó (talán a MySQL miatt?).
Nagyából csak ezt a konfigot tudom biztosítani. Lehetőségem van belerakni még winyót.
Tud valaki ajánlani valamit, hogy hogyan lehetne kiszolgálni max. 50 felhasználót egyidőben?
(... lehet, hogy egy kicsit kihívás ízű a dolog?)
:-)
linux
linux+ram
RAM ot raktam bele (191 MB), de venni nem igazán van lehetőségem.
Fedora,Suse,Ubuntu,UHU,Debian
Üdv: Webappz
uhu-server
Esetleg Apache vs LightHTTPD
Üdv: Webappz
ram olcsóbbn mint mérnökóra
ram :-(
Marad a 128 MB ram. :-(
bsd
Állíts be cache használatot a mysqlnek (kb 200 mega ramhoz):
key_buffer = 24M
query_cache_size = 24MB
query_cache_limit = 8MB
table_cache = 24
sort_buffer_size = 4M
myisam_sort_buffer_size = 4M
És persze indexeld e a táblákat. Jó közelítés az, hogy amire bárhol van WHERE vagy ORDER arra legyen index is. Használj összetett indexeket is, ahol az egyik mező mindig megtalálható a másik mellett.
Pl: ha külön mezőben van egy év meg egy hónap, akkor a hónapra csak úgy magában sosem fogsz szűrni, ahol hónapra szűrsz vagy rendezel ott az év is jelen lesz (nem lesz olyan, hogy bármely év márciusi cikkek). Ilyenkor kell egy "év, hónap" tipusú összetett indexet használni.
Ha saját webalkalmazás fut rajta, akkor gondolkodhatsz az "If-Modified-Since" HTTP fejléc implementálásáról a terheltebb szkriptekben, hogy fölöslegesen ne dolgozzon a gép.
A LightHTTP-t nem ismerem, de én félek tőle, hogy nem 100% apache kompatibilis, és egy éles környezetben bármelyik szkriptben előjöhet hiba a legváratlanabb pillanatban. De ez lehet, hogy csak az én paranoiám.
Ja, meg egy ZendOptimizert is beszerezhetsz.
Most ennyi jut eszembe...
IDE, Linux vs FreeBSD
Sajnos az IDE-s diszkek használata csökkenti a processzor teljesítményét, így igazából a teljesítménynek hardveres és nem szoftveres akadálya van. Akkor már talán a RAID0 lenne ami növelné a teljesítményt, meg több memória.
Az Apache LightHTTPD-vel való kiváltása természetesen az alkalmazásoktól függ - milyen egyéb PHP modulra van szükségük -, de biztos hogy sokat lendítene a teljesítményen főleg, ha XCache-t használ hozzá.
nem bonyolultabb...
RAID0-t azért nem ajánlottam, mert arra rendszert telepíteni már tapasztalatot igényel. Plusz a hiba lehetősége is duplája, bár ilyen régi vinyókkal igyisúgyis csak napi backup mellett lehet nyugodtan aludni.
Raid 0 vs Raid 1
A raid 0 a csíkozás, az növeli a sebességet.
Talán a méregdrága RAID vezérlő karik tudnak párhuzamosan olvasni - bár nem hallottam róla. Mindenesetre azért megjegyezném, hogy az egész gép nem ér annyit, mint egy többszázezres RAID vezérlőkártya.
Márpedig akkor is...
Ne legyünk már write only-k.
Csak szóltam, hogy a Raid1 az nem tükrözés, hanem csíkozás (stripping).
"tehát kétszeres sebesség,"
És a Core 2 Quad meg négyszeres sebességet hoz, mert 4 mag van benne. Csakhogy mégse, mert nem mindegy, hogy mit olvasunk. Sok kis fájlt nem feltétlen gyorsabb. Adatbázis műveleteknél meg tipikusan a keresési idő számít, mivel elég ritka az, hogy egybefüggő adatokat olvasunk folyamatosan (amiben a Raid 1 kétség kívül jó), vagy össze-vissza innen-onnan (amiben nem).
---
A raid0-t viszont nem azért találták ki, hogy gyors legyen. Azt azért találták ki, hogy _megbízható_ legyen. Nem olvas párhuzamosan. Nem minden a sebesség.
Egyébként a fenti gépbe több értelme van egy új vinyónak, mint ilyen-olyan raid megoldásokkal szórakozni. Még szoftveres raidnál is muszáj lenne legalább egy vinyót berakni még, viszont 4500-s fordulatszámú ezer éves vinyókból semmi értelme. Másrészt, ha nem vesz az illető valami komolyabb raid kártyát, amely hardveresen végzi a csíkozást/tükrözést/raid5/raid10/akármit, akkor amit nyerünk olvasási sebességen, azt könnyen el is veszthetjük CPU terén. Arról nem is beszélve, hogy egy jobb raid kártya árából ki lehet hozni 3000+-s Athlon64-s gépet, amely vígan kiszolgálná az embereket.
Adott keretek mellett a legtöbb, mi tehető, az egy új, kissebb méretű gyors vinyó. Ha 7 gigás elég jelenleg, akkor egy 80-s is bőven az lesz.
az utolsó postom, ígérem
Annak, hogy meliyk a RAID0 és RAID1 utánanéztem wikipédián, hogy ha rosszul tudom, legalább ne írjak hüjeséget, az megerősítette eddigi hiedelmeimet, úgyhogy ezt írtam. (Amúgy jelezném, hogy a 12es és 17es postban egymásnak ez ellenkezőjét állítod de mind1).
A tükrözés valóban redundanciára, és így biztonságra van kihegyezve, de a párhuzamos olvasás itt is lehetséges. Ez csak szoftveres kérdés. A Freebsd speciel tudja.
Bocs, tényleg hülyeséget írtam.
"A tükrözés valóban redundanciára, és így biztonságra van kihegyezve, de a párhuzamos olvasás itt is lehetséges. Ez csak szoftveres kérdés. A Freebsd speciel tudja."
Lehetséges, de nem biztos, hogy van. Persze a FreeBSD még mindig nem oldotta meg önmagában azt, hogy honnan lesz második vinyó a gépbe, ha meg már mindenképp kell, nem egy 4500-s fordulatszámúra alapoznék...
Lighttpd valóban hasznos lehet
Személyes tapasztalatom nincs vele, csak olvastam róla, ill. ismerősöm(ék) használja (-ák).
Szvsz egy próbát megér, ha más nem, tesztkörnyezetben.
Linux mindenképp javasolt, vannak külön lightweight distrok.
egyetértek
lighttpd
Gyorsabb vinyó
Ha jól sejtem ez a gép azelőtt már ment bőven, csak most be lett állítva szervernek.
Gyorsabb vinyó
Jól sejtetted egyébként.
Röhej
Másik megoldás: ha intézmény nem ad ár pénzt a hallgatók dobják össze. Azt írtad kb félszáz ember használná egyszerre. 1000 forint bedobásával siman lehet venni egy használt, kisebb teljesítményű, de ennyi felhasználóra bőven elég, eredetileg is szervernek szánt gépet (redundáns vinyok stb), vagy egy jó teljesítmányű asztali PC-t.
Megoldásom
A szerverre csak akkor lesz szükség, ha már működőképes lesz. Nem életbevágóan fontos.
A megoldásomat lásd az utolsó hozzászólásomban (oldal legalján).
optimalizálás
W2K PHP cache
De nem hiszem, hogy a jelenlegi mennyiségű Ram-mal bármi csoda történne...
Végső megoldás
Azthiszem a következőt fogom tenni:
- Idei tanévben elkészítem rá a tananyagot.
- Nyáron ha lesz rá lehetőségem, akkor úgyis átalakítom az egész hálózatot és lehet, hogy valamelyik erősebb szerverre rakok egy webszervert. Jelenleg nem akarom, mert a felettesem nem igazán tudja, hogy mire is vagyok képes.
Köszönöm szépen a válaszokat.