我以这种方式分发WSO2 API Manager v2.2.0,每个服务器1个组件:流量,发布者,存储,密钥管理器和网关。安装完成后,我根据文档tuning performance和{{3}}进行了调整,但最大TPS约为200.使用wireshark,我注意到网关只打开了两个与密钥管理器的同时连接,这是正常的行为?任何帮助将不胜感激。
以下是我的配置:
nhttp.properties
snd_t_core=200
snd_t_max=250
snd_alive_sec=5
snd_qlen=-1
snd_io_threads=4
lst_t_core=200
lst_t_max=750
lst_alive_sec=5
lst_qlen=-1
lst_io_threads=4
http.socket.reuseaddr=true
passthru-http.properties
worker_pool_size_core=400
worker_pool_size_max=500
# worker_thread_keepalive_sec=60
worker_pool_queue_length=-1
io_threads_per_reactor=4
io_buffer_size=16384
http.max.connection.per.host.port=32767
http.socket.reuseaddr=true
卡塔利娜-server.xml中
maxThreads="750"
minSpareThreads="150"
disableUploadTimeout="false"
enableLookups="false"
connectionUploadTimeout="120000"
maxKeepAliveRequests="600"
acceptCount="600"
API-manager.xml
<APIKeyValidator>
<ServerURL>https://key-manager.net:9443/services/</ServerURL>
<Username>username</Username>
<Password>password</Password>
<KeyValidatorClientType>WSClient</KeyValidatorClientType>
<ThriftClientConnectionTimeOut>10000</ThriftClientConnectionTimeOut>
<EnableThriftServer>false</EnableThriftServer>
<ThriftServerHost>localhost</ThriftServerHost>
<!--ThriftServerPort>10397</ThriftServerPort-->
<ConnectionPool>
<MaxIdle>750</MaxIdle>
<InitIdleCapacity>50</InitIdleCapacity>
</ConnectionPool>
<KeyValidationHandlerClassName>org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler</KeyValidationHandlerClassName>
</APIKeyValidator>
答案 0 :(得分:0)
对于gateway-keymanager连接没有这样的限制。默认情况下,网关中有一个令牌缓存,如果您在负载测试中重复使用令牌,那么与keymanager的连接很少是正常的。这根本不是问题。
请查看WSO2 APIM clustering - how to improve the response time?
正如我在其中提到的,如果您启用分析,您可以了解请求流的哪个部分导致大部分延迟。