Finden Sie JQuery-Cache-Treffer / Fehltreffer von CDN

8

Wenn Sie jQuery aus einem CDN einbinden, gibt es eine Möglichkeit festzustellen, ob ein Benutzer den Inhalt aus dem CDN abgerufen oder aus seinem Cache abgerufen hat?

Offensichtlich macht ein Cache-Hit keine HTTP-Anfrage, aber könnten Sie das testen und Javascript mit den Daten an Ihren eigenen Server zurückmelden?

    
Kevin Burke 21.02.2012, 08:54
quelle

6 Antworten

1

Warum nicht einfach CHARLES oder einen ähnlichen Debug-Proxy verwenden, um die Ladegeschwindigkeit zu bestimmen?

Wenn Sie die Geschwindigkeit aus der Perspektive eines Kunden von mehreren Standorten aus kennen möchten, verwenden Sie Ссылка mit zwei verschiedenen Versionen Ihrer Website (eine mit CDN, einer mit selbst gehosteten statischen Standort) und vergleichen Sie die Ladegeschwindigkeiten. Persönlich, es sei denn, Sie haben viel benutzerdefinierten JavaScript-Code, ist es sinnvoll, ein CDN für jQuery zu verwenden, vor allem da viele Websites die Google Libraries API für jQuery verwenden.

    
3.3volts 29.02.2012, 21:28
quelle
1

Wenn Sie sich bei Ihrem CDN angemeldet haben (scheint es nicht?), könnten Sie die CDN-URL für Testläufe ändern und auch eine Pingback-URL auf Ihrem Server verwenden. Vergleichen Sie die Ping-Back-URL-Treffer und -Zeitpunkte mit Ihren CDN-URL-Treffern und den eindeutigen Besucherzahlen. Vergleichen Sie dies mit der Zeit.

Sie sollten sich eine Vorstellung davon machen können, wie viele einzigartige Treffer auf Ihrer cdn-URL Sie erhalten und welche Treffer Sie auf Ihrer Seite erzielen. Der Unterschied sollte Bots, Scraper und zwischengespeichertes oder fehlgeschlagenes Laden von Ressourcen sein. Bots, die Sie eliminieren können, Scraper wahrscheinlich auch, also sollten Ihre% Altersgruppen über einen ausreichend langen Zeitraum reflektieren.

Würde das für Sie funktionieren?

Wir machen dies auf Nicht-CDN-Ressourcen, um zu sehen, ob Leute die neuesten CSS-Dateien herunterladen oder eine Namensänderung nur bei solchen IPs erzwingen, die nach einer Änderung der CSS-Datei scheinbar eine Ressource zwischengespeichert haben / p>     

MyStream 28.02.2012 20:08
quelle
1

Das Testen für eine 304 (nicht modifiziert) wäre schwierig, ohne Ajax zu verwenden. Und die Verwendung von Ajax wird sehr schwierig sein, es sei denn, Sie umgehen die gleiche Ursprungsrichtlinie auf dem CDN.

Ich nehme an, dass Sie die tatsächliche Zeit testen möchten, in der die Skripte geladen werden und auf den Clients verfügbar werden, und diese Daten mit CDN im Vergleich zu etwas Lokalem vergleichen möchten. Wenn ja, wäre es nicht besser, die tatsächliche Zeit zu testen, anstatt einen Cache-Test durchzuführen?

Es ist ziemlich einfach, einen A / B-Test der tatsächlichen Zeit zu erstellen, zu der die Skripte geladen werden.

Für den A Test könnten Sie die CDN / lokale Trennung durchführen

%Vor%

Und das B testet ein lokales Script oder was auch immer:

%Vor%

Dann melden Sie die _time Variable in Analytics oder Ihre eigene Datenbank mit Ajax. Wenn die B Nutzer niedrigere _time gemeldet haben, wissen Sie, dass es der richtige Weg ist ...

    
David 29.02.2012 11:05
quelle
0

Wenn Sie etwas zu einer Seite hinzufügen möchten, um dies zu testen, können Sie eine ajax-Anforderung zu einem CDN für jQuery hinzufügen und dann die Header für eine 304-Antwort überprüfen. Wenn Sie dann eine zweite Ajax-Anforderung erstellen, um einen Ping-Befehl an Ihren Server zu senden, der Ihnen mitteilt, ob jQuery zwischengespeichert wurde oder nicht, d. H. Ob es sich um eine 200- oder eine 304-Antwort handelt. Ich habe das nicht versucht, aber es sollte funktionieren, aber es wird einige zusätzliche Anforderungen für Ihre Benutzer hinzufügen, aber angesichts der Tatsache, dass sie asynchron sind, würde es wahrscheinlich keine Auswirkungen haben.

    
slashnick 24.02.2012 15:38
quelle
0
%Vor%     
Tracker1 28.02.2012 19:46
quelle
-2

Es lohnt sich immer, Ressourcen von einem CDN zu laden. Der einzige Nachteil ist, ob das CDN geographisch nahe beim Benutzer ist oder nicht. Sie müssen Ihre Zielgruppe überprüfen und entscheiden, ob es besser ist oder nicht. Im Falle von Jquery verwende ich immer Google CDN, was ich für realistisch und robust halte.

    
Alfonso 21.02.2012 10:29
quelle

Tags und Links