如果想直接测试Kong网关的性能,最好是请求到达网关后取本地资源后直接返回,而不是经过域名解析、负载、转发等等耗时。
本文所用的Kong是2.1.0版本,配置请求返回一个txt文件。(nginx 下那种alias方式在kong中好像无效,如博客 )
找到你服务器的 nginx_kong.lua 文件,或在Idea中找到nginx_kong.lua 文件,如图
打开后搜索下 location = /kong_error_handler ,在其上增加 如下代码即可。
location /a.txt {return 200 'request access';}
效果如下:
注意,kong的error日志会有如下两个warn
[warn]23075#0:*225766275[lua]reports.lua:75:log():[reports]couldnotdeterminelogsuffix(scheme=http,proxy_mode=)whileloggingrequest,client: xxx server:kong,request:"HEAD/a.txtHTTP/1.0"
[warn]23075#0:*225766275usinguninitialized"kong_proxy_mode"variablewhileloggingrequest,client:xxx,server:kong,request:"HEAD/a.txtHTTP/1.0"
如下即可:
location /a.txt {default_type '';set $kong_proxy_mode 'http';proxy_http_version 1.1;proxy_set_headerTE $upstream_te;proxy_set_headerHost$upstream_host;proxy_set_headerUpgrade $upstream_upgrade;proxy_set_headerConnection $upstream_connection;proxy_set_headerX-Forwarded-For $upstream_x_forwarded_for;proxy_set_headerX-Forwarded-Proto $upstream_x_forwarded_proto;proxy_set_headerX-Forwarded-Host $upstream_x_forwarded_host;proxy_set_headerX-Forwarded-Port $upstream_x_forwarded_port;proxy_set_headerX-Forwarded-Prefix $upstream_x_forwarded_prefix;proxy_set_headerX-Real-IP$remote_addr;proxy_pass_headerServer;proxy_pass_headerDate;proxy_ssl_name $upstream_host;proxy_ssl_server_name on; return 200 'request access';}