web-services - 对于超过 125 个并发用户,Websphere 连接池中最大连接数的理想值应该是多少?
问题描述
目前我正面临来自 websphere 服务器的以下问题,
[5/15/18 6:45:20:959 BST] 0000060d FreePool E J2CA0045E:为资源 jdbc/ICWS 调用方法 createOrWaitForConnection 时连接不可用。
J2CA0045E 错误的根本原因是,
- 在长期运行的 LTC 中使用可共享连接
- 同一线程上的多个连接请求,无需调用 close()
- 应用程序中的连接泄漏
- 长时间运行的查询或缓慢的数据库响应时间
- 最大连接数设置过低
所以我检查了上面提到的所有原因,最后发现最大连接数设置得很低。我面临的困难是找到最大连接的理想数量。我在websphere中部署的webservice有125个并发请求,目前最大连接大小是50。但是我发现还不够。以下是服务器规格,
LPAR 级别的内存使用量为 14 GB 中的 12 GB。
堆:
- 初始堆 - 512
- 最大堆大小 – 2560
我可以使用上述服务器规格将最大连接值设置为 200 或更多吗?
或者
这个参数有理想值吗?
解决方案
There is no fixed answer that applies to all usage patterns. It's a matter of tuning. For a starting point, a good guideline is that if you have a web service that requires a single connection each time it is called, then aim to have the maximum number of concurrent web service requests and maximum number of connections match.
推荐阅读
- android - 他们是否有任何方式将 Google Play 计费添加到 Python 项目中?
- windows - Windows 更新安装在 Amazon SSM 日志中,但在更新历史记录中检查时失败
- python - 无法在 Mac M1 上安装 TensorFlow。安装过程中遇到错误
- discord - Discord bot,允许成员将角色分配给其他成员
- laravel - 如何使用 Laravel 在 MySQL 中扫描条形码并保存条形码下的详细信息数据?
- .net - 无法在 Linux 上的 .NET 应用程序中加载动态库
- c# - 输入 {set; 的含义 get;} 在一个值上 - C#
- c# - 如何为 .NET 项目使用包含和使用(在代码中)自述文件(或其他文本)?
- javascript - Javascript切换按钮在不同设备上无法控制
- javascript - 保存令牌是邮递员 envvar 自动不起作用