2012/09/24 15:08:13 [error] 4604#0:
*1472988 lua socket connect timed out, client: 172.16.8.10, server: dbtest1,
request: "GET /test1 HTTP/1.1", host: "192.168.13.63"
redis使用的sample代码的set/get部分,新建连接后尝试red:set_keepalive(0, 100)或者red:close(),两种情况下均会出现上述报错。
nginx使用的tengine 1.3.0, luagit是最新版本(stable版本不支持64bit?). 连接数在大约4000左右就达到了瓶颈, 3000左右就开始出现大量的socket connect time out错误。所有请求都返回了200.
content_by_lua '
local redis = require "resty.redis"
local red = redis:new()
red:set_timeout(1000) -- 1 sec
-- or connect to a unix domain socket file listened
-- by a redis server:
-- local ok, err = red:connect("unix:/path/to/redis.sock")
local ok, err = red:connect("127.0.0.1", 6379)
if not ok then
ngx.say("failed to connect: ", err)
return
end
ok, err = red:set("dog", "an aniaml")
if not ok then
ngx.say("failed to set dog: ", err)
return
end
ngx.say("set result: ", res)
local res, err = red:get("dog")
if not res then
ngx.say("failed to get dog: ", err)
return
end
if res == ngx.null then
ngx.say("dog not found.")
return
end
ngx.say("dog: ", res)
-- or just close the connection right away:
local ok, err = red:close()
if not ok then
ngx.say("failed to close: ", err)
return
end
';