お世話になります、いつも勉強させていただいております。
下記環境にて1日(たまに半日で)連続運用していてサーバからの応答が遅くなります。
原因は、JVMのFull GCが頻繁に実行されているのです。
(現状は、毎朝4時にCF8を再起動しています。これは代替案であり再起動しない方針)
ウェブでも検索してみたのですが、それらしき内容がなかった為、質問させていただきました。
そこで皆さんにお聞きしたいのは、
1.JVMの設定が悪いのか?
(一度、adobeへ質問を投げたのですが、デフォルトの設定で試して下さいとだけ返答されました。)
2.プログラムソースが悪いのか?
3.CF8は、一日一回再起動するものなのか?(サーバ製品としてはありえないと思うですが)
また
原因の特定方法や、ヒントになりそうな事があれば何でも結構ですので、
どなたかご存知の方がいらっしゃいましたらご教授の程、宜しくお願い致します。
サーバー製品 ColdFusion
バージョン 8,0,1,196224
エディション Standard
オペレーティングシステム UNIX
Database: MySQL 5.1
OS バージョン 2.6.18-238.19.1.el5
2CPU
メモリ2G
なお、デバッグとロギングは全て無効としてあります。
------------------------------
サーバー情報
------------------------------
----------
一般設定
----------
リクエストタイムアウト Yes
アプリケーションごとの設定の有効化 Yes
リクエストの時間制限 60 秒
CFToken 用の UUID の使用 No
空白抑制の有効化 Yes
サービスファクトリの無効化 No
シリアル化 JSON の保護 No
シリアル化 JSON 接頭辞の保護 //
見つからないテンプレートハンドラ
サイト全体のエラーハンドラ
HTTP ステータスコードの有効化 Yes
グローバルなスクリプト保護 Yes
デフォルト CFForm ScriptSrc ディレクトリ /CFIDE/scripts/
送信データの最大サイズ 100 MB
リクエストのスロットルしきい値 4 MB
リクエストのスロットルメモリ 200 MB
----------
リクエストの調整
----------
同時リクエスト制限 5
Flash Remoting リクエスト制限 5
Web サービスリクエスト制限 5
CFC リクエスト制限 5
CFThread プールサイズ 10
レポートスレッドの最大数 5
リクエストキューのタイムアウト 60 秒
リクエストキューのタイムアウトページ
実行中の JRun スレッドの最大数 20
実行待ちの JRun スレッドの最大数 50
----------
キャッシュ機能
----------
テンプレートキャッシュサイズ 1024 テンプレート
信頼できるキャッシュの有効化 No
キャッシュされたクエリー制限 100
クラスファイルの保存 No
Web サーバーパスのキャッシュ Yes
----------
クライアント変数設定
----------
デフォルトのクライアント変数ストア Registry
----------
クライアントストア
----------
Cookie
----------
タイプ COOKIE
説明 Client based text file.
時間制限後データを破棄 Yes
時間制限 10 日
グローバルな更新の無効化 No
----------
Registry
----------
タイプ REGISTRY
説明 System registry.
時間制限後データを破棄 Yes
時間制限 90 日
グローバルな更新の無効化 No
----------
メモリ変数
----------
J2EE セッション Yes
----------
アプリケーション変数
----------
アプリケーション変数の有効化 Yes
デフォルトのタイムアウト 1,0,0,0
最大タイムアウト 1,0,0,0
----------
セッション変数
----------
セッション変数の有効化 Yes
デフォルトのタイムアウト 0,0,20,0
最大タイムアウト 0,0,20,0
----------
ColdFusion マッピング
----------
/CFIDE /var/www/html/CFIDE
/gateway /opt/coldfusion8/gateway/cfc
----------
メール接続の設定
----------
デフォルトのサーバーポート 25
接続タイムアウト 60 秒
スプール間隔 15 秒
メール配達スレッド 10
メールサーバーへの接続を維持 No
メッセージのスプール先 disk
メモリにスプールされるメッセージの最大数 50000
デフォルト CFMail 文字設定 UTF-8
SSL 接続の使用 No
TLS の使用 No
----------
デフォルトのメールサーバー
----------
メールロギングの設定
----------
ログの厳格度 warning
ColdFusion から送信された電子メールメッセージをすべてロギング No
----------
チャート
----------
キャッシュタイプ disk イメージ
キャッシュ内のイメージの最大数 50 イメージ
チャートを処理するスレッドの最大数 4
ディスクキャッシュの位置 /opt/coldfusion8/charting/cache
----------
Java と JVM
----------
Java 仮想マシンのパス /opt/coldfusion8/runtime/jre
初期メモリサイズ 1024 MB
最大メモリサイズ 1024 MB
クラスパス -Dcoldfusion.classPath={application.home}/../lib/updates,{application.home}/../lib,{application.home}/../gateway/lib/,{application.home}/../wwwroot/WEB-INF/flex/jars,{application.home}/../wwwroot/WEB-INF/cfform/jars
JVM 引数 -server -Dsun.io.useCanonCaches=false -XX:NewSize=384m -XX:MaxNewSize=384m -XX:PermSize=64m -XX:MaxPermSize=64m -noclassgc -Dcoldfusion.rootDir={application.home}/../ -Dcoldfusion.libPath={application.home}/../lib -Dfile.encoding=UTF-8 -Duser.language=ja -Duser.country=JP -Duser.region=JP -verbose:gc -Xloggc:/opt/coldfusion8/logs/coldfusion_jvm.log -XX:+PrintGCDetails -XX:SurvivorRatio=8 -XX:ParallelGCThreads=2 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=31