You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何测试WSO2 APIM性能?OKD部署4.0.0版本配置求指导

WSO2 API Manager 4.0.0(OKD集群架构)性能测试实操指引

你这套2GW+2CP+2TM的集群架构是官方标准的生产最小集群,直接按下面的步骤配置、执行测试即可,参数都是对齐4.0版本官方性能基准的实测可用配置。

前置准备

  • 检查OKD集群的资源配额规则,临时关闭WSO2节点对应的HPA自动伸缩、Pod自动驱逐策略,避免测试过程中弹性调度干扰基准数据;所有节点建议预留至少20%的空闲CPU、内存资源,不要把节点资源跑满到100%。
  • 全量备份所有节点的deployment.toml配置、OKD路由/Service/StatefulSet资源定义,测试结束可快速回滚到生产配置。
  • 调整所有WSO2 Pod的安全上下文,将容器内进程的最大文件句柄数nofile软、硬限制均设置为65535,避免高并发下出现句柄耗尽报错。
  • 压测客户端部署在OKD集群内网,直接通过内网Service地址访问网关,不要走公网入口,避免公网带宽、跨网延迟成为测试瓶颈。

分节点配置调整

所有配置修改后等待对应Pod滚动重启完成,确认服务正常后再继续下一步操作。

通用JVM配置(所有节点统一调整)

直接修改对应工作负载的环境变量JVM_MEM_OPTS即可,按节点分配的资源规格匹配参数:

  • 节点为8C16G规格时,固定堆内存为8G:-Xms8g -Xmx8g -Xmn4g,不要开启JVM自适应堆调整,避免运行时堆动态波动影响性能。
  • 追加GC日志参数方便后续问题排查:-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/wso2carbon/wso2am-4.0.0/repository/logs/gc.log
  • 移除JVM参数中所有调试、审计、远程监控类的非必要参数,减少额外性能开销。

网关(GW)节点专项配置

网关是压力承载的核心节点,修改repository/conf/deployment.toml添加/调整以下参数:

[transport.http]
listener.worker_pool_size_core = 400
listener.worker_pool_size_max = 500
listener.queue_size = 0
[transport.https]
listener.worker_pool_size_core = 400
listener.worker_pool_size_max = 500
listener.queue_size = 0
[apim.gateway]
enable_token_caching = true
token_cache_expiry = 900
enable_resource_caching = true

额外注意:如果GW节点前挂了OKD默认的HAProxy路由,需要修改路由配置,将连接超时调整为300s,最大连接数上限调到10000,避免压测时路由层先被打满。

控制平面(CP)节点专项配置

如果测试场景不覆盖管理面、开发者门户性能,优先减少CP节点的非必要开销:

[apim.analytics]
enable = false  # 非分析场景测试时临时关闭,避免数据上报占用资源
[database.shared_db]
pool_options.maxActive = 100
pool_options.maxWait = 30000
[database.apim_db]
pool_options.maxActive = 100
pool_options.maxWait = 30000

流量管理器(TM)节点专项配置

TM负责令牌生成、限流规则下发,调整线程池和流控参数:

[apim.throttling]
enable_blacklist_condition = false
jms_connection_factory.max_connections = 200
[apim.throttling.flow_control]
enable = false  # 基准性能测试时临时关闭,测限流能力场景再开启

测试执行流程

  • 预热阶段:配置全部生效后,先以100并发的低流量持续压10分钟,等JIT编译完成、各类缓存加载完毕后再正式记录数据,避免初始阶段的性能数据偏低不准。
  • 梯度加压:从100并发开始,每次提升100并发,每个并发梯度稳定运行5分钟,同步记录对应TPS、99线响应延迟、错误率、各节点CPU/内存/GC指标,不要一次性打满流量。
  • 基准场景覆盖:常规需要测三类核心场景,数据才有参考价值
    • 无认证直通API调用:测试网关本身的HTTP转发性能基线
    • JWT/OAuth2令牌认证API调用:模拟真实业务场景,测试令牌校验+业务转发的性能
    • 限流规则生效场景:开启TM流控,测试限流规则下的网关处理能力
  • 指标采集:直接复用OKD集群自带的Prometheus+Grafana栈采集Pod资源指标,同时同步保存WSO2的访问日志、GC日志,方便出现异常时定位根因。

常见踩坑

  • 压测前一定要检查WSO2对接的底层数据库(共享DB、AM_DB、UM_DB)的最大连接数配置,确保连接数上限大于各节点配置的连接池总和,否则压测过程中会出现大量数据库连接耗尽导致的500错误。
  • 压测客户端要开启HTTP连接复用,不要每个请求都新建HTTPS连接,否则握手开销会占掉大量性能,测试结果比实际业务场景偏低30%以上。
  • 如果测试过程中出现集群节点负载不均的情况,检查OKD kube-proxy的负载均衡模式,以及GW节点Service的会话亲和性配置,确保流量能均匀打到两个GW节点上。

内容的提问来源于stack exchange,提问作者nankiesof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 21:09:18