Door Femme Taken

Architect

Afbeeldingen voortaan geserveerd via Tweakimg.net

15-10-2007 • 14:08

35 Linkedin

Sinds kort worden de afbeeldingen in de layout van Tweakers.net geserveerd via het domein Tweakimg.net. Het gebruik van een apart domein voor afbeeldingen heeft als voordeel dat er geen cookies met de plaatjes meegestuurd worden, zodat er minder bandbreedte wordt gebruikt en de plaatjes eerder op hun bestemming arriveren. Tevens kan de browser meer gelijktijdige connecties gebruiken om de site binnen te halen. Veel browsers gebruiken standaard twee connecties per domein. Dit worden er nu twee voor tweakers.net en twee voor tweakimg.net. Ook dit zorgt voor verbeterde prestaties. Verder is het nu makkelijker geworden om een lichte webserver in te richten voor het serveren van plaatjes.

Lelijk rijstbarrel
Tweakers.net getuned

Gebleken is dat sommige bezoekers zich op het werk achter zwaar gerestricteerde proxyservers en firewalls bevinden die alleen domeinen uit een whitelist toestaan. Deze gebruikers zullen hun beheerders ervan moeten overtuigen om het domein tweakimg.net te whitelisten. Een rechtgeaarde beheerder zal dit inmiddels uit eigen beweging gedaan hebben . Bij een aantal grote proxies, waaronder die van de Belastingdienst, worden tijdelijk uitzonderingen gemaakt en worden afbeeldingen als vanouds via tweakers.net aangeleverd. Zie voor meer informatie dit topic op het forum.

Lees meer

Reacties (35)

35
34
14
6
0
2
Wijzig sortering
Kunnen jullie niet via javascript even checken of tweakimg.net bereikbaar is en zoniet:
- dit in een cookie saven
- de plaatjes vanop tweakers.net laden?
Ja, dat zou kunnen, maar waarom zouden we dat willen doen? Imo moeten wij dan onevenredig veel moeite doen en andere clients daarmee ook 'lastigvallen' (weer een extra connectie, weer een extra cookie) voor iets dat in beginsel ons probleem niet is en aan de andere kant (door de beheerders van dergelijke stricte proxies) veel eenvoudiger kan worden opgelost.
Het gaat hier om 3 lijnen javascript. Een extra connectie, wat maakt dat uit als je er al 50 doet voor alle plaatjes te retrieven. Meer dan 1 byte aan data hoef je niet terug te sturen. Een extra cookie is toch ook niet nodig, het kan toch als parameter mee in de huidige?

Dat het jouw "probleem" niet is? Dat is het mij als betalend abonnee wel. Er worden zo vaak "bugs" gefixed hier en workarounds ingebouwd voor dingen waar maar 0,1% van de bezoekers last van heeft.

Verder een leuk idee, maar werk het dan wel fool-proof uit aub :)
Je doet wel heel makkelijk bepaalde aannames...

We proberen zoveel mogelijk het aantal benodigde connecties te beperken, de laatste tijd zijn we juist druk bezig om dingen als achtergrondplaatjes e.d. samen te voegen :)

Als abonnee heb je recht op bepaalde extra's, maar voor de feitelijke toegang tot tweakers.net is logischerwijs gewoon een internetverbinding noodzakelijk die niet de benodigde resources blokkeerd. Dat zijn gewoon zaken waar wij geen rekening mee kunnen houden want dan zouden we voor allerlei andere voorkomende uitzonderlijke gevallen (verouderde browsers, 14K4 modems, kleine schermresoluties) ook workarounds moeten gaan inbouwen.

Ik kan me geen concreet voorbeeld voor de geest halen waar we een dergelijke workaround hebben geimplementeerd voor een <= 0,1% van onze bezoekers; zeker geen workarounds die een (ook al is het een kleine) negatieve impact heeft op de rest van de bezoekers. Maar mischien kan je mijn geheugen opfrissen? ;)

In dit geval hebben we voor de IP adressen van de Belastingdienst proxies dan wel een tijdelijke uitzondering gemaakt zodat die de static files van tweakers.net geserveerd krijgen, maar dat is een workaround die verder geen impact voor de rest van de bezoekers en gezien de reactie van DSmarty hieronder zal de BD uiteindelijk zelf de benodigde toegang tot tweakimg.net gaan regelen :)

Ook jouw voorstel is overigens niet geheel fool-proof, want het vereist wel weer een client die cookies en javascript accepteerd ;)

[Reactie gewijzigd door crisp op 17 oktober 2007 10:38]

Anoniem: 129543
15 oktober 2007 15:09
Voor wie zelf wil kijken of er nog wat verbeterd kan worden aan een site, kun je de Firefox plugin YSlow gebruiken (hiervoor heb je ook Firebug als plugin nodig).

Daarmee kun je o.a. zien of gebruik gemaakt wordt van een image-server en of dit veel verschil uitmaakt. Je kunt ook zien hoeveel CSS-scripts er geinclude worden enz.

Hoe dan ook, genoeg tips om mee te tweaken. Een beetje beheerder kan in Apache nog veel meer sleutelen aan het cache gebeuren, zowel server side als client side door de juiste headers af te dwingen.

- Unomi -
YSlow is inderdaad een handige tool hoewel niet alle punten direct op ons van toepassing zijn (CDN bijvoorbeeld) of waarbij de nadelen niet opwegen tegenover de voordelen (minificeren of obfusceren van javascript bijvoorbeeld).

Het is bij het tweaken op front-end vlak dus meestal zoeken naar een goede middenweg. Er zijn nog wat puntjes die verbeterd kunnen worden (minder achtergrondplaatjes gebruiken door meer gebruik te maken van 'sprites' bijvoorbeeld), maar we komen al een heel eind :)
Sprites, hoe/wat moet ik me daarbij voorstellen, en waarom is het sneller?
Zie de reactie van dennisvander verderop. ;)
Was een subdomain ook geen optie geweest?
Voor de connecties wel geloof ik, maar we zetten de cookies standaard op *.tweakers.net en die worden juist ook meegestuurd naar static.tweakers.net of images.tweakers.net

Als je voor het eerst langs komt op de frontpage moest je daarvoor zo'n 80 requests voor css, javascript en (ondersteunende) afbeeldingen doen. Elk van die requests kreeg een cookie mee van al gauw 400 bytes. En dat is dus zo'n 32kB om te uploaden, zelfs met een 1Mbit-uplink duurt dat nog 0.3 seconden.
En dat lijkt misschien marginaal, maar als je bedenkt dat het zo'n 2 tot 4 seconden in totaal kost is het best een groot verschil voor overbodig mee gestuurde data.
Elk van die requests kreeg een cookie mee van al gauw 400 bytes.
Dat zijn veel cookies dan. Kan daar niet gewoon iets aan gedaan worden?
Feit is dat een deel van deze cookies niet door ons worden gegenereerd maar bijvoorbeeld door Google Adsense. Als ik naar mijn eigen cookies voor tweakers.net kijk dan zijn er 9 van onszelf met een totale grootte van 231 bytes, en 8 van 'derden' met een grootte van 330 bytes. De grootte van onze eigen cookies kunnen we misschien nog wel wat beperken door kortere cookie-namen te gebruiken, maar op het totaal zal dat weinig effect hebben.
Ik weet niet zeker hoe het zit met connections enzo, maar waarschijnlijk maken browsers gemiddeld twee verbindingen met een domein, en dan heb je dus maar één pijp voor t.net en één pijp voor img.t.net (omdat t.net daar nogsteeds het 'hoofd' domein is) waardoor je site de helft trager wordt. Maar goed, slechts een theorie :P
Dat klopt. Een browser zal default 2 connecties naar een domein openen, dus 2 naar *.tweakers.net en 2 naar *.tweakimg.net, maar niet 2 naar tweakers.net en 2 naar img.tweakers.net. En een img.tweakers.net heeft ook als nadeel dat je bij elke request weer je cookies meestuurt, wat behoorlijk kan oplopen.

'Grote' websites die dit ook doen zijn bijvoorbeeld yahoo (yimg) en amazon.

[Reactie gewijzigd door Kees op 15 oktober 2007 14:39]

Anoniem: 130792
@Zsub26 oktober 2007 21:21
Dat klopt niet.

Een subdomain wordt door browsers gezien als een andere domein.
Daarom doen browsers een domain-lookup voor subdomains.

Dus als je een subdomain gebruikt: images.tweakers.net
Heb je 2 extra connecties omdat het een andere domein is.

http://www.askapache.com/...che-speed-subdomains.html

bijv: static.ebay.com // static.yahoo.com // img.digg.com // images.netscape.com

De cookies gedeelte zal vast de reden zijn geweest.
En ironisch genoeg was dat cookie probleem te voorkomen geweest als tweakers niet laatst van www.tweakers.net naar tweakers.net als web-domein was gegaan. Nu moeten koekjes immers geset worden voor "tweakers.net", in de oude situatie hadden de cookies geset kunnen worden voor "www.tweakers.net" waardoor ze niet naar img.tweakers.net waren meegestuurd.
Voor de single-login met het forum is het sowieso al noodzakelijk om de cookies op tweakers.net te zetten ;)

Verder is het www subdomein gewoon een nutteloos reliek.
Anoniem: 215514
17 oktober 2007 13:24
Dit is misschien interessant
http://www.alistapart.com/articles/sprites
Als ik naar de image properties kijk, verwijst dat nog steeds naar tweakers.net? Klopt dat?
Hangt van 2 dingen af.

1: Welke afbeeldingen.
>> Alleen de lay-out afbeeldingen komen van het nieuwe domein. De afbeeldingen uit het nieuwsbericht komen gewoon van tweakers.net

2: Locatie
>> Sommige proxies (zie topic) krijgen alsnog de afbeeldingen van tweakers.net
Bepaalde afbeeldingen, zoals bijvoorbeeld de afbeeldingen in nieuwsberichten maar ook foto's uit de fotoalbums van abonnees, worden via een script geserveerd en zijn zodoende niet 'statisch'. In sommige gevallen is voor het bekijken van dit soort afbeeldingen namelijk een geldige sessie vereist. Deze worden dus inderdaad nog vanaf het tweakers.net domein geserveerd.
Via het onderstaande register instelling kan je het voor IE7 aanpassen. Hiermee heb je meer connectie naar de server wat ook snelheid opleverd.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPerServer"=dword:00000008
"MaxConnectionsPer1_0Server"=dword:00000008


Daarna reboot.

[Reactie gewijzigd door Shift op 17 oktober 2007 12:44]

Op zich is het niet zo netjes om dat te doen aangezien je daarmee meer load-pieken veroorzaakt op webservers, pipelining is een beter alternatief (maar wordt niet ondersteund door IE).
Mooi werk. Ik vond t.net de laatste tijd al mooi snel maar kennelijk kan wat nitro ook geen kwaad. ;)
Valt me wel op, in dat topic, dat er wel opvallend veel mensen onder kantoorururen reageren die bij de belastingdienst werken O-)
Doordat de site nu sneller is geworden, hebben ze meer tijd om te reageren... :)
Dit is wel een interessante techniek. Ik beheer / ontwikkel ook een website waar bij elke refresh 7 random top images worden geladen (niet mij idee :P). Ik laad die dus al van een sub domein, misschien handig om dit eens te proberen :) Thx voor het plan T.net
moet dat tweakimg ook in adblock uitzonderingsregels of heeft het verder niets te maken met ads?
Op zich niet, zolang de javascripts van tweakimg.net maar niet geblokkeerd worden zou je daar verder geen extra uizonderingsregels voor aan hoeven maken.

Op dit item kan niet meer gereageerd worden.

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