Oorzaken van Hyves’ performance problemen

Kijkende naar de broncode van Hyves’ webpagina’s valt me op dat de site in het geheel niet opgezet is om pieken in de serverbelasting op te vangen. Er worden 27 javascript bestanden opgevraagd en worden er 72 afbeeldingen geladen. Dit zijn voor de eerste pagina die bekeken wordt (ervan uit gaande dat caching plaatsvindt) in totaal al 99 bestanden die gevonden en gelezen moeten worden, waarschijnlijk verspreid over verschillende harde schijven.

Los van de belasting voor de server is dit ook een enorme belasting voor de PC van de bezoeker. In totaal is er het ongelooflijke aantal van 26.500 regels javascript te verwerken, samen met 2.700 regels HTML code. Zo’n pagina doet zelfs op de nieuwste PC nog langzaam aan.
De pagina’s zijn gebaseerd op tabellen, terwijl met een beetje HTML + CSS een veel compactere pagina op te zetten is. Bovendien is er veel gebruik gemaakt van inline CSS code. Nu kun je misschien denken dat compacte code in het breedband tijdperk niet nodig is. Alles gaat toch zo snel als de bliksem? Nou, nee.

Download Times

Connection Rate Download Time
14.4K 536.90 seconds
28.8K 268.65 seconds
33.6K 230.33 seconds
56K 138.36 seconds
ISDN 128K 42.65 seconds
T1 1.44Mbps 4.07 seconds

In bovenstaande tabel is de laad tijd van mijn Hyves pagina weergegeven. Hier zie je dat het zelf op een snelle T1 verbinding nog 4 seconden duurt voordat alles gedownload is. Daarna moet de browser er nog een webpagina van bakken en 26.500 regels javascript uitvoeren. Een recept voor een fiasco.

Wat kan Hyves doen?

Een oplossing op de korte duur is er zo veel mogelijk servers tegenaan gooien om de boel met een goede load balancer draaiende te houden. Maar dat werkt alleen als de backend goed in elkaar steekt. Kijkende naar de HTML pagina’s aan de voorkant heb ik daar weinig vertrouwen in. HTML code schrijven is iets simpels. Een goede backend opzetten is echter vrij complex. Als je er aan de voorkant echter al weinig van bakt dan zal de achterkant ook wel houtje touwtje in elkaar zitten.

Het zou goed voor Hyves zijn om de site enkele dagen dicht te zetten zodat er aan een goede oplossing gewerkt kan worden. Niet alle energie steken in het maken van nieuwe features als Instant Messenging, maar de site weer voor iedereen bruikbaar maken. Anders krijgen we ons eigen Nederlandse Friendster verhaal.

Wordt Hyves slachtoffer eigen succes?

De sociale networking sites Hyves is op dit moment zeer succesvol. De site is zo populair dat politici zich in allerlei bochten wringen om zich ook op dit platform in de kijker te spelen. Hyves lijkt op dit moment miljoenen waard te zijn.
Een andere social networking was ook ooit miljoenen waard. Friendster. Friendster was een van de eerste social networking sites die tegen de klippen op leek te groeien. Miljoenen mensen bezochten dagelijks de site. Google bood de makers aan de site over te nemen in ruil voor 30 miljoen dollar. Friendster sloeg het bod af. Na verdere speculaties leek het bedrijf uiteindelijk 150 miljoen dollar waard te zijn. Daarna ging het mis.

De site werd met de dag langzamer. Zó langzaam dat de bezoekers van het eerste uur er de brui aan gaven. Tegelijkertijd was MySpace sterk in opkomst. Het duurde niet lang voor MySpace al het leven uit Friendster had gezogen. Friendster was in één klap geen 150 miljoen dollar meer waard.

Hyves wordt ook met de dag langzamer. Was de site eerst op de pieken in de avond langzaam, nu is de langzaamheid een constant irritatie punt. Ik heb er inmiddels de brui aan gegeven. Heeft Hyves al een goede concurrent?

Microsummaries

De belangrijkste feature van Firefox 2.0? Volgens mij wordt dat de ondersteuning voor Microsummaries. Met deze gegevens, mit goed toegepast, kan men de usability van tabbed browsing volgens mij een stuk verbeteren. En mocht Firefox er niet meteen handig mee omspringen, dan zijn er met deze gegevens killer extensies te maken.
Ik denk dat het niet lang duurt voordat alle grote sites Microsummaries ondersteunen. Ik kijk over een jaar wel weer. Ondertussen werk ik mijn eigen sites even bij. Ons CMS is er in ieder geval klaar voor.