2017-01-06 2 views
-1

データベースと通信するメタデータサービスの最適化に取り組んでいます。私が見つけたボトルネックの1つは、スレッドが接続プールからの接続を待っている時間切れでした(タイムアウト= 1秒)。スタックダンプの詳細な調査では、org.apache.http.pool.AbstractConnPool内のロックを待っているスレッドがたくさんあるようです。Apache Httpクライアントでロック競合を回避するにはどうすればいいですか

ApacheHttpClient:4.5.xの

ApacheHttpCore:4.4.xから

MaxNumberOfConnection:900

接続タイムアウト:1秒

このボトルネックを克服するための任意のアイデアは?

答えて

0

多分あなたは別のアプローチを考えることができます。 1つのサービスプロバイダーにとって、900のHTTP要求が重過ぎる有名なサーブレットコンテナ(tomcatまたはjetty)の場合は で、300-500のリクエスト接続を同時に処理できます。

2つまたは3つのサービスプロバイダを展開してクラスタを形成し、nginxまたはapache httpサーバを使用してリクエストを送信できます。

関連する問題