Opened 12 years ago
Closed 12 years ago
#226 closed defect (invalid)
memcache_pass returns malformed content with big results
Reported by: | Oscar Gentilezza | Owned by: | somebody |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-module | Version: | 1.2.x |
Keywords: | memcache, memcached, HttpMemcachedModule | Cc: | tioscar@… |
uname -a: | Linux ****.onlinehome-server.com 2.6.18-028stab099.3 #1 SMP Wed Mar 7 15:20:22 MSK 2012 x86_64 GNU/Linux | ||
nginx -V: | 1.2.3 and 1.2.1 |
Description
Hi,
i'm trying to use HttpMemcachedModule in my server and i found that when it returns the memcache's content, nginx sends a page with binary content without format.
At first I thought it was a coding issue (gzip) and i lose a lot of time with it, then making several tests i realize doesn't have any logic and it was repeated in different pages, while the memcached's data were saved in correct way.
In order to reach a certain size of content, nginx send it broke (with binary code)
I tried modifying the memcached_buffer_size with differents sizes with no result.
I left an active configuration so you can see it by yourselves.
http://testmcngx.exodica.com.ar/test?chars=1
http://testmcngx.exodica.com.ar/test?chars=15
http://testmcngx.exodica.com.ar/test?chars=20
(just in this moment zoneedit is down, and my domain don't works)
If you see the first 2 links work fine, but the 3th fail (remember first time create the cache, so you must press F5 to see the cached page)
If you want to see the source code
http://testmcngx.exodica.com.ar/test?view_code
This is the nginx configuration
server { listen 80; server_name testmcngx.exodica.com.ar; include /etc/nginx/proxy_params; location / { set $memcached_key "testmcngx:$uri?$args"; memcached_pass localhost:11211; default_type text/html; error_page 404 = @fallback; } location @fallback { proxy_pass http://localhost:8080; } }
About nginx, I am on a Ubuntu Server, but the sources are compiled with this parameters in the configure:
./configure --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --with-debug --with-http_stub_status_module --with-http_flv_module --with-http_ssl_module --with-http_dav_module --with-ipv6 --with-http_gzip_static_module
I test it on version 1.2.3 and 1.2.1 and both fails
Thanks and excuse my bad english.
This *is* compression, which is activated by your memcached client as long as key is big enough. It's not gzip though, it's zlib. In php using PECL memcache, use $m->setCompressThreshold(0); to disable compression.