GroupSession
施設予約の実行処理が遅くて困っております。予約対象の施設とスケジュールへの登録者を選んだ後の確定を行う画面にて「確定」ボタンをおしてから予約情報の完了が完了したとのメッセージが出るまでの処理が長いです。施設には承認が必要と設定しているのですが、これを外すと早くなります。運用上この設定を外すのは難しいので今の状態のまま改善を図りたいのですが何かありますでしょうか?実行環境は以下のようになっております。Version:4.8.2OS:CentOS 7.5.1804CPUのコア数:2Coreメモリ:4GBJ2EEコンテナ:Apache Tomcat 9.0.10Java:1.8.0_181 Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)Webサーバ:Apache 2.4.6Tomcatのメモリ設定 CATALINA_OPTS='-XX:MaxPermSize=128m -Xmx2048m -Xms1024m'
始めまして、伊藤と申します。的が外れているかもしれませんが、GroupSessionの動作要件にTomcat9は入っていましたか?また、JAVAのパラメータで、Java8以降は「-XX:MaxPermSize」は無効だったと記憶しています。弊社の環境では、承認あり・なしに関わらず、極端にレスポンス悪化となるような状況にはありませんでした。サポート・オプションライセンス情報・登録済ユーザ数 128人 サーバ情報・Version 4.8.0 (4.8.0)・OS Linux 64bit 2.6.32-696.18.7.el6.x86_64・CPUのコア数 4Core・JVMビットモード amd64・J2EEコンテナ Apache Tomcat/8.0.50・Java 1.8.0_162 Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)・メモリ使用 3,047MB (74.4%)・メモリ最大 4,096MB・現在の空きディスク容量 370GB (379493MB)
ご返信いただきましてありがとうございます。Tomcatのバージョンですが、4.8.2の動作要件に7.0.x8.5.x9.0.x以上の3つの記載がありましたので今回9.0.10を利用いたしました。念のため7.0系と8.5系でも試してみましたが特に変わることはありませんでした。>Java8以降は「-XX:MaxPermSize」は無効だったと記憶しています。>こちらJava8以降は無効なオプションとなっておりました。ご指摘いただきましてありがとうございます。現在はまだ完全に解決できるような設定を見つけられておりませんがもう少し粘ってみたいと思います。
こんにちわ、伊藤です。Tomcatのバージョンの件、すみません。見落としていました。Tomcatの設定で、GCログを出力するように変更して、どの程度GCが発生しているか確認してみてはどうでしょうか?頻繁にFULL GCが発生しているような状況ですと、レスポンスが極端に悪くなったりすると思います。弊社の実行環境(NGINX+Tomcat8)の設定を参考までに張り付けておきます。export JAVA_OPTS="-server -verbose:gc \ -Xloggc:$TOMCAT_HOME/logs/gc.log \ -XX:+UseGCLogFileRotation \ -XX:NumberOfGCLogFiles=10 \ -XX:GCLogFileSize=10m \ -XX:+PrintGCTimeStamps \ -XX:+PrintGCDetails \ -XX:+HeapDumpOnOutOfMemoryError \ -XX:HeapDumpPath=$TOMCAT_HOME/logs \ -Dfile.encoding=UTF-8 \ -Dnet.sf.ehcache.skipUpdateCheck=true \ -Xms3g -Xmx3g \ -XX:+UseG1GC \ -XX:MaxGCPauseMillis=200 \ -XX:MetaspaceSize=512m \ -XX:MaxMetaspaceSize=512m \ -XX:CompressedClassSpaceSize=100m \ -XX:ParallelGCThreads=4 \
TOP