8 GB の RAM で実行されている Ubuntu ボックスがあります。仕様は Jave です: Java バージョン 1.6.0_34 Glassfish バージョン = GlassFish サーバー オープン ソース エディション 3.1.2.2 (ビルド 5) 最大ヒープ サイズは 1024 です。
JDBC設定はすべてデフォルト値に設定されています
初期および最小プール サイズ: 8 接続 最大プール サイズ: 32 接続 プールのサイズ変更数:2 接続 アイドル タイムアウト: 300
秒 最大待機時間: 60000 ミリ秒
フォームを送信する最大1000 人の同時ユーザーを期待しています。下側では、少なくとも 300 人の同時ユーザー。私の典型的なデータベース操作は、PreparedStatement と Resultset を使用し、それらは接続と共に Final ブロックで閉じられます。このプロジェクトでは、JSP、サーブレット、Pojo を使用しています。EJB と JPA にはまだ足を踏み入れる必要があります。
質問 1 : JDBC 接続の初期および最小プール サイズ: 300 接続最大プール サイズ: 1000 接続 プールのサイズ変更数量: ? アイドル タイムアウト: 300 秒 (デフォルトのままにしますか?) 最大待機時間: 60000 ミリ秒 (デフォルトのままにしますか?)
質問 2: コードは手動でコミットする必要がありますか? これによりパフォーマンスが向上しますか?
質問 3: データベース サーバー SQL 2012 が共有されているため、2 つのプロジェクトが同じ JDBC 接続プールを共有しています。それぞれが独自のスレッドを実行することを理解しているので、改善するために分離する必要がありますか?
質問 4: ヒープのサイズを計算する方法は? これは良い習慣ですか?-server -XX:+AggressiveHeap -Xmx3500m -Xms3500m -Xss? -XX:+DisableExplicitGC
とても長くなってすみません。
サーバーをスケーリングする方法を理解したいだけですか?