たとえば、16コアと32Gメモリを搭載したサーバーがあります。apache
新しい接続ごとに新しいスレッドを生成する のようなプロセスの場合、次の代替案のどれが優れていますか?またその理由は? また、 のようなアプリケーションの場合はどうなりますかcassandra
。メモリへの書き込みが多い cassandra の場合、これは、同じマシンに 2 つの「ノード」を配置することが何らかの形で有益であることを意味しますか?
同じマシン上で実行され、2 つの異なるポートでサービスを提供する、同じアプリケーションの複数 (たとえば 2 つ) のインスタンス。(このマシンの前にある別のマシンの LB である可能性があります)。
OS がマルチスレッド アプリケーションの 2 つのインスタンスをどのように処理するのか混乱しています。両方のプロセスで、すべてのコアでスレッドが実行されますか? (プロセスとスレッドの間で) コンテキストの切り替えが発生するのはどのような場合で、パフォーマンスにどのような影響がありますか?
1 つのポートでサービスを提供するマルチスレッド アプリケーションの 1 つのインスタンス。
スレッドが書き込み先の共有メモリを持つ cassandra のようなアプリケーションの場合、スレッド間でコンテキストの切り替えが発生するのはいつですか?