hnlq715 opened a new issue #3502: URL: https://github.com/apache/apisix/issues/3502
### Issue description @membphis We want to try apisix to transcode grpc service api into http directly @douyu. I did some benchmarks over grpc transcode plugin, and get the following results, the diff is about 53%. And I want to know if this result is as expected, or is there any point to improve this? Thanks ahead. * proxy http directly: ``` wrk -t10 -c 10 -d 10s --script=post.lua "http://127.0.0.1:9080/v1/example/http" Running 10s test @ http://127.0.0.1:9080/v1/example/http 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 0.99ms 1.86ms 21.55ms 97.25% Req/Sec 1.37k 228.67 4.49k 90.73% 136420 requests in 10.10s, 36.42MB read Requests/sec: 13507.45 Transfer/sec: 3.61MB ``` * transcode http into grpc: ``` wrk -t10 -c 10 -d 10s "http://127.0.0.1:9080/v1/example/grpc" Running 10s test @ http://127.0.0.1:9080/v1/example/grpc 10 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 9.91ms 14.88ms 70.34ms 81.10% Req/Sec 637.42 382.52 2.24k 70.60% 63462 requests in 10.01s, 22.87MB read Requests/sec: 6340.90 Transfer/sec: 2.29MB ``` ### Environment * apisix version (cmd: `apisix version`): master branch * OS (cmd: `uname -a`): ``` Linux pc 5.4.91-microsoft-standard-WSL2 #1 SMP Tue Feb 2 08:13:47 CST 2021 x86_64 x86_64 x86_64 GNU/Linux ``` * OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`): ``` nginx version: openresty/1.19.3.1 built with OpenSSL 1.1.1h 22 Sep 2020 (running with OpenSSL 1.1.1i 8 Dec 2020) TLS SNI support enabled configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include -I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include' --add-module=../ngx_devel_kit-0.3.1 --add-module=../echo-nginx-module-0.62 --add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 --add-module=../set-misc-nginx-module-0.32 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.08 --add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.19 --add-module=../ngx_lua_upstream-0.07 --add-module=../headers-more-nginx-module-0.33 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 --add-module=../redis-nginx-module-0.3.7 --add-module=../ngx_stream_lua-0.0.9 --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -L/usr/local/openresty/zlib/lib -L/usr/local/openresty/pcre/lib -L/usr/loca l/openresty/openssl111/lib -Wl,-rpath,/usr/local/openresty/zlib/lib:/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl111/lib' --with-pcre-jit --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_v2_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module --with-http_auth_request_module --with-http_secure_link_module --with-http_random_index_module --with-http_gzip_static_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-threads --with-stream --with-http_ssl_module ``` * etcd version, if have (cmd: run `curl http://127.0.0.1:9090/v1/server_info` to get the info from server-info API): ``` 3.4.0 ``` * apisix-dashboard version, if have: Below is a flamegraph generated by perf: [apisix-1.svg.gz](https://github.com/apache/apisix/files/5916517/apisix-1.svg.gz) ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
