- 私は2台のまったく同じマシン(COM1-COM2)を持っており、どちらもシングルコアです。
- 両方のマシンでcouchdbとtomcatが実行されています
- 私のアプリケーションはRESTリクエストを介してデータベースにクエリを実行し、プロセスを高速化するために10のスレッドプールが実装されています。各スレッドには独自のデータベースインスタンスがあります。
- スレッドプールでローカルデータベースを使用するようにアプリケーションを設定すると(warファイルはCOM1にあり、データベースはCOM1にあります)、30回のクエリに431.83ミリ秒かかります。スレッドプールなしの同じ構成では、823.83ミリ秒かかります。
- ただし、スレッドプールでリモートデータベースを使用するように設定すると(warはCOM1にあり、データベースはCOM2にあります)、30クエリは276.52ミリ秒かかります。スレッドプールなしの同じ構成では、960.00ミリ秒かかります。
私の質問は次のとおりです。
- スレッドプールを使用すると、シングルコアで速度が上がるのはなぜですか?
- リモートデータベース構成がローカルデータベース構成よりも高速なのはなぜですか?
ありがとう