]> granicus.if.org Git - apache/commit
With the current implementation, it is likely to connect/close a socket with the...
authorChristophe Jaillet <jailletc36@apache.org>
Sat, 15 Aug 2015 22:05:08 +0000 (22:05 +0000)
committerChristophe Jaillet <jailletc36@apache.org>
Sat, 15 Aug 2015 22:05:08 +0000 (22:05 +0000)
commita369776b21077a7f64d400f14cc865c07d64f4e4
tree2c25be2f02cfdb8e64e0c26f4b186362b1018d16
parent1a3158ad94c92639e07d4c3ef74dd019dbc485db
With the current implementation, it is likely to connect/close a socket with the memcache server for each command sent.
The root cause is a too small idle timeout (600 microseconds).

Add a new directive, 'MemcacheConnTTL',  to control this idle connection timeout with the memcache server(s).
Change the default value from 600 usec (!) to 15 sec as per Yann suggestion.

I've limited accepted values from 1 to 1800 seconds (half an hour) because internaly, the value passed to 'apr_memcache_server_create' is still in mirco-seconds.

PR 58091
~~~~~~~~~~~~~~~~~~~_
Homemade measurement (on a slighly modified version of httpd) shows a +30% in number of processed requests using memcache to cache /index.html.
Comparison made between the 600 usec and 15 sec TTL.

Memcache config:
    default
httpd Config:
    CacheEnable socache /
    CacheSocache memcache:127.0.0.1
    LoadModule mpm_event_module modules/mod_mpm_event.so
httpd compiled with:
    ./configure --enable-mpms-shared=all --with-included-apr --with-mysql --with-libxml2 --enable-modules=reallyall --enable-ssl-ct=no --enable-maintainer-mode --prefix=$HOME/httpd-2.5
httpd and memcache running on the same VM running under Ubuntu 15.04
Load tested using:
    ab -n 20000 http://127.0.0.1/index.html

Creation/closing of connections beetween httpd and memcache confirmed using the telnet connection to memcache and the stats command

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1696105 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
docs/manual/mod/mod_socache_memcache.xml
modules/cache/mod_socache_memcache.c