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]


Reply via email to