mirror of https://github.com/midoks/mdserver-web
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.5 KiB
75 lines
1.5 KiB
local function target()
|
|
ngx.re.find("hello, world.", [[\w+\.]], "jo")
|
|
end
|
|
for i = 1, 100 do
|
|
target()
|
|
end
|
|
|
|
-- 以上为预热操作
|
|
collectgarbage()
|
|
|
|
local config_domains = {
|
|
[1] = {
|
|
["name"] = "t1.cn",
|
|
["path"] = "/www/wwwroot/t1.cn",
|
|
["domains"] = {
|
|
[1] = "t1.cn",
|
|
[2] = "t3.cn"
|
|
}
|
|
}
|
|
}
|
|
|
|
local function get_server_name(request_name)
|
|
for _,v in ipairs(config_domains)
|
|
do
|
|
for _,cd_name in ipairs(v['domains'])
|
|
do
|
|
if request_name == cd_name then
|
|
return v['name']
|
|
end
|
|
end
|
|
end
|
|
return request_name
|
|
end
|
|
|
|
|
|
local function get_server_name_cache(request_name)
|
|
local cache_name = ngx.shared.limit:get(request_name)
|
|
if cache_name then return cache_name end
|
|
|
|
for _,v in ipairs(config_domains)
|
|
do
|
|
for _,cd_name in ipairs(v['domains'])
|
|
do
|
|
if request_name == cd_name then
|
|
ngx.shared.limit:set(cd_name,v['name'],3600)
|
|
return v['name']
|
|
end
|
|
end
|
|
end
|
|
return request_name
|
|
end
|
|
|
|
|
|
ngx.update_time()
|
|
local begin = ngx.now()
|
|
local N = 1e7
|
|
for i = 1, N do
|
|
get_server_name("t3.cn")
|
|
end
|
|
ngx.update_time()
|
|
|
|
ngx.say("test get_server_name elapsed: ", (ngx.now() - begin) / N)
|
|
|
|
|
|
|
|
|
|
ngx.update_time()
|
|
local begin = ngx.now()
|
|
local N = 1e7
|
|
for i = 1, N do
|
|
get_server_name_cache("t3.cn")
|
|
end
|
|
ngx.update_time()
|
|
|
|
ngx.say("test get_server_name_cache elapsed: ", (ngx.now() - begin) / N) |