2017-05-18 41 views
0

IIS 7.5でホストされているJSP Webアプリケーションがあります。& TomCode 8.0.30 via BonCode AJP13 v1.0.26 on Win 2008 R2 64ビット。BonCodeコネクタ、IIS 7.5とTomcat 8、遅く断続的なリクエストのタイムアウトエラー

これは数ヶ月間OKです。

私たちは同一の環境を持っています:開発、ステージング&生産。開発およびステージング環境で

が、突然、我々は非常に遅い応答を取得しているし、いくつかのケースでは、断続的にIISがタイムアウトエラーを生成:本番環境で

Request timed out 
Exception Details: System.Web.HttpException: Request timed out. 
[HttpException (0x80004005): Request timed out.] 

、パフォーマンスはOKらしいです。再起動のサーバを試してみました

は、IISを再起動し、再起動のTomcatなど

は、誰もがこれらのスローダウンがありましたか?

誰もが1.0.26より大きいBonCodeの動作しているバージョンを使用していますか?

詳細ポート8080を選択するつまり明示的

バイパスIIS & BonCodeは、瞬時に応答を与えます。

http://<domain>:8080/<path> 

slowdownはJSPページ固有ではありません。 非常に単純なページ、例えば、日付が&になるなど、断続的に応答が遅くなります。

Tomcat/JSP web-appには認証がありません。 7.5 すなわちIISと同じサーバー上に存在する

のTomcatの単一インスタンス無負荷バランシング等

のみ普通HTTPは すなわちないHTTPS無関連する証明書が使用されています。

サーバー診断

  • BonCodeログ時折、これは見ている

2016-02-29 15:59:01 1.0.26 ERROR 
TCP Client level -- Server/Port:localhost/8009 
Value cannot be null. 
Parameter name: buffer 
2016-02-29 15:59:01 One Connection raised an error 

が、通常、何の関連エラー/警告が示されていないされている

比較古いログ古いログで

古いログ

2017-05-04 10:19:28 New Connection 46 of 0 to tomcat: 127.0.0.1:8009 ID: 46 [T-5] 
2017-05-04 10:19:35 New Connection 47 of 0 to tomcat: 127.0.0.1:8009 ID: 47 [T-45] 
2017-05-04 10:25:11 New Connection 48 of 0 to tomcat: 127.0.0.1:8009 ID: 48 [T-45] 
2017-05-04 10:25:15 New Connection 49 of 0 to tomcat: 127.0.0.1:8009 ID: 49 [T-49] 
2017-05-04 10:39:12 New Connection 50 of 0 to tomcat: 127.0.0.1:8009 ID: 50 [T-49] 
2017-05-04 10:40:09 New Connection 51 of 0 to tomcat: 127.0.0.1:8009 ID: 51 [T-22] 
2017-05-04 10:41:29 New Connection 52 of 0 to tomcat: 127.0.0.1:8009 ID: 52 [T-49] 
2017-05-04 10:42:03 New Connection 53 of 0 to tomcat: 127.0.0.1:8009 ID: 53 [T-52] 
2017-05-04 11:05:04 New Connection 1 of 0 to tomcat: 127.0.0.1:8009 ID: 1 [T-20] 
2017-05-04 11:06:37 New Connection 2 of 0 to tomcat: 127.0.0.1:8009 ID: 2 [T-23] 
2017-05-04 11:07:23 New Connection 3 of 0 to tomcat: 127.0.0.1:8009 ID: 3 [T-51] 
2017-05-04 11:08:55 New Connection 4 of 0 to tomcat: 127.0.0.1:8009 ID: 4 [T-23] 
2017-05-04 11:09:17 New Connection 5 of 0 to tomcat: 127.0.0.1:8009 ID: 5 [T-51] 

新しいログ

2017-05-16 14:31:57 New Connection 200 of 0 to tomcat: 127.0.0.1:8009 ID: 200 [T-153] 
2017-05-16 14:31:58 New Connection 201 of 0 to tomcat: 127.0.0.1:8009 ID: 201 [T-153] 
2017-05-16 14:32:30 New Connection 202 of 0 to tomcat: 127.0.0.1:8009 ID: 202 [T-153] 
2017-05-16 14:36:05 New Connection 204 of 0 to tomcat: 127.0.0.1:8009 ID: 204 [T-153] 
2017-05-16 14:36:06 New Connection 205 of 0 to tomcat: 127.0.0.1:8009 ID: 205 [T-153] 
2017-05-16 14:41:38 New Connection 206 of 0 to tomcat: 127.0.0.1:8009 ID: 206 [T-153] 
2017-05-16 14:42:51 New Connection 207 of 0 to tomcat: 127.0.0.1:8009 ID: 207 [T-153] 
2017-05-16 14:42:52 New Connection 208 of 0 to tomcat: 127.0.0.1:8009 ID: 208 [T-153] 
2017-05-16 14:43:12 New Connection 209 of 0 to tomcat: 127.0.0.1:8009 ID: 209 [T-153] 
2017-05-16 14:43:40 New Connection 210 of 0 to tomcat: 127.0.0.1:8009 ID: 210 [T-153] 

で、接続IDは、スレッドの範囲を使用して、各接続で20-80〜後にリセットするように見えます時々同じスレッド。

新しいログでは、スローダウンで接続IDがはるかに高く、同じスレッドを使用しているようです。サーブレットとして期待通り

  • Tomcatのログ

エラーなしは、/ JSP要求が転送されていません。

設定ファイル

BonCode - BonCodeAJP13.settings

<Settings> 
    <Port>8009</Port> 
    <Server>localhost</Server> 
    <MaxConnections>0</MaxConnections> 
    <LogLevel>2</LogLevel> 
    <LogDir>E:\inetpub\logs\BonCode</LogDir> 
    <FlushThreshold>0</FlushThreshold> 
    <EnableRemoteAdmin>False</EnableRemoteAdmin> 
    <HeaderBlacklist>AUTHORIZATION,URL,SERVER_SOFTWARE,SERVER_NAME,SERVER_PROTOCOL</HeaderBlacklist> 
    <PacketSize>65536</PacketSize> 
</Settings> 

Tomcatの - のserver.xml

... 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
      packetSize="65536" /> 
... 

ノート

I BonCode v1.0.26がv1.0.36にアップデートされたことを認識していますが、新しいバージョンは約10日間しかリリースされていません。

私がどこにも行かなければ、私はアップグレードしますが、私が本番環境でできることには限界があります。

答えて

1

長期:アップグレードの計画。あなたは10バージョンのバックです。

ほとんどの場合、AJP接続数が使い果たされている可能性があります。 200 Tomcat 8 docs

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" keepAliveTimeout="-1" connectionTimeout="60000" maxThreads="1000" packetSize="65536" /> 

ベスト、Tomcatの

+0

おかげで200にブライアン、Tomcatの場合、maxThreadsのが指定されていない場合、デフォルトを何が起こるかが表示されます - これは、低トラフィックの多いサイトです。また、このTomcatの変更には、BonCode MaxConnections = Tomcat maxThreadsという対応するBonCodeの変更が必要です。あなたが言うように、いくつかの限界に達しています - 私はこれを答えとして受け入れます。 –

0

ブライアン、maxThreadsのが指定されていない場合、デフォルト: 私は滞留接続を削除するには、Tomcatの接続およびタイムアウトパラメータを調整しますBonCodeの場合、MaxConnections = 0の場合、接続プーリングは使用されませんが、BonCodeはリクエストごとに新しい接続を作成します。

BonCodeソースコードから:このことから

... 
p_Logger.LogMessage(String.Format("New Connection {0} of {1} to tomcat: {2} ID: {3} [T-{4}]", p_ConcurrentConnections, BonCodeAJP13Settings.MAX_BONCODEAJP13_CONCURRENT_CONNECTIONS, p_TCPClient.Client.RemoteEndPoint.ToString(), p_ThisConnectionID, AppDomain.GetCurrentThreadId()), BonCodeAJP13LogLevels.BONCODEAJP13_LOG_BASIC); 
... 

、私はBonCode接続IDはまた、200

で&ピークに達することを期待する、AppDomain.GetCurrentThreadIdは())非推奨とすべきですthread-idを与えるのに頼らないでください。よりBonCodeログを見ると

2017-05-16 15:44:27 New Connection 190 of 0 to tomcat: 127.0.0.1:8009 ID: 190 [T-153] 
2017-05-16 15:44:28 New Connection 192 of 0 to tomcat: 127.0.0.1:8009 ID: 192 [T-153] 
2017-05-16 15:44:29 New Connection 194 of 0 to tomcat: 127.0.0.1:8009 ID: 194 [T-153] 
2017-05-16 15:44:43 New Connection 196 of 0 to tomcat: 127.0.0.1:8009 ID: 196 [T-153] 
2017-05-16 15:44:44 New Connection 198 of 0 to tomcat: 127.0.0.1:8009 ID: 198 [T-153] 
2017-05-16 15:45:08 New Connection 200 of 0 to tomcat: 127.0.0.1:8009 ID: 200 [T-153] 
2017-05-16 15:45:30 New Connection 201 of 0 to tomcat: 127.0.0.1:8009 ID: 201 [T-153] 
2017-05-16 15:46:58 New Connection 203 of 0 to tomcat: 127.0.0.1:8009 ID: 203 [T-153] 
2017-05-16 15:48:47 New Connection 204 of 0 to tomcat: 127.0.0.1:8009 ID: 204 [T-153] 
2017-05-16 15:49:16 New Connection 205 of 0 to tomcat: 127.0.0.1:8009 ID: 205 [T-153] 
2017-05-16 15:53:54 One Connection raised an error 
2017-05-16 15:59:56 New Connection 206 of 0 to tomcat: 127.0.0.1:8009 ID: 206 [T-152] 
2017-05-16 15:59:57 New Connection 207 of 0 to tomcat: 127.0.0.1:8009 ID: 207 [T-152] 
2017-05-16 16:05:37 One Connection raised an error 

わからないエラーは、接続201で上昇が、それは閉鎖されているおよび/またはTomcatの最大スレッド数がされていない、排出されているBonCode接続のように見えなかった理由到達した。

はv1.0.36にアップグレードし、1000年の設定は、このためには高すぎると思われる

関連する問題