暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Apex 20.2 ORDS和Apache Tomcat Windows 2016-准备生产

ASKTOM 2021-02-25
832

问题描述

我已经在Windows 2016服务器上安装并配置了带有ORDS 19和Apache TomCat 9的Apex 20.2。数据库是12c企业版,没有容器DB。我有一个为事件的初始注册而构建的应用程序,我希望3000 5000用户在报纸广告后点击web应用程序。服务器的带宽为1 gbps。由于它是开放注册,我选择了没有身份验证模式,即通过Apex公共用户。我请专家指导我寻找并发用户/会话以及与存储相关的信息。我希望每个条目大约1 MB的图像附件等。提前谢谢。
朱奈德。

专家解答

5000用户同时访问一个网站和5000用户在12小时内访问一个网站之间有很大的不同。

无论如何,您应该考虑进行一些基准测试 (即使只是使用CURL也是一个很好的起点),以查看服务器可以处理的内容。你可以做一些粗略的数学来获得一个开始的猜测,例如

-APEX/ORDS使用连接池,因此每个连接将等同于数据库会话。
-如果您的服务器具有 (例如) 12个内核,则这意味着在CPU上同时具有12个会话之后,您将接近最大限度地使用服务器。
-假设您所做的每个APEX交互都是 (例如) 25% CPU和75% IO。那么这意味着你可以同时处理 (平均) 48个会话 (等于在任何给定的时刻CPU上的12个会话)。
-因此 * 基于上述数字 * 您可能会从 (例如) 40的连接池大小开始,因为超过这一点有可能使服务器最大化,或者至少使其接近其容量。

在上面的场景中,如果您有40多个并发APEX请求,那么有些将等待...这是一件好事,因为它们比等待服务器在负载下崩溃更好。

如果在40的连接池中,您看到服务器以 (例如) 60% 运行,则可以将其调整为稍高,以允许服务器以70等运行。通常进入80% + 标记,你会开始看到不一致的性能 (即,有些人观察到cpu的性能大幅下降,接近最大值)。

当然,所有这些也适用于其他方面-并发磁盘活动与存储性能 (在任何给定时刻消耗的网络带宽量)。例如,1Gb = 100mb = (非常乐观) 100人一次上传1mb,没有考虑到网络通讯的所有开销。因此,即使您拥有功能强大的服务器,也不想使用允许同时上传的连接池大小。

最好对活动的子集进行基准测试,然后提出一些合理但保守的起点。

这里有一些更好的信息

https://www.slideshare.net/Koppelaars/smartdb-office-hours-connection-pool-sizing-concepts
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论