From eae798e599e00f079a026bc5867e2fb5cc989d4a Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Sun, 19 Feb 2012 18:28:30 +0100 Subject: [PATCH] increase writebuffer size a lot. --- ChangeLog | 34 +++++++++++++++++++++++++++++++++- include/http/worker.h | 2 +- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c9a041f..bd70a6e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,38 @@ +2012-02-19 18:28:30 +0100 Georg Hopp + + * increase writebuffer size a lot. (HEAD, master) + +2012-02-19 18:15:55 +0100 Georg Hopp + + * fixed the non keep-alive performance issue as well as i lower memory usage by using a single read and write circular buffer for every connection. @TODO: i noticed a server hang while getting large data (my image) with non keep-alive connections. Additionally an incomplete keep-alive request might stop the server now as the lock on the read buffer will not be released. (origin/master, origin/HEAD) + +2012-02-19 15:41:48 +0100 Georg Hopp + + * another try with the shmen trick...this time use MAP_ANONYMOUS ... as GNU extension. + +2012-02-19 14:33:42 +0100 Georg Hopp + + * Merge remote branch 'origin/master' + +2012-02-19 12:13:52 +0100 Georg Hopp + + * added missing header file to repo + 2012-02-19 11:35:15 +0100 Georg Hopp - * another try with a shared memory based ringbuffer...this performs well for keep-alive sessions but is much slower without. actually i am not sure why but most likely the shared memory setup is quite expensive. @TODO: make a profiling. (HEAD, ringbuffer) + * another try with a shared memory based ringbuffer...this performs well for keep-alive sessions but is much slower without. actually i am not sure why but most likely the shared memory setup is quite expensive. @TODO: make a profiling. + +2012-02-18 21:08:32 +0100 Georg Hopp + + * fix inf loop. @TODO: This whole handling has to be cleaned. + +2012-02-18 20:50:01 +0100 Georg Hopp + + * this change hopefully makes the shm trick work on amd64 + +2012-02-18 20:12:27 +0100 Georg Hopp + + * lots of changes but primarily change the request parser to use a ringbuffer. The ringbuffer is implemented using the shared memory trick. 2012-02-15 12:30:33 +0100 Georg Hopp diff --git a/include/http/worker.h b/include/http/worker.h index 86199b3..f436663 100644 --- a/include/http/worker.h +++ b/include/http/worker.h @@ -8,7 +8,7 @@ #include "http/response/writer.h" #include "cbuf.h" -#define RESPONSE_WRITER_MAX_BUF 32768 +#define RESPONSE_WRITER_MAX_BUF 131072 #define REQUEST_PARSER_BUFFER_MAX 8192 #ifndef TRUE