Toon posts:

nieuwe (server) systemen voor hosten webwinkel(s)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste,

wij hebben meer dan 10 grote webwinkels met enkele duizenden tot honderdduizenden bezoekers per maand (per stuk). Deze draaien "redelijk goed" bij de huidige host. Soms wat traag maar ze draaien over het algemeen erg goed. Echter hebben wij nu een script dat éénmaal per week draait.

De duur van het script is tussen de 4 en 6 uur tijd (ruim genomen). De scripts vragen per script ca. 10 tot 20mb geheugen van de server. In totaal zou dit, hoog genomen, een totaal van 12 * 20MB = zijn 240MB. De scripts spideren onze website en genereren een XML bestand. Het aantal pagina's dat gevonden word is afhankelijk van welke site, maar zit tussen de 5.000 en 12.000 pagina's.

(Sitemap, mobiele sitemap, html sitemap, image sitemap, rss feed, en zo voort)

Bij de huidige host worden alle websites ontzettend traag wanneer deze scripts gedraait worden via een Cronjob. Er word daar echter gehost op oude Xeon processoren en 16GB werkgeheugen.

Nu ben ik aan het kijken naar nieuwe hardware, echter heb ik niet veel kaas gegeten van wat een server nodig heeft, en wat je er vervolgens op kan hosten.

Ik hoop eigenlijk dat iemand mij meer informatie kan geven over hoe ik kan berekenen hoeveel websites ik op één server kan hosten en wat een server aan kan. Momenteel zijn we naar twee versies aan het kijken welke ik onderstaand opschrijf. Ik hoop dat jullie mij wat informatie kunnen geven over deze twee systemen.

Ik denk dat alle "hosts" wel overeen komen. 1GB verbinding aangeboden en direct-access toegang natuurlijk. Dat in combinatie met je eigen hardware.

Zijn de specs goed genoeg, en wat kan ik verwachten dat ik per server kan draaien... één website of kan ik makkelijk 2 of meer sites op één server draaien, en hoe kan ik zoiets berekenen? ik heb veel op het internet gezocht maar ik krijg erg veel verschillende antwoorden. Ik weet dat hier veel slimme koppen zitten dus ik dacht, laten we het hier eens vragen. Komt vast en zeker een eerlijk en duidelijk advies uit.

Keuze 1:
Intel Xeon E5-2630 v3 2,4GHz (3,2GHz Turbo boost)
Intel Server Board S2600CW2 2 CPU, 2048GB RAM DDR4-1333
Corsair 64GB DDR4-2133 CL13 15-15-28
Corsair Force LS 240GB R 560 / W 535 (2 keer)

Keuze 2:
Intel Xeon E5-2650 v3 2,3GHz (3,0GHz Turbo boost)
Intel Server Board S2600CP4 2 CPU, 512 GB DDR3-1600
Corsair 64 GB DDR3-1600 Octo CL9 9-9-24
Mushkin Scorpio Delux 240GB R 2150 / W 1950 (2 keer)

Mijn vragen in het kort dus:

1. Kan ik berekenen hoeveel sites ik op één server kan hosten, en zo ja kan je mij op weg helpen hoe dit te berekenen
2. Voor welke server zouden jullie kiezen, en als je iets beter weet dan hoor ik graag welke hardware
3. Eventueel een goede host waar wij onze server kunnen onderbrengen, echter is deze vraag optioneel.

We hebben websites in Nederland, Belgie, Engeland, Portugal, Spanje, Japan en Frankrijk.


Met vriendelijke groet

  • prekz
  • Registratie: September 2008
  • Nu online
Het is heel moeilijk te berekenen hoeveel websites je kan hosten, dat is afhankelijk van veel factoren (hoeveel bezoekers, welke webshop systemen, hoe zwaar is de backend etc).

In jouw geval hoeveel verlies draai jij met deze sites als deze 1 of enkele dagen eruit liggen? Ik zou al snel voor meerdere (misschien iets kleinere gaan) en een cluster bouwen.

Hoeveel Gb zijn jouw sites? Mogelijk helpt ssd storage ook al redelijk bij het draaien van de crobjob

[ Voor 13% gewijzigd door prekz op 01-05-2015 11:14 ]


  • 3raser
  • Registratie: Mei 2008
  • Laatst online: 17:57

3raser

⚜️ Premium member

Wat is de huidige configuratie?
Welk OS draait er op de server(s)?
Welke webserver?
Wat voor script-taal?
Hoeveel servers heb je momenteel, en hoeveel websites draaien er per server?

Daarnaast heeft de performance voornamelijk te maken met het programmeerwerk. Slecht werk levert slechte prestaties. Optimaliseren is de sleutel. Misschien heb je wel helemaal geen nieuwe server(s) nodig.

Verwijderd

Topicstarter
We hebben net een inhaal gemaakt met de websites. Google geeft een nagenoeg perfecte score aan SEO, snelheid en overige. De talen zijn HTML, CSS, PHP, Javascript en jQuery. De gebruikelijke talen dus eigenlijk. Voor de database gebruiken wij MYSQL.

We gebruiken momenteel Apache op een CentOS besturingssysteem. De huidige configuratie is een circel topologie. Niet het beste dus, maar we gaan het omzetten naar een cluster voor snelheid en veiligheid.

De back-end is flink groot inderdaad, ook daarmee zijn we momenteel bezig echter zijn de huidige servers wel slecht. Om een voorbeeld te noemen:

Xeon E5530 2.40GHZ, 12GB Ram

2x Dual-core AMD Opteron 2212, 12GB Ram

Xeon E5420 2.5GHz, 8GB Ram

Xeon E3-1230 3.2GHz, 8GB Ram

Hardeschrijven geen idee om eerlijk te zien maar sommige servers zijn in 2010 gemaakt sommige in 2012 dus ik verwacht zeker dat er nog HDD in zit of een vroeg type SSD.

De grootte van wat er op de webruimte staat verschilt per server maar even snel gemeten, alle bestanden bij elkaar van één van de servers is een 2.71 GB aan ruimte (2.911.858.688 bytes).

Als de websites offline zijn dan word er wel een groot verlies gedraait. Dit moeten we dus inderdaad beperken. Hoe ze dit willen gaan doen geen idee, waarschijnlijk de nieuwe hardware installeren, configureren en als alles draait, (even kort door de bocht gezegd) stekker eruit bij het oude, en bij het nieuwe er in. Hopelijk maximaal een paar uur downtime.

De systemen zoals beschreven kosten rond de 3000 euro per stuk. Is het de investering waard of adviseren jullie mij om het anders aan te pakken?


P.S. Als extra informatie. Stel dat ik voor 4 websites een Sitemap wil genereren. We hebben het script van https://www.xml-sitemaps.com/ gekocht. Als we dit 4 maal laten draaien tegelijkertijd dan loopt de complete server van (om het even makkelijk uit te leggen) een niveau 5 qua kracht naar 15 op. Hij is dus flink aan het zweten dan haha. Is dit normaal, want in mijn ogen vraagt het niet bijzonder gek veel aan de server (zie mijn 1e post) en zou dit wel moeten kunnen toch?

[ Voor 13% gewijzigd door Verwijderd op 01-05-2015 11:26 ]


  • 3raser
  • Registratie: Mei 2008
  • Laatst online: 17:57

3raser

⚜️ Premium member

Als ik het goed begrijp draait alles (vrijwel) perfect, alleen heb je een script wat de boel onderuit trekt. Misschien moet je de focus leggen op dat script in plaats van er nieuwe hardware tegenaan te gooien. Wat zijn je verwachtingen van die nieuwe hardware? Hoe lang mag het script draaien en hoeveel "last" mag de website er van hebben? Misschien valt dat script wel te optimaliseren?

Verwijderd

Topicstarter
We hebben vaker last van kleine piekjes. Het is dus dat soms de laadtijd van de site wel flink achteruit gaat, en een uur later is het weer in orde. Er zijn dus wel wat meer "kleine" dingen aan de hand wat "lijkt" op verouderde hardware in onze ogen maar het kan natuurlijk dat we er volledig naast zitten.

Wat wij graag willen is dat de website(s) gewoon stabiel zijn. Snelle laadtijden (zowel voor de gebruiker als voor SEO score) en dat wij deze scripts ook zonder moeite tegelijkertijd kunnen gebruiken. Ik begrijp dat alle 12 tegelijk misschien overkill is, maar 3 of 4 tegelijkertijd moet toch gaan lijkt mij.

Het script is gekocht via de website zoals aangegeven. Het spiders gewoon elke link die het vind vanaf de begin URL en slaat alle links op in zijn "geheugen" om vervolgens aan het eind een XML, ROR, TXT of wat dan ook te genereren.

echter gezien de grootte van de website(s) worden het wel grote bestanden (bestandsgrootte valt mee maar hoeveelheid text).

Vrijwel perfect is niet perfect overigens, zoals ik al zij soms kleine glitches. Het laden gaat dan echt 2 seconde langzamer als normaal (normaal 90 miliseconde bijvoorbeeld, en dan in eens 2,5 seconde). Dit is vaak na 15 minuten, soms een uurtje wel weer over maar toch. Wij vinden dat dit niet mag gebeuren en willen de bezoeker altijd een snelle website geven.

De scripts mogen zo lang draaien als ze nodig hebben, soms is dat 3 uur soms 5 uur. Dit ligt aan de grootte van de website die hij moet spideren. Zolang de websites maar geen vertagingen krijgen zoals de laadtijd die nu momenteel van 0,9 seconde naar 2,5 seconde gaat en voor sommige sites zelfs nog langer :)

Overigens heb ik met PHP nog wat gestest en de uitkomst is het volgende:


This server system has 8 cores.
Server percentage (capacity in use) is currently 47.88

1 minuut: 3.61
5 minuten: 3.83
15 minuten: 3.68

Gedaan met de functie sys_getloadavg.

Er draait momenteel één script. Het script geeft zelf het volgende aan:

Pages scanned: 2992 (246,627.8 KB)
Pages left: 3872 (+ 924 queued for the next depth level)
Time passed: 1:10:11
Time left: 1:30:49
Memory usage: 12,942.2 Kb

[ Voor 23% gewijzigd door Verwijderd op 01-05-2015 12:01 . Reden: aanvullende informatie ]


  • Donderpoes
  • Registratie: April 2011
  • Laatst online: 11-05-2025
Is het een optie om je sitemap direct vanuit je database te genereren?

En heb je toegang tot de server? Kan je kijken welke services veel memory / cpu / hdd gebruiken op het moment dat je sites trager worden?

Verwijderd

Topicstarter
Ik heb net mijn bericht aangepast toen je reageerde dus hier onder nog een keer. Ik heb niet direct inzicht in de CPU en zo maar heb wel het volgende aan informatie weten te bemachtigen wanneer ik één script heb aan staan.

This server system has 8 cores.
Server percentage (capacity in use) is currently 47.88

1 minuut: 3.61
5 minuten: 3.83
15 minuten: 3.68

Gedaan met de functie sys_getloadavg.

Er draait momenteel één script. Het script geeft zelf het volgende aan:

Pages scanned: 2992 (246,627.8 KB)
Pages left: 3872 (+ 924 queued for the next depth level)
Time passed: 1:10:11
Time left: 1:30:49
Memory usage: 12,942.2 Kb


Het is een optie om de sitemap te genereren vanuit de database inderdaad, maar we willen ook de plaatjes hebben en dergelijke en dit script biedt ondersteuning voor alle formaten. XML, TXT, Feed, Video, Images, en zo voort. Het was dus een handige aankoop zeg maar.

Zou het veel schelen om het vanuit de database te doen? het gaat hier wel over duizenden producten. Als we de volledige diepte pakken gaat het om meer dan 12.000 links per webwinkel (12 keer dus in totaal).

[ Voor 27% gewijzigd door Verwijderd op 01-05-2015 12:03 ]


  • Donderpoes
  • Registratie: April 2011
  • Laatst online: 11-05-2025
Anders zou ik aan je hoster/systeembeheerder vragen of hij kan kijken of er processen zijn die veel resources gebruiken op het moment dat de shop(s) traag worden.

Klopt het dat nu al je shops op één server staan? En dat je je sitemap script ook op deze server draait?

Zo ja zou je eens kunnen proberen om in iedergeval je sitemap script vanaf een andere server te draaien (als dat mogelijk is) en kijken of dit ten goede komt van de snelheid.

Hoe je kan berekenen wat één server aan kan weet ik zelf niet. Is helemaal afhankelijk van wat de server allemaal te doen heeft denk ik.

Maar ik zou wel proberen je sitemap vanuit je database te genereren en mogelijk alleen updates aan je sitemap gaan doorvoeren wanneer er een insert/update/delete query plaats vindt op je database (misschien met een trigger?). Dan hoef je hem niet steeds helemaal opnieuw te genereren.
Wellicht kan je dan ook met een crawler op een minder intensieve manier pagina's crawlen voor informatie die je niet 123 in je database voorhanden hebt.

Wanneer je shop langzaam reageert kan je ook eens SHOW FULL PROCESSLIST uitvoeren op je database. Kun je zien of er misschien query's blijven hangen.

Verwijderd

Topicstarter
Kijk goed om te weten (SHOW FULL PROCESSLIST). Ik zie alleen via PHP dat de server standaard op 40% vermogen draait. Wanneer ik één script draai gaat het vrijwel niet omhoog. Wanneer ik alleen al een tweede aan zet dan schiet deze van 39% naar de 60% (en misschien hoger, heb het script afgekapt hierna). Vind dus wel dat de server er erg veel last van ondervind maar oke :)

Misschien toch slim om te kijken of we het uit de database kunnen halen ;)

  • Donderpoes
  • Registratie: April 2011
  • Laatst online: 11-05-2025
Misschien kan je ook kijken of iets als Varnish ertussen plaatsen een mogelijkheid is.

Maar als je server veel te doen krijgt, kan het zijn dat er processen op elkaar gaan wachten en uiteindelijk de hele boel gaan vertragen.

Ik had het zelf onlangs met een webshop. Een bepaald php script verwerkt externe afbeeldingen bij een request als deze afbeeldingen nog niet verwerkt waren. Als er veel requests waren met onverwerkte afbeeldingen ontstonden er veel sleep query's in mysql. Andere query's gingen dan ook wachten tot uiteindelijk het verwerken van de afbeeldingen klaar was of alles helemaal lam gelegd werd. (Elke dag zijn er 40.000 nieuwe afbeeldingen te verwerken).
Ik heb erop gehamerd dat de afbeeldingen op de juiste formaten worden geplaatst bij externe partijen en ze over ssl opvraagbaar zijn. En nu hoeven wij ze niet meer te verwerken en is de shop altijd snel.

Probeer ook momenten te ontdekken dat de server weinig te doen heeft en op deze momenten de cronjob te starten. Als er tenminste momenten zijn dat er shop niet druk bezocht wordt.

Verwijderd

Topicstarter
Goede punten, ik ga ze mee nemen. Dankjewel!
Pagina: 1