On Wednesday, 9 May 2018 at 22:37:22 UTC, Arun Chandrasekaran
wrote:
That could be the reason for slowness.
Ubuntu 17.10 64 bit, DMD v2.079.1, E7-4860, 8 core 32 GB RAM.
With slight modifcaition to capture the timestamp of the
request on the server:
import std.datetime.systime : Clock;
auto tm = Clock.currTime().toISOExtString();
writeln(tm, " My Thread Id: ", to!string(thisThreadID));
// simulate long runnig task
Thread.sleep(dur!("seconds")(3));
if (req.path == "/")
res.writeBody(tm ~ " Hello, World! from " ~
to!string(thisThreadID), "text/plain");
Launch two parallel curls.. and here is the server log..
Master 13284 is running
[vibe-6(5fQI) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-7(xljY) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-2(FVCk) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-3(peZP) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-8(c5pQ) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-4(T/oM) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-5(zc5i) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-1(Rdux) INF] Listening for requests on
http://0.0.0.0:8080/
[vibe-0(PNMK) INF] Listening for requests on
http://0.0.0.0:8080/
2018-05-09T15:32:41.5424275 My Thread Id: 140129463940864
2018-05-09T15:32:44.5450092 My Thread Id: 140129463940864
2018-05-09T15:32:56.3998322 My Thread Id: 140129463940864
2018-05-09T15:32:59.4022579 My Thread Id: 140129463940864
2018-05-09T15:33:12.4973215 My Thread Id: 140129463940864
2018-05-09T15:33:15.4996923 My Thread Id: 140129463940864
PS: Your top posting makes reading your replies difficult
I have change my example a little:
case "/": res.writeBody("Hello World " ~ to!string(thisThreadID),
"text/plain");
And I get this (siege -p -c15 0b -t 10s http://127.0.0.1:3000 |
grep World | sort | uniq):
Hello World 140064214951680
Hello World 140064223344384
Hello World 140064231737088
Hello World 140064240129792
Hello World 140064248522496
Hello World 140064256915200
Si I get six different thread ids, which is OK because I have 6
cores