我有一个运行在 8 GB RAM 上的 Ubuntu 机器。规格是 Jave:java 版本 1.6.0_34 Glassfish 版本 = GlassFish Server Open Source Edition 3.1.2.2(内部版本 5)最大堆大小为 1024。
JDBC 设置全部设置为默认值
初始和最小池大小:8 个连接最大池大小:32 个连接池调整大小数量:2 个连接空闲超时:300
秒最大等待时间:60000 毫秒
我预计在高峰期有1000 个并发用户提交表单。在较低的一侧,至少有 300 个并发用户。我的典型数据库操作使用 PreparedStatement 和 Resultset,它们与 Connection 一起在 finally 块中关闭。该项目使用 JSP、Servlet 和 Pojo。我还没有涉足 EJB 和 JPA。
问题 1:JDBC 连接初始和最小池大小:300 连接最大池大小:1000 连接 池调整大小数量:? 空闲超时:300 秒(保持默认?) 最大等待时间:60000 毫秒(保持默认?)
问题2:代码是否应该手动提交?这会提高性能吗?
问题3:由于数据库服务器SQL 2012是共享的,所以有两个项目共享同一个JDBC Connection Pool。我应该把它分开来改进,因为我知道每个人都会运行自己的线程吗?
问题4:如何计算Heap的大小?这是一个好习惯吗?-服务器 -XX:+AggressiveHeap -Xmx3500m -Xms3500m -Xss? -XX:+DisableExplicitGC
很抱歉让它变得很长。
我只是想了解如何扩展服务器?