ノンストップODBC:接続(ODBCサーバー)はCPUにどのように割り当てられますか?
-
30-09-2019 - |
質問
ノンストップサーバーで実行されているODBCプールがあります。プールはSQL/MXに接続されています。
このプールは、いくつかの外部Javaアプリケーションで使用されており、それぞれにODBCプールに接続されたJDBCプールがあります(アプリケーションごとに14の接続)。
(数回のアプリケーションリサイクルの後)CPU間の不均衡が見られます。一部のODBCプロセスが実行されている場合は、CPU時間の不均衡につながる5つのODBCプロセスがあります。
この時点まで、CPUはラウンドロビン方法でODBCプロセスに割り当てられていると仮定しました。これにより、ODBCプロセスの数が多かれ少なかれ均等に分散されます。でもそうではありません。
すべての新しい割り当てられたプロセスにどのCPUを選択するかをODBCプールをどのように決定したかについての情報はありますか? CPUの負荷を見ていますか?使用可能なメモリ?他に何か?
悲しいことに、HP自身の人々(つまり、私たちが利用できる)でさえ、それらの質問に確実に答えることができませんでした。 :-(
解決
そして実際、つながりはラウンドロビンの方法でCPUに割り当てられています。しかし、何らかの理由で消費者の1人が再起動された場合、接続はCPUで割り当てられたCPUでリリースされますが(明らかに)、新しいものはラウンドロビンアルゴリズムに従って次のCPUに割り当てられます。 。したがって、一部のCPUは忙しくなりません。したがって、不均衡。
所属していません StackOverflow