wrk一次测试多个http/https网址

一致想用wrk一次发多个url测试,想着怎么改脚本,在github上看到一个项目,介绍过来吧。
https://github.com/timotta/wrk-scripts

wrk -c 100 -t 4 -d 30s -s wrk-scripts/multiplepaths.lua http://localhost
需要创建一个文件名为path.txt, 里面每行是一个要测试的网址

#cat multiplepaths.lua

counter = 0

-- Initialize the pseudo random number generator - http://lua-users.org/wiki/MathLibraryTutorial
math.randomseed(os.time())
math.random(); math.random(); math.random()

function file_exists(file)
  local f = io.open(file, "rb")
  if f then f:close() end
  return f ~= nil
end

function shuffle(paths)
  local j, k
  local n = #paths
  for i = 1, n do
    j, k = math.random(n), math.random(n)
    paths[j], paths[k] = paths[k], paths[j]
  end
  return paths
end

function non_empty_lines_from(file)
  if not file_exists(file) then return {} end
  lines = {}
  for line in io.lines(file) do
    if not (line == '') then
      lines[#lines + 1] = line
    end
  end
  return shuffle(lines)
end

paths = non_empty_lines_from("paths.txt")

if #paths <= 0 then
  print("multiplepaths: No paths found. You have to create a file paths.txt with one path per line")
  os.exit()
end

print("multiplepaths: Found " .. #paths .. " paths")

request = function()
    path = paths[counter]
    counter = counter + 1
    if counter > #paths then
      counter = 0
    end
    return wrk.format(nil, path)
end

猜你喜欢

转载自blog.csdn.net/juewuer/article/details/78683538