ugrás a tartalomhoz

Régi gép webszervernek max. 50 felhasználóra

sly · 2007. Jan. 4. (Cs), 10.18
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?)
:-)
 
1

linux

dOMiNiS · 2007. Jan. 4. (Cs), 10.34
tegyel ra linuxot. meg vegyel majd bele ramot.
2

linux+ram

sly · 2007. Jan. 4. (Cs), 10.50
Linuxon már én is gondolkodtam. Milyen disztribet ajánlotok?

RAM ot raktam bele (191 MB), de venni nem igazán van lehetőségem.
3

Fedora,Suse,Ubuntu,UHU,Debian

Webappz · 2007. Jan. 4. (Cs), 15.54
Igazából bármelyik népszerű disztribúció megteszi. Amivel sokat nyersz az az, hogy nem kell grafikus felület és csak a szükséges csomagokat rakod fel. Érdemes feltenned az eAcceleratort.

Üdv: Webappz
4

uhu-server

sly · 2007. Jan. 4. (Cs), 15.57
Kéznél van egy uhu-server. Lehet, hogy azt teszem fel. :-)
5

Esetleg Apache vs LightHTTPD

Webappz · 2007. Jan. 4. (Cs), 16.07
Esetleg jót tehet a performanciának. A másik ami még segíthet, ha átnézed a kódókat és megpróbálod optimalizálni.

Üdv: Webappz
8

ram olcsóbbn mint mérnökóra

Jano · 2007. Jan. 4. (Cs), 19.29
Érdemes azon is elgondolkodni, hogy mérnökórábban mennyibe kerül az optimalizálgatással töltött idő és ehhez képest nézni a plusz ram / gyorsabb vinyó árát.
20

ram :-(

sly · 2007. Jan. 7. (V), 02.50
Másnapra a rendszer meggondolta magát és mégsem tetszett neki a 128-as modul. Körül néztem és nem találtam másik gépben sem olyat amit kedvelne.

Marad a 128 MB ram. :-(
6

bsd

vbence · 2007. Jan. 4. (Cs), 17.05
Én a freebsd-t ajánlom. Ingyenes cuccok közül ennek van a legjobb teljesítménye. Ha zömében olvasás van (arányaiban kevés az írás), létrehozhatsz egy RAID1-es mirrort, ez duplájára növeli az olvasási sebességet.

Á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...
9

IDE, Linux vs FreeBSD

Webappz · 2007. Jan. 5. (P), 11.36
Ha valaki azon gondolkodik, hogy melyik linux disztribúciót válassza, akkor nem biztos, hogy a FreeBSD a jó választás, mert szerintem ahhoz kicsivel mélyebb ismeretek kellenek.
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á.
10

nem bonyolultabb...

vbence · 2007. Jan. 5. (P), 12.54
Ha ott tart, hogy most választ disztribúciót, akkor ugyanennyi erővel választhat egy bsd-t is. Gyakorlatilag nincs különbség egy rendszergazda szintjén. Feltelepíti a portot, megkeresi a config fájlt, és beállítja. Egy RPM és egy Debian alapú linux között is kb annyi a különbség, mint egy linux és egy bsd között.

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.
12

Raid 0 vs Raid 1

saxus · 2007. Jan. 5. (P), 19.28
Raid 1 nem gyorsabb, csak kétszeres adatbiztonságot ad, ugyanis az a tükrözés.

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.
14

Márpedig akkor is...

vbence · 2007. Jan. 6. (Szo), 02.44
Ha raid1-ről olvasol, akkor tudsz a két vinyóról olvasni egyszerre, tehát kétszeres sebesség, ugyanúgy, mint a raid0-nál. Nem értem, ez hol vitatható?
17

Ne legyünk már write only-k.

saxus · 2007. Jan. 6. (Szo), 14.57
"létrehozhatsz egy RAID1-es mirrort,"

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.
18

az utolsó postom, ígérem

vbence · 2007. Jan. 6. (Szo), 16.57
Istenkém.. lehet itt butaságokon évekig rágódni. Ha a stripe kétszeres olvasási sebesség, akkor a mirror is. Ha csak 1.80 szoros akkor is azt mondom kétszeres, és ezzel nem hiszem, hogy különösebb probléma lenne.

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.
19

Bocs, tényleg hülyeséget írtam.

saxus · 2007. Jan. 6. (Szo), 19.35
Elismerem, tényleg rosszul emlékeztem.

"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...
7

Lighttpd valóban hasznos lehet

Dualon · 2007. Jan. 4. (Cs), 17.13
A Lighttpd-t tekintve egyetértek Webappz kollégával! :) Az Apache "monstrum", gazdag szolgáltatáskészletének java részét egy átlag szerver sosem használja.

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.
11

egyetértek

ene · 2007. Jan. 5. (P), 13.26
a lighttpd-t én is csak ajánlani tudom, használtam is már. nagyon gyors, stabil.
21

lighttpd

sly · 2007. Jan. 7. (V), 02.51
Már próbálkoztam vele, de ezen a konfigon nem nagyon segített. Ha legközelebb telepítek, majd ezzel próbálkozok először.
13

Gyorsabb vinyó

saxus · 2007. Jan. 5. (P), 19.33
Egy (sokkal) gyorsabb vinyó nagyon kell és még valamennyi ram mindenképp jól jönne. Egy kissebb 80 gigás vinyó nem túl drága, még ha például SATA-ssat vennél, ahhoz egy olcsó, alaplapi vezérlőkártyák szintjét hozó kártya se sok (5-6 ezer forint körül).

Ha jól sejtem ez a gép azelőtt már ment bőven, csak most be lett állítva szervernek.
23

Gyorsabb vinyó

sly · 2007. Jan. 7. (V), 03.08
Valóban nem drágák. De gondold el, már az is probléma volt hogy 1000 forintért értékben vettem kábelkötözőt.

Jól sejtetted egyébként.
24

Röhej

Jano · 2007. Jan. 7. (V), 12.07
Oké, tudom hogy mindig is vannak ilyen helyek, ahol minden fillér drága, de mégiscsak egy olyan dologról van szó ami az azt használó embereknek hasznos: tanulási eszköz. Egy 20éves trabanttal se lehet osztálykirándulásra menni, miért gondolják egyesek azt, hogyha valami be van dugva az áramba és villognak rajta fények akkor azon minden elfut (vagy karácsonyfa:).

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.
25

Megoldásom

sly · 2007. Jan. 7. (V), 14.11
thx a válaszért.

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).
15

optimalizálás

winston · 2007. Jan. 6. (Szo), 10.41
csak átfutottam a topicot, szóval lehet, hogy valaki már írta, de én, ha így az anyagi keret korlátos, és nincs lehetőség nagyobb/jobb szerverre, akkor egy kicsit a másik oldalról fognám meg a dolgot, és azon gondolkoznék, hogy hogyan lehet optimalizálni a teljesítményt, hogy minél kevesebb erőforrást fogyasszon.
16

W2K PHP cache

Jano · 2007. Jan. 6. (Szo), 12.25
Találtam egy ilyet Google-ben:
I ran Moodle on a Celeron 2GHz (1GB RAM) and that struggled with more than about 50 users. Installing a PHP accelerator (in my case Turck MMCache as I am running Win 2K) solved the issue very nicely.


De nem hiszem, hogy a jelenlegi mennyiségű Ram-mal bármi csoda történne...
22

Végső megoldás

sly · 2007. Jan. 7. (V), 03.02
Hogy ezt miért nem találtam meg a googlival....

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.