goaccess参考:https://blog.csdn.net/aganliang/article/details/103132888
1. Jmeter 设置如下:
即500个用同时请求200次。
该API接口的流量设置是:
--data 'config.second=500' --data "config.policy=local"
kong的上游有两个targets做负载均衡。
2. goaccess 同时实时分析kong、openresty的access.log,设置如下:
# kong access.log
goaccess -m /usr/local/kong/logs/access.log -o /usr/local/openresty/nginx/html/report.html
-p /usr/local/kong/logs/goaccess.conf --real-time-html
# openresty 8083.access.log
goaccess /usr/local/openresty/nginx/logs/8083.access.log
-o /usr/local/openresty/nginx/html/report-8083.html
-p /usr/local/openresty/nginx/logs/goaccess.conf --real-time-html --port=7891
# openresty 8085.access.log
goaccess /usr/local/openresty/nginx/logs/8085.access.log
-o /usr/local/openresty/nginx/html/report-8085.html
-p /usr/local/openresty/nginx/logs/goaccess.conf --real-time-html --port=7892
通过goaccess的实时日志可以得出:
kong日志总量是 67625,其中 2xx 成功:65916; 4xx 客户端错:1709
上游target-1 的日志总量是:32861
上游target-2 的日志总量是:33055
可以看到:32861 + 33055 = 65916 。即4xx 客户端错的1709个请求因为kong的流量限制,没有到达上游服务。
2xx 成功的请求,都到达了上游服务。
负载均衡的日志很平均。
并且,系统可以支撑500个用户并发。