Ich stocherte gerade um Nodejs und Phantomjs erkunden und schrieb einen kleinen Code, um die Ladezeit der Seite zu messen. Ich habe festgestellt, dass sich die Seitenladezeiten zwischen den Phantomjs-Codes, die in Nodejs eingeschlossen sind, unterscheiden, verglichen mit reinem Phantomjs-Code. Unten ist der Code: PhantomJS und NodeJS zum Vergleich:Nodejs + Phantomjs vs reine Phantomjs - Ladezeit der Seite
NodeJS:
var http = require('http'),
phantom = require('phantom');
url = require("url");
http.createServer(function (request, response) {
var start = Date.now();
request.on('end', function() {
phantom.create(function(ph) {
ph.createPage(function(page) {
var _get = url.parse(request.url, true).query;
page.open(_get[url], function(status) {
if (status == 'success') {
var time = Date.now() - start;
console.log(time);
}
});
});
});
});
}).listen(80,'');
PhantomJS:
var page = require('webpage').create();
var system = require('system');
var address = system.args[1];
var time = 0;
var start = Date.now();
page.open(address, function (status) {
time = Date.now() - start;
console.log(time + '');
});
Es ist in der Regel länger 4 Mal, wenn eine Website über PhantomJS testen. Irgendwelche Ideen?
Dump den Netzwerkverkehr von PhantomJS (für beide Fälle) und vergleichen Sie sie. Siehe https://github.com/ariya/phantomjs/wiki/Network-Monitoring. –
Bitte können Sie klären, direkte phantomjs Anruf ist 4 mal länger als phantomjs & nodejs? –
http://phantomjs.org/network-monitoring.html (Neuer Link) –