PDA

Bekijk Volledige Versie : High performace webserver



Smart-Guyz
31/01/09, 20:55
Beste leden,

Op het moment draai ik ong. 3 jaar 2 servers.
Één Database server en één webserver.

Vandaag is mijn nieuwe server binnen gekomen die ter vervanging van de webserver komt. Hieronder staat de hardware configuratie:

2 x Intel Xeon 5420 quad core 2,50Ghz 1333, 12MB cache
8 x 2048MB DDR 667Mhz ECC
2 x 300GB SAS (15.000 toeren) RAID 1

Op de webserver draaien niet veel domeinen en er zijn maar 2 projecten waar het echt op draaid. Hiervoor heb ik een high performance software configuratie nodig en ik heb me hier nooit echt in verdiept.

Op het moment draai ik linux op de servers, wat is jullie advies voor besturingssysteem en mogelijk weten jullie een aantal goede links naar guides over dit onderwerp of aanvullende tips etc.

Alvast bedankt ;-)

hspaans
31/01/09, 22:32
Veel beslissingen liggen al vast door je keuze qua hardware en software, maar wat voor probleem probeer je op te lossen?

Smart-Guyz
31/01/09, 22:45
Veel beslissingen liggen al vast door je keuze qua hardware en software, maar wat voor probleem probeer je op te lossen?

Misschien de keuze qua hardware, maar mij ging het er om dat ik een goed besturingssysteem vind en mogelijk tips hoe ik deze verder goed kan instellen.

Ik werk nu met Fedora, maar ik lees veel dat bijv. FreeBSD ook een goede keuze is.
Verder de instellingen van Apache voor high performance etc.

Geert-Jan
31/01/09, 22:47
Denk achteruit <==
Wat moet het eindresultaat zijn, en ga daar naar toe werken. Als je voor die 2 specifieke site' s specificatie's hebt, dan ga je daar naar toe werken.
Beetje een ruime omschrijving om nu te zeggen pak dit of doe dat...
(behoudens de basic dingetes....)

Smart-Guyz
31/01/09, 22:53
Denk achteruit <==
Wat moet het eindresultaat zijn, en ga daar naar toe werken. Als je voor die 2 specifieke site' s specificatie's hebt, dan ga je daar naar toe werken.
Beetje een ruime omschrijving om nu te zeggen pak dit of doe dat...
(behoudens de basic dingetes....)

Het gaat om een website waar veel bezoekers komen (30.000+ uniek) en waar veel, heel veel scripts werken, daarbij ook veel PHP cronjobs.

Het andere project is onze SMS gateway die per dag duizenden request krijgt van buitenaf.

Ik zit dus in mijn maag met welk besturingssysteem nu echt als webserver bedoeld wordt (of er uberhaubt 1 apart voor is) en wat een high performance configuratie is voor bijv. apache en welke configuratie qua schijf indeling etc. het beste bij de hardware past.

Het probleem is nu dat er te veel CPU load is, logisch met een AMD 3200+, dus hier ga ik zeker op vooruit. Verder liep het geheugen vaak vol, dit is ook redelijk op gelost (van 4GB naar 16GB).

Ik heb nooit echt de mogelijkheid gehad om me er veel in verdiepen of om te gaan tweaken etc. omdat de server het niet toeliet en mijn tijd ook niet.

Vandaar dat jullie mij mogelijk tips, hint, guides ofzo kunnen geven, waar ik aan moeten denken etc.

Geert-Jan
31/01/09, 22:54
Werk je met een CP?

t.bloo
31/01/09, 23:17
je zou je verschillende toepassingen kunnen verdelen over meerdere servers, dan blijft de rest tenminste "up" in het geval van een storing bij een van de servers.

het beste besturingsysteem is dat systeem, waar je goed in thuis bent en snel mee kunt schakelen in geval van problemen.

bsd wordt als wat stabieler aangemerkt, maar dat is niet in de laatste plaats omdat het ook een beetje langzamer ontwikkeld.

Smart-Guyz
31/01/09, 23:20
Werk je met een CP?

Ja, maar ook daar kan ik van veranderen. Ik gebruik nu DirectAdmin en Webmin.
Ik kan prima uit de voeten met Webmin alleen, maar voor de "gebruikers" die er nog op zitten heb ik ook DA.

Geert-Jan
31/01/09, 23:24
Je nieuwe hardware = 64 bit
Direct Admin is er in 64 Bit
Direct Admin 64 bit is alleen geschreven voor CentOs x86_64, geen verdere ondersteuning.

cPanel is biedt ruimere ondersteuning, Plesk heb ik nooit gegeten. Wil je direct Admin handhaven, dan zit je dus vast aan CentOS x86_64, wat overigens helemaal geen verkeerde keus is, ik heb het naar volle tevredenheid op genoeg servers draaien.

Ramon Fincken
31/01/09, 23:44
hmm interessant, wellicht een klein ding, maar als je snelheid wil zou een wat andere RAID ( 10 bijvoorbeeld ) je niet meer snelheid en toch die veiligheid van RAID 1 kunnen geven?

Of denk ik iets te ver ? Ik vermoed nl dat je inderdaad die load krijgt door je scripts, maar voornamelijk afhandeling van je requests zou ik verwachten dat je je disk I/O zo laag mogelijk wil hebben.

Smart-Guyz
31/01/09, 23:50
Je nieuwe hardware = 64 bit
Direct Admin is er in 64 Bit
Direct Admin 64 bit is alleen geschreven voor CentOs x86_64, geen verdere ondersteuning.

cPanel is biedt ruimere ondersteuning, Plesk heb ik nooit gegeten. Wil je direct Admin handhaven, dan zit je dus vast aan CentOS x86_64, wat overigens helemaal geen verkeerde keus is, ik heb het naar volle tevredenheid op genoeg servers draaien.

Ik heb hier thuis nu FreeBSD 6.4, Fedora 10 en ik ben nu bezig met het downloaden van Cent OS 5.2 x86_64.

Het advies in deze is dus om met CentOS te gaan, gezien Directadmin en het is over het algemeen een goede en stabiele keuze?

t.bloo
31/01/09, 23:52
je kunt natuurlijk ook je server in 32 bit mode installeren, dan liggen alle opties voor DirectAdmin open

overigens werkt DirectAdmin ook prima op andere 64 bits systemen, waaronder debian/ubuntu

of Centos een stabiele keuze is weet ik niet, het is in ieder geval wel de weg van de minste weerstand

Smart-Guyz
31/01/09, 23:55
je kunt natuurlijk ook je server in 32 bit mode installeren, dan liggen alle opties voor DirectAdmin open

overigens werkt DirectAdmin ook prima op andere 64 bits systemen, waaronder debian/ubuntu

of Centos een stabiele keuze is weet ik niet, het is in ieder geval wel de weg van de minste weerstand

Net even gekeken, maar voor DA 64Bit heb je een aparte licentie nodig ;-)

Geert-Jan
01/02/09, 00:04
Ja / Nee. Indien je reeds een DA licentie hebt kun je deze kosteloos om laten zetten.

DA draait idd op meerdere x86_64 OS'en, echter alleen CentOS wordt ondersteund.

Ja, CentOS draait uiterst stabiel, geen klachten hier. Gewoon zo kaal mogelijk installeren, en dan tunen....

Smart-Guyz
01/02/09, 00:06
Ja / Nee. Indien je reeds een DA licentie hebt kun je deze kosteloos om laten zetten.

DA draait idd op meerdere x86_64 OS'en, echter alleen CentOS wordt ondersteund.

Ja, CentOS draait uiterst stabiel, geen klachten hier. Gewoon zo kaal mogelijk installeren, en dan tunen....

Nu de ham vraag.

Ik ben Fedora gewent en hier speel ik nu 3 jaar mee. CentOS ken ik van naam en daar houd het mee op.

Wat zou je dan adviseren? Fedora 8 (ondersteund) of Centos 5.2 x86_64?

Geert-Jan
01/02/09, 00:11
CentOS
- omdat het ondersteund wordt, en fedora 64 niet,
- omdat het grofweg dezelfde commando' s gebruikt (t.o.v. FreeBSD)
- omdat CentOS goed geupdated wordt,
- omdat fedora (vind ik uhh) meer voor desktops is.

MAAR, het OS is en blijft net zo goed als waar jij mee overweg kunt, en dan kan een ander nog zo praten wat je wil.
Als je de beste bent met een versnellingsbak, waarom dan een nieuwe met automaat?

Smart-Guyz
01/02/09, 00:49
CentOS
- omdat het ondersteund wordt, en fedora 64 niet,
- omdat het grofweg dezelfde commando' s gebruikt (t.o.v. FreeBSD)
- omdat CentOS goed geupdated wordt,
- omdat fedora (vind ik uhh) meer voor desktops is.

MAAR, het OS is en blijft net zo goed als waar jij mee overweg kunt, en dan kan een ander nog zo praten wat je wil.
Als je de beste bent met een versnellingsbak, waarom dan een nieuwe met automaat?

Gezien het feit dat ik de server hier nog thuis heb en nog niet in het datacenter heb hangen, kan ik nu mooi even testen met deze systemen en meningen vragen.

Ik ga CentOS zeker proberen nu en me daar iets meer in verdiepen.

Zijn er nog dingen waarmee ik tijdens de installatie rekening mee moet houden, aanwijzingen, tips?

EDIT:
Ik kwam tot de ondekking (weet niet of het nog geldt) dat je voor 4GB of hoger (geheugen) een kernel module genaamd PAE (Physical Address Extension) moet hebben? En overal waar ik dit lees hebben ze het over 32bit, is PAE er ook voor 64Bit en is dit al niet standaard?

Nielsvk
01/02/09, 01:31
32 bit os'n ondersteunen niet meer dan 4GB ram. Als je een 64 bit OS installeert is dit probleem automatisch verholpen.

Smart-Guyz
01/02/09, 01:42
32 bit os'n ondersteunen niet meer dan 4GB ram. Als je een 64 bit OS installeert is dit probleem automatisch verholpen.

Mijn dank is groot :thumbup:, dat probleem is dus ook verholpen, mits ik bij CentOS blijf

Tim.Bracquez
01/02/09, 01:51
Zelf zou ik ook voor 64bit gaan, de PAE module zit er normaal(?) standaard in.

Enig nadeel bij 32bit is dat ook al kan je meer RAM aanspreken dat normaal 1 process niet meer dan 4GB ram kan gebruiken.

Ik raad je wel niet aan even Centos te installeren en daarop DirectAdmin er zijn nog enkele dingen die zeker onderhanden genomen moeten worden voor de performantie en veiligheid.

Smart-Guyz
01/02/09, 17:22
Zelf zou ik ook voor 64bit gaan, de PAE module zit er normaal(?) standaard in.

Enig nadeel bij 32bit is dat ook al kan je meer RAM aanspreken dat normaal 1 process niet meer dan 4GB ram kan gebruiken.

Ik raad je wel niet aan even Centos te installeren en daarop DirectAdmin er zijn nog enkele dingen die zeker onderhanden genomen moeten worden voor de performantie en veiligheid.


Klopt, CentOS staat er nu op en ik ben nu bezig met een aantal guides aan het volgen met betrekking tot beveiliging etc. Ondertussen leer ik ook veel bij, dus dat is mooi mee genomen.

Voor DA moeten ik nog wachten tot mijn licentie wordt omgezet.

Gerjan
02/02/09, 13:36
Een mogelijkheid die je zeker overwegen moet is het installeren van een VMware ESX laag. Deze zorgt dan de complete hardware aansturing/ondersteuning. Ervaring leert dat dit ook een performance-verbetering met zich meebrengen kan.

Daarnaast kan plotseling migreren een stuk eenvoudiger en zou je indien gewenst er een testmachine bij naast zetten.

koendejonge
04/03/09, 01:52
Een mogelijkheid die je zeker overwegen moet is het installeren van een VMware ESX laag.

Als je VMware ESX overweegt, kijk dan zeker ook naar Citrix XenServer, kort geleden hebben ze aangekondigd dat ze alle functionaliteit die je nodig hebt om er iets werkbaars van te maken gratis bij weg gaan geven.

Met XenServer kun je dat van iedere machine bijvoorbeeld 4 of 5 virtual machines van verschillende grootte maken. Vervolgens richt je een of meerdere virtual machines in als loadbalancer, webserver, database-server, cache of proxy terwijl je ook een virtual machine kunt houden waarin je je hele huidige omgeving importeert. Physical to Virtual noemen ze dat, oftewel P2V.

Het mooie is dat je van te voren kunt testen of het werkt en als een van de machines te klein wordt koop je er een server bij en met xenmotion live migratie verplaats je de virtual machines zonder 1 seconde downtime naar nieuwere of grotere hardware.

cj0
04/03/09, 19:35
Als je de webserver software wilt versnellen, kijk dan eens naar het open source project: Cherokee <http://www.cherokee-project.com/>, wat als vervanger van het langzamere Apache zou kunnen fungeren.

maxnet
04/03/09, 21:31
Naast Cherokee heb je ook Lighttpd en nginx.

Hoewel deze alternatieven een architectuur hebben die een stuk beter met veel connecties om kan gaan dan Apache, worden .htaccess bestanden door geen van allen ondersteund, en moet alle configuratie in 1 configuratie bestand gedaan worden.

Geen probleem als je de websites allemaal zelf beheert, maar voor het aanbieden van hosting aan anderen dus een stuk minder geschikt.


(Verder heb je nog Litespeed, die dat wel kan, maar closed source is, en enigzins aparte licentievoorwaarden heeft)

GuusDeGraeve
12/06/09, 04:08
Als het gaat om zo'n groot project lijkt het mij ook geen slecht idee om in de applicaties zelf te gaan kijken. Je zou bijvoorbeeld als je meerdere servers ter beschikking hebt of als je met Virtualisatie werkt de volgende dingen kunnen doen:
- Static content en dynamic content splitsen. Je kan bevoorbeeld de apache server ontlasten door static content (img/css/e.a....) op een andere server/vps te gaan hosten met een lighttpd server. Hiervoor moet je echter ook aanpassingen doen in de applicaties zelf.
- De database ook op een andere server/vps en als die het lastig krijgt met slave's op andere servers/vps draaien die je random aanspreekt voor read-queries vanuit je applicaties.
- Een tweede webserver opzetten en je 2 applicaties splitsen. Als je dan nog met problemen zit kan loadbalancing mss een oplossing zijn.

Mijn ervaring leert mij dat het in situaties zoals deze zeer belangrijk is om eerst en vooral de performantie van de applicaties zelf eerst goed te optimaliseren. Dat kan je heel veel kosten/hardware uitsparen.

wonko
12/06/09, 08:46
neem een OS waarmee je bekend bent. Fedora en CentOS zijn van dezelfde "familie" (rpm-based dingen). Goede uptime krijg je niet door dat ene stukje software te installeren waar weinigen weet van hebben, maar gewoon door een systeembeheerder die zijn zaakje vanbinnen en vanbuiten kent.

Controlpanel doet er ook weinig toe, het is enkel een hulpmiddel.

feniks
12/06/09, 18:21
Smart-Guyz,

Wij draaien beiden, er zitten op de server nou niet zo veel verschillen dat ik problemen verwacht. Fedora = Community edition gebaseerd op Red Hat code. CentOS = 100% gebaseerd op Red Hat. Zelf draaien wij het liefst met CentOS, over de stabiliteit geen enkele klacht.

MvG,
Feniks

marcel5
20/07/09, 18:17
Lighttpd is inderdaad een aanrader, een stuk sneller dan Apache en stabiel als een rots.

Een opcode cacher zoals XCache kan ook ongeveer 30% versnelling geven als je veel php scripts draait.

vincentvdk
20/07/09, 21:35
CentOS is zeer aan te raden aangezien ze Red Hat volgen en de sources van Red Hat gebruiken om CentOS mee te bouwen (100% compatible met de upstream provider).

Tov bv Ubuntu heb je niet altijd de laatste nieuwe versies van bepaalde packages, maar je bent er wel zeker van dat ze stabiel draaien.
Verder heb je een support termijn van 7 jaar (updates), wat toch wel mooi is.

Belangrijk is natuurlijk dat je er makkelijk mee overweg kan, maar aangezien je Fedora gewoon bent zal dit wel meevallen.

Veel success!

askmurphy
21/07/09, 01:35
Draai zelf met CENTOS 5 - 64bits en directadmin 64bits: werkt perfect en zeer stabiel. Als ik zo'n machine had (of mijn eerst volgende nieuwe server) dan zou ik daar eerst XENSERVER 64bits of VMware (ESXI) opzetten.
VMWARE verdient de voorkeur, maar is draait niet altijd goed op alle hardware. VMserver voor Linux draait overigens ook uitstekend op een CENTOS-5 machine hoor. Kortom: het zou dom zijn als je geen virtualisatie software zou installeren ;-) Mogelijkheden zijn legio !

:thumbup:

marcel5
21/07/09, 13:47
Tov bv Ubuntu heb je niet altijd de laatste nieuwe versies van bepaalde packages, maar je bent er wel zeker van dat ze stabiel draaien.

Dat was eerlijk gezegd een van de redenen waarom ik ben overgestapt van Debian naar CentOS. Op een gegeven moment had Debian ongeveer elke week een kernel update (en dus een reboot nodig). Toen had ik nog geen KVM kaart, en was het telkens weer in spanning wachten tot de server online kwam na een reboot.

Ik heb aardig wat ritjes naar het datacenter gemaakt omdat mijn server bezig was met een forced diskscan na een reboot :whistling:

PimEffting
21/07/09, 14:21
Kijk ook naar optimalisaties in je database als je dat gebruikt.

Bijvoorbeeld met tuning primer:
http://www.day32.com/MySQL/tuning-primer.sh

vincentvdk
31/07/09, 20:49
het gaat momenteel iets minder goed met het CentOS project. Ik hoop dat de devs tot een oplossing komen. Check de CentOS webpage maar, op zijn weblog geeft Dag Wieers staat ook een reactie

MikeN
01/08/09, 10:48
Dat was eerlijk gezegd een van de redenen waarom ik ben overgestapt van Debian naar CentOS. Op een gegeven moment had Debian ongeveer elke week een kernel update (en dus een reboot nodig). Toen had ik nog geen KVM kaart, en was het telkens weer in spanning wachten tot de server online kwam na een reboot.

Ik heb aardig wat ritjes naar het datacenter gemaakt omdat mijn server bezig was met een forced diskscan na een reboot :whistling:
Euh, je bent dus overgestapt omdat een ander OS de security updates wat minder goed bijhoudt? Goede reden hoor ;)

wonko
01/08/09, 11:15
@miken: dat zal dan wel niet de stable tree geweest zijn dat je gebruikte van debian, maar testing of unstable. Elke week een kernel update bij debian is nog nooit voorgevallen...