PDA

Bekijk Volledige Versie : Serverkwestie...



IT-worX
25/11/04, 00:41
Vandaag kwam een klant mij zeggen dat hij op zijn huidige server (P4 2.4GHz met 1GB ram) bijna altijd een load had van rond de 1 a 2. Moet dus behoorlijk intensief gebruikt worden dat dingetje. Dit zou volgens de klant komen wegens het enorme PHP/MySQL werk dat deze server moet verzetten voor de sites die tot zijn community behoren (server wordt enkel hiervoor gebruikt).

Nu wilt de klant zijn huidige server (1U) nog gebruiken als webserver, maar alle MySQL gegevens overzetten naar een 2U Dual Xeon server met 2GB Ram.

Zou dit een verstandige oplossing zijn om zijn load naar beneden te halen? Uiteraard zal deze dalen op zijn webserver, maar ga je het probleem (mysql) dan niet gewoon verhuizen van server???

Klant zou het zo willen aanpakken: de webserver (Pentium 4) heeft 2 UTP poorten: op één alle openbaar verkeer, en op 2 een crosskabel naar de mysql server (192.168.1.x range hé). Laat men dit zomaar toe in een datacenter, het gebruik van private IP ranges?

Wat word eigenlijk bedoeld met een "load balancer"? Moet dan op beide servers hetzelfde materiaal staan, waarbij de loadbalancer kiest welke server op dit moment het minst belast is?

DelTa
25/11/04, 01:10
Origineel geplaatst door IT-worX
Zou dit een verstandige oplossing zijn om zijn load naar beneden te halen? Uiteraard zal deze dalen op zijn webserver, maar ga je het probleem (mysql) dan niet gewoon verhuizen van server???

Heb je geprobeerd de database te optimaliseren en mySQL/php te fine-tunen?

Load van 1 of 2 zegt weinig.. OVerigens kan een Dual Xeon met 2GB Ram je mySQL makkelijk aan..


Origineel geplaatst door IT-worX
Laat men dit zomaar toe in een datacenter, het gebruik van private IP ranges?

Waarom zou het niet mogelijk om local (NEP) ips te gebruiken??


Origineel geplaatst door IT-worX
Wat word eigenlijk bedoeld met een "load balancer"? Moet dan op beide servers hetzelfde materiaal staan, waarbij de loadbalancer kiest welke server op dit moment het minst belast is?

Ja, overigens heb je vele soorten load balancers, niet alleen qua opties en mogelijkheden (en dus prijzen) maar ook qua werkwijze..

IT-worX
25/11/04, 01:17
Beste Delta

Bedankt voor je snelle antwoord. Probleem is echter dat dit weer een via-via vraag is (alla: zeg weet jij een oplossing voor mijn probleem...) waar ik me in vastgebeten heb en dus niet direct kan zeggen hoe wie wat en waar. Nu bon volgens de persoon (eigenaar server) zijn er reeds verschillende optimalisaties geweest, doch zonder resultaat.

Mijn vraag is dan ook hoe hij goedkoop zijn probleem kan oplossen...

Kurtje
25/11/04, 01:27
Hoeveel krijgt die server te verwerken, een machine als boven beschreven kan over het algemeen wel heel wat aan.

De klant doet er goed aan deze twee services te scheiden (dit garandeert wel een goede performance) maar of het broodnodig is kan ik zo niet zeggen. Misschien zou een server vervangen kunnen worden (door de nieuwe ?) of zou een hardware update kunnen voldoen.

In geval van twéé servers is de mysql server toch wel hoog gegrepen. Althans, vanuit mijn ogen zonder al teveel informatie. Een XEON kan veel meer aan dus zou in verhouding niet overdreven krachtig hoeven te zijn omdat veel van de load op de huidige server ook van apache afkomt.

cridea
25/11/04, 01:34
Een simpele ram upgrade verricht vaak ook wonderen. Voordat hij nu meteen een nieuwe server aan gaat schaffen eerst eens een extra latje ram erbij prikken.

Maar goed dit is zoals anderen al aangeven tasten in het duister zonder verdere specifieke omschrijving van het probleem.

DelTa
25/11/04, 01:40
Origineel geplaatst door IT-worX
Mijn vraag is dan ook hoe hij goedkoop zijn probleem kan oplossen...

Ervaren "bloed en vlees" is meestal duurder dan een doos ijzer..

Als je weinig verstand hebt van load balancers zou ik voor een dual cpu server gaan met veel geheugen (2-GB) en scsi drives..

DelTa
25/11/04, 01:42
Origineel geplaatst door byh
Een simpele ram upgrade verricht vaak ook wonderen. Voordat hij nu meteen een nieuwe server aan gaat schaffen eerst eens een extra latje ram erbij prikken.

Maar goed dit is zoals anderen al aangeven tasten in het duister zonder verdere specifieke omschrijving van het probleem.

Yep, ram & dual cpu's zijn goed voor het verwerken van de meeste soorten mySQL bewerkingen.. Bij PHP gaat het over het algemeen om de CPU, vooral de Ghz-en..

Bij veel IO zijn scsi schijven weer handig..

IT-worX
25/11/04, 01:49
Heb geen verstand van load balancers...maar ik vroeg het gewoon even...Dus als iemand me meer uitleg kan geven, altijd leergierig!!!

Jammer genoeg is het probleem reeds "opgelost". Hij gaat het doen zoals ik beschreven had: 2 servers dus...

Hij wilt meteen iedereen bedanken die hier ondanks dit uur nog geantwoord heeft. Mensen die mij uitleg kunnen geven over lb's zijn uiteraard nog altijd welkom!

neographikal
25/11/04, 11:10
Ik weet niet hoe zwaar die apps op de database leunen, maar een Opteron bak is een aanzienlijk stukje sneller dan een Xeon (op database gebied icm MySQL, MSSQL is weer een ander verhaal). Misschien dat het interessant is ook eens naar het Opteron platform te kijken, er zijn genoeg reviews te vinden waar dit uit blijkt nl. (zie tweakers.net, acehardware, tomshardware, etc als je dus een nieuwe server wilt kopen that is)

Jon
25/11/04, 23:56
Het is onzin geld uit te geven voor een upgrade alleen maar 'omdat de load hoog is'. Load zegt op zich vrij weinig. Ik heb servers gezien met een load van over de 100 die nog snel pagina's konden serveren.

Je klant moet dus eerst nagaan of de bezoekers nadelige gevolgen van de hoge load ervaren. Mocht dat het geval zijn adviseer ik je klant eerst te kijken naar optimalisaties voor z'n software alvorens geld te pompen in hardware, want zo blijf je bezig.

Denk bijvoorbeeld aan het analyseren en optimaliseren van de zwaarste queries in mysql (mysql-slow.log zou inzicht moeten bieden) of het installeren van een php-cache. Swapt de machine onder hoge load is het upgraden van het geheugen aanbevelenswaardig.

neographikal
26/11/04, 01:05
Die phpcache kan idd wonderen doen bij een tekort aan cpupower, maar Apache zal wat meer geheugen vreten erdoor. Maar de resultaten zijn ongelofelijk: Op mijn P133 (dev-bakje, testing, enz) een speedup van ongeveer 1000% :)

Probleem is alleen dat bijna geen enkele accelerator nog wordt onderhouden. Met name als je php5 draait kan je deze optie direct vergeten.

Check de indexes(!!!! elke kolom die in de WHERE clause staat moet je in principe indexereren tenzij er alleen veel inserts plaats vinden en amper selects) in je dbase, pak zoals Jon zegt de mysql-slow.log er eens bij (eerst aanzetten in de my.cnf) en kijk eens of InnoDB een optie voor je is (rowlevel-locking ipv table-locking, kan aanzienlijk schelen!), post eens je free -m resultaten, een screenshot van top wanneer de server het zwaar heeft, enz.

Uitsluiten is de tip :)