Wenn ich versuchte curl www.yelp.com
dauert es 1,1 Sekunden. Das Abrufen der Seite mit CasperJS dauert jedoch über eine Minute!CasperJS/PhantomJS viel langsamer als Curl
Ist das normal? Wie finde ich heraus, was Casper/Phantom verlangsamt? Ich vermute seine HTTP-Weiterleitungen, die Casper nicht folgt?
var casper = require('casper').create();
var url = 'http://www.yelp.com';
casper.start(url);
casper.then(function() {
console.log( this.getHTML());
this.exit();
});
casper.run();
Danke für die Einsicht. Ich habe die Quest mit der HAR-Ausgabe von netsniff.js aktualisiert. Scheint so, als ob die ersten 2 .js-Dateien, die 30 Sekunden dauern, von Google stammen, und die 3.js-Datei ist jQuery.min.js, gehostet von GoogleCDN. Irgendwelche Ideen, warum diese .js-Dateien so langsam sind? – Nyxynyx
Das erfordert wahrscheinlich das Öffnen einer anderen Frage: Kann PhantomJS diese gemeinsamen js-Dateien zwischenspeichern und sie mit zukünftigen Phantom-Instanzen teilen, die ausgeführt werden? – Nyxynyx
Haben Sie es mehrmals ausgeführt? Wenn jedes Mal es immer so langsam wie 30 Sekunden ist, fürchte ich, dass nur ein Low-Level-Netzwerk-Tracing (z. B. Wireshark) einige Hinweise aufdecken wird. –