Anoniem: 201557

Topicstarter
Hoi allemaal,

Een potentiële klant heeft mij gevraagd een dynamische website te maken (HTML5, PHP/MySql, Javascript, AJAX en CSS3) met daarbij het verzoek om veel MySql database informatie "Live" weer te geven aan de bezoekers via bv. HTTP Requests in Ajax met als return data uit de Database via bijv. PHP-bestanden. Images worden geladen uit folders op de server zelf.

Veel van de scripts (+/- 50 tot 250 afhankelijk van het aanbod) zullen iedere seconde tot halve seconde de tekstuele informatie (+/-) moeten verversen die met CSS3 is opgemaakt en images moeten weergeven uit de server folder (dit zijn statische images, dus worden maar 1x geladen)

De opdrachtgever hoopt op 5.000 - 10.000 bezoekers per 24 uur te zijner tijd maar kunnen er ook meer worden...

Nu vraag ik me het volgende af:
  • Kan een gemiddelde webserver (shared of dedicated) wel zoveel HTTP Requests aan? Bijv. 10.000 x 24uur x 60min x 60 aanvragen per seconde of 120 aanvragen per seconde = 864.000.000 HTTP request per 24 uur (iedere seconde een request) of 1.728.000.000 per 24 uur (iedere halve seconde een request)
  • Indien bovenstaande toch mogelijk is, wat dat zal betekenen voor de stabiliteit van de hostingserver
  • Komt de snelheid en toegankelijkheid van de hostingserver in gevaar omdat er veel dataverkeer is
  • Kan de gemiddelde browser van bezoekers wel zoveel (50-250) verzoeken tegelijkertijd doen? Google verteld me iets anders namelijk als ik het goed begrijp..
Ik hoop dat iemand mij hier wat meer over kan vertellen, alvast bedankt! ;)

Groet Niek

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 23:06
Hangt er compleet vanaf hoe je applicatie in elkaar zit. Het is voor een beetje webserver geen enkel probleem om bijvoorbeeld 120 cached (ajax) requests per seconde te serveren. Maar als je ze niet cached en ingewikkelde sql queries uitvoert bij elke request wordt het al lastiger.

Wat de browser betreft, ik heb het nooit geprobeerd maar ik denk dat die het wel "wat lastiger" gaat krijgen bij 120 ajax request per seconde.

Maar als je ons verteld wat er precies getoond gaat worden en wat het doel is van de site kunnen we denk ik beter meedenken?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • larsiano
  • Registratie: September 2003
  • Laatst online: 20-08-2013

larsiano

-=XTRA=-

Over de werkelijke aantallen kan ik je niet veel vertellen. Maar sommige vragen zijn wel wat simpel. Zoals":
wat dat zal betekenen voor de stabiliteit van de hostingserver
Servers zijn machines die als je ze genoeg voer geeft en een geconditioneerde ruimte ze prima binnen hun specs vele errors kunnen maken zoals het hoort als de content fouten bevat. Dus als je content statisch is zal er vrij weinig doom editing "de boel verzieken natuurlijk. De vraag is hoe groot de datapackets worden die richting de gebruikers gaan en of de server dit ook in zulke grote getallen in z’n eentje kan en de netwerk snelheid moet ook voldoende zijn. Is dit slechts 1 mb per persoon voor "huidige stand info" is dat wat anders dan als je bv de hubble pics van Nasa gaat opzoeken via hun browser en downloaden natuurlijk.
Het mooie is dat je niet in één dag zomaar 10k bezoekers krijgt dus je kan gaandeweg vrij goed controleren waar de bottleneck zit en hier meer 'capacity' aan geven en zoals Ramon zegt natuurlijk Cashen die hap!

2408WFP + 2x1908FP, i7 950 + EK Supreme, Asus Rampage III Black Edition, 3x2GB Corsair, GTX590, 2 x 120GB Vertex Turbo (RAID0 @ Higpoint3520), 850W Antec W.C.PSU, Termaltake Tenor, 2xZalman Reserator, Steelpad 4S + G5, AW-TaxtX, LG Blu/HD


  • jep
  • Registratie: November 2000
  • Laatst online: 01-06 03:38
Dataverkeer of bandbreedte zal nooit je bottleneck worden bij dit soort dingen. Je webserver, php en caching config zijn cruciaal. Op basis van die getallen zie ik voor een dikke server geen probleem. Denk alleen aan de toekomst wanneer het zal toenemen. Je zult dan voorbereid moeten zijn op verdere opschaling van je servers (centrale storage, meerdere databaseservers).

Keywords; Nginx (webserver), Memcached (!), APC op PHP en voldoende werkgeheugen.

  • Craven
  • Registratie: Februari 2007
  • Laatst online: 23:49
Even afgezien van alle andere info kan je dit natuurlijk niet zo stellen:
Kan een gemiddelde webserver (shared of dedicated) wel zoveel HTTP Requests aan? Bijv. 10.000 x 24uur x 60min x 60 aanvragen per seconde of 120 aanvragen per seconde = 864.000.000 HTTP request per 24 uur (iedere seconde een request) of 1.728.000.000 per 24 uur (iedere halve seconde een request)
Ik weet niet of de bezoekers internationaal zijn of uit 1 tijdszone gaan zijn maar je kan meestal niet stellen dat de gebruikers zich over de gehele dag verspreiden. En dan moet je ook nog rekening houden met het thema van de site. Puur privé word 's avonds natuurlijk beter bezocht dan zakelijke websites.

Anoniem: 201557

Topicstarter
Allereerst allemaal thnx voor de replies!

@ Ramon: Vanwege een geheimhoudingsplicht kan ik nog niet teveel ins-en outs geven wat de website exact gaat doen...Altijd fijn, ik weet het...

Het probleem is dat de return-informatie in mijn optiek niet gecached kan worden aangezien deze dynamisch is. Deze veranderd continu door input van andere gebruikers wat het "Live" effect van de website dan ook is. De informatie die waarschijnlijk getoond wordt gegenereerd door een simpele SELECT-query waarbij op een ID gezocht wordt en gesorteerd op een timestamp waarde.

Een mogelijk scenario ter verduidelijking:
  • Gebruiker opent een PHP pagina (pagina 1) met gecontroleerde variabelen uit de gevraagde URL, bijv. http://www.example.com/php-bestand.php?id=1
  • Pagina 1 geeft gebruikers de mogelijkheid om input te geven die in de database wordt weggeschreven na controle van waarden
  • Aan de hand van de variabelen wordt middels bijv. Javascript een HTTP Request gestart die iedere (halve) seconde een andere PHP pagina (pagina 2) aanroept met simpele variabelen die pagina 1 meegeeft. Bijv. http://www.example.com/aj...?sid=1&information=active
  • Pagina 2 gebruikt de variabelen om uit de database via een Select-query (met Where and Sort) tekstuele info weer te geven die op pagina 1 kan worden ingegeven door de gebruiker. Maximale rows die getoond worden zal ongeveer 15-25 rows zijn. De variabelen worden wel gecontroleerd door pagina 2 op geldigheid via PHP
  • De resultaten van de SELECT query worden opgemaakt met CSS3
Hoop dat dit wat meer duidelijkheid geeft.

@ Craven: Goed punt! 8)7 Om 3 uur 's nachts zal het idd wat minder druk zijn :S Lol
@ Larsiano: Begrijpelijk
@ Jep: Helpvolle keywords, thnx Alhoewel ik nog nooit met een Nginx server gewerkt heb volgens mij maar Google is my best friend
Pagina: 1



Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee