app.lua 861 B

123456789101112131415161718192021222324252627282930
  1. local cjson = require "cjson"
  2. local mysql = require "resty.mysql"
  3. local math = require "math"
  4. local mysqlconn = {
  5. host = "DBHOSTNAME",
  6. port = 3306,
  7. database = "hello_world",
  8. user = "benchmarkdbuser",
  9. password = "benchmarkdbpass"
  10. }
  11. ngx.header.content_type = 'application/json'
  12. if ngx.var.uri == '/json' then
  13. local resp = {message = "Hello, World!"}
  14. ngx.print( cjson.encode(resp) )
  15. elseif ngx.var.uri == '/db' then
  16. local db, err = mysql:new()
  17. local ok, err = db:connect(mysqlconn)
  18. local num_queries = tonumber(ngx.req.get_uri_args()["queries"]) or 1
  19. local worlds = {}
  20. for i=1, num_queries do
  21. local wid = math.random(1, 10000)
  22. table.insert(worlds, db:query('SELECT * FROM World WHERE id = '..wid)[1])
  23. end
  24. ngx.print( cjson.encode(worlds) )
  25. local ok, err = db:set_keepalive(0, 256)
  26. end