Hoi,
Weet iemand waarom het 1.3+ seconden duurt om de pagina te laden?
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var express = require("express")
, app = express()
, info = require("./info")
, exec = require("child_process").exec;
app.set("view engine", "jade");
app.set("views", __dirname + "/views");
app.use(express.static("static"));
info.renew(function() {
function addZero(n) {
return (n < 9 ? n += "0" : n);
}
var infoTable = {
"Model": ["B+", "false"],
"Uptime": [info.get("Uptime"), "uptime"],
"Load average": [info.get("Load"), "load"],
"RAM usage": [info.get("Ram"), "ram"],
"Temperature": [info.get("Temp"), "temp"],
"Current clockspeed": [info.get("Current clockspeed"), "false"]
};
var updateDate = new Date();
app.get("/", function(req, res) {
res.render("index", {info: infoTable, updateDate: updateDate.getDate() + "-" + (updateDate.getMonth() + 1) + "-" + updateDate.getFullYear() + " " + updateDate.getHours() + ":" + addZero(updateDate.getMinutes()) + ":" + addZero(updateDate.getSeconds()) });
});
app.get("/update.json", function(req, res) {
res.setHeader("Content-type", "application/json");
res.send(JSON.stringify(infoTable));
});
app.listen(80);
console.log("Running");
setInterval(function() {
info.renew(function() {
infoTable = {
"Model": ["B+", "false"],
"Uptime": [info.get("Uptime"), "uptime"],
"Load average": [info.get("Load"), "load"],
"RAM usage": [info.get("Ram"), "ram"],
"Temperature": [info.get("Temp"), "temp"],
"Current clockspeed": [info.get("Current clockspeed"), "false"]
};
updateDate = new Date();
console.log("updated.");
});
}, 10000);
});
http://pi.dylaan.nl/
duurt hier 1.3 seconden
http://pi.dylaan.nl/update.json
duurt hier 54ms
ik denk dat het aan Jade ligt? update.json en de index maken beide gebruik van infoTable dus denk niet dat het aan deze file ligt:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var exec = require("child_process").exec;
module.exports = {
data: [],
get: function(item) {
if(typeof this.data[item] != undefined) {
return this.data[item];
}
return undefined;
},
renew: function(callback) {
var that = this;
exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", function(err, result, errout) {
that.data["Current clockspeed"] = (result / 1000) + " MHz";
exec("cat /proc/uptime", function(err, result, errout) {
var uptime = parseInt(result.split(" ")[0]);
var days = Math.floor(uptime / 86400),
uptime = ( uptime % 86400),
hours = Math.floor(uptime / 3600),
uptime = ( uptime % 3600),
minutes = Math.floor(uptime / 60);
that.data["Uptime"] = days + " day" + (days == 1 ? " " : "s ") + hours + " hour" + (hours == 1 ? " " : "s ") + minutes + " minute" + (minutes == 1 ? "" : "s");
exec("cat /proc/loadavg", function(err, result, errout) {
var load = result.split(" ");
that.data["Load"] = load[0] + ", " + load[1] + ", " + load[2];
exec("cat /proc/meminfo | grep MemFree", function(err, result, errout) {
var ram = "";
result = result.match(/(d)+/);
ram += 483 - (Math.round(result[0] / 1024)) + "M/";
exec("cat /proc/meminfo | grep MemTotal", function(err, result, errout) {
result = result.match(/(d)+/);
ram += (Math.round(result[0] / 1024)) + "M";
that.data["Ram"] = ram;
exec("cat /sys/class/thermal/thermal_zone0/temp", function(err, result, errout) {
that.data["Temp"] = (result / 1000) + " °C";
callback();
});
});
});
});
});
});
}
};
jade:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
doctype html
html(lang="en")
head
meta(charset="UTF-8")
meta(name="robots", content="noindex, nofollow")
meta(name="googlebot", content="noindex, nofollow")
title pi.dylaan.nl
link(href="/style.css", rel="stylesheet")
script(src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js")
script(src="/index.js")
body
#container
h1 Welcome on my Raspberry Pi!
p This Raspberry Pi is used for hosting smalll, private websites. Here are some statics about the Pi:
.someSpace
table
each val, index in info
tr
td= index
td(data-update=val[1])!= val[0]
.someSpace
p(style="text-align:center;") Last update: #{updateDate}
Heb gevonden dat het aan de server code ligt;
Afbeelding niet beschikbaarDe bron kon niet worden geladen (i.imgur.com).Bron openen ↗
Weet iemand waarom het 1.3+ seconden duurt om de pagina te laden?
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
var express = require("express")
, app = express()
, info = require("./info")
, exec = require("child_process").exec;
app.set("view engine", "jade");
app.set("views", __dirname + "/views");
app.use(express.static("static"));
info.renew(function() {
function addZero(n) {
return (n < 9 ? n += "0" : n);
}
var infoTable = {
"Model": ["B+", "false"],
"Uptime": [info.get("Uptime"), "uptime"],
"Load average": [info.get("Load"), "load"],
"RAM usage": [info.get("Ram"), "ram"],
"Temperature": [info.get("Temp"), "temp"],
"Current clockspeed": [info.get("Current clockspeed"), "false"]
};
var updateDate = new Date();
app.get("/", function(req, res) {
res.render("index", {info: infoTable, updateDate: updateDate.getDate() + "-" + (updateDate.getMonth() + 1) + "-" + updateDate.getFullYear() + " " + updateDate.getHours() + ":" + addZero(updateDate.getMinutes()) + ":" + addZero(updateDate.getSeconds()) });
});
app.get("/update.json", function(req, res) {
res.setHeader("Content-type", "application/json");
res.send(JSON.stringify(infoTable));
});
app.listen(80);
console.log("Running");
setInterval(function() {
info.renew(function() {
infoTable = {
"Model": ["B+", "false"],
"Uptime": [info.get("Uptime"), "uptime"],
"Load average": [info.get("Load"), "load"],
"RAM usage": [info.get("Ram"), "ram"],
"Temperature": [info.get("Temp"), "temp"],
"Current clockspeed": [info.get("Current clockspeed"), "false"]
};
updateDate = new Date();
console.log("updated.");
});
}, 10000);
});
http://pi.dylaan.nl/
duurt hier 1.3 seconden
http://pi.dylaan.nl/update.json
duurt hier 54ms
ik denk dat het aan Jade ligt? update.json en de index maken beide gebruik van infoTable dus denk niet dat het aan deze file ligt:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
var exec = require("child_process").exec;
module.exports = {
data: [],
get: function(item) {
if(typeof this.data[item] != undefined) {
return this.data[item];
}
return undefined;
},
renew: function(callback) {
var that = this;
exec("cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq", function(err, result, errout) {
that.data["Current clockspeed"] = (result / 1000) + " MHz";
exec("cat /proc/uptime", function(err, result, errout) {
var uptime = parseInt(result.split(" ")[0]);
var days = Math.floor(uptime / 86400),
uptime = ( uptime % 86400),
hours = Math.floor(uptime / 3600),
uptime = ( uptime % 3600),
minutes = Math.floor(uptime / 60);
that.data["Uptime"] = days + " day" + (days == 1 ? " " : "s ") + hours + " hour" + (hours == 1 ? " " : "s ") + minutes + " minute" + (minutes == 1 ? "" : "s");
exec("cat /proc/loadavg", function(err, result, errout) {
var load = result.split(" ");
that.data["Load"] = load[0] + ", " + load[1] + ", " + load[2];
exec("cat /proc/meminfo | grep MemFree", function(err, result, errout) {
var ram = "";
result = result.match(/(d)+/);
ram += 483 - (Math.round(result[0] / 1024)) + "M/";
exec("cat /proc/meminfo | grep MemTotal", function(err, result, errout) {
result = result.match(/(d)+/);
ram += (Math.round(result[0] / 1024)) + "M";
that.data["Ram"] = ram;
exec("cat /sys/class/thermal/thermal_zone0/temp", function(err, result, errout) {
that.data["Temp"] = (result / 1000) + " °C";
callback();
});
});
});
});
});
});
}
};
jade:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
doctype html
html(lang="en")
head
meta(charset="UTF-8")
meta(name="robots", content="noindex, nofollow")
meta(name="googlebot", content="noindex, nofollow")
title pi.dylaan.nl
link(href="/style.css", rel="stylesheet")
script(src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js")
script(src="/index.js")
body
#container
h1 Welcome on my Raspberry Pi!
p This Raspberry Pi is used for hosting smalll, private websites. Here are some statics about the Pi:
.someSpace
table
each val, index in info
tr
td= index
td(data-update=val[1])!= val[0]
.someSpace
p(style="text-align:center;") Last update: #{updateDate}
Heb gevonden dat het aan de server code ligt;
Afbeelding niet beschikbaarDe bron kon niet worden geladen (i.imgur.com).Bron openen ↗