マルチスレッド、マルチコアについて
Posted: Tue Nov 17, 2020 8:22 am
お世話になります。
SoftEther VPN サーバのマルチスレッド、マルチコアの動作について、どなたかご存知の方がいらっしゃいましたらご教示願えないでしょうか。
現在、SoftEther VPN クライアント2台以上と、SoftEther VPN サーバ1台で、TLS(暗号スイート:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384)でVPN接続しています。UDPアクセラレータモードは使用していません。サーバ側ではVPN接続用のNICとローカルブリッジ接続用のNICを分けて、復号したパケットをローカルブリッジ接続用のNICから目的のサーバに送信しています。
この状態で、フリーソフトですが、接続するクライアント数を増やしながら、Iperfを使用して性能(Mbps)を測定したところ、ある通信帯域をクライアント数で割っていくような結果となりました。例えば、クライアント1台だと500Mbps出るが、クライアント2台だと250Mbps、クライアント10台だと50Mbps、、、となりました。Iperfのサーバ側は負荷が高くならないように、クライアント数を増やす毎に増設しています。
◾️質問①
開発者様が記載している文書などでは、VPNセッション毎にスレッドを生成してスレッド毎に暗号処理を行なっている、と述べられていたのですが、上記のVPN接続条件ではマルチスレッド処理になってはいないのでしょうか。
(暗号/復号処理は一つのプロセス/スレッドだけしか動作しておらず、処理がキューなどに溜まっている・・・など?があるのでしょうか)
◾️質問②
暗号/復号の処理はマルチコアで処理されているのでしょうか。
◾️質問③
試しにクライアントを複数台接続しながらパフォーマンスモニタを観察しましたが、スレッド数は増加しませんでした。開発者様によると、スレッドはあらかじめプールしてある、と言うような記述が見受けられるのですが、その仕組みが動作しているためでしょうか。
どなたかご教示いただけると幸いです。
SoftEther VPN サーバのマルチスレッド、マルチコアの動作について、どなたかご存知の方がいらっしゃいましたらご教示願えないでしょうか。
現在、SoftEther VPN クライアント2台以上と、SoftEther VPN サーバ1台で、TLS(暗号スイート:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384)でVPN接続しています。UDPアクセラレータモードは使用していません。サーバ側ではVPN接続用のNICとローカルブリッジ接続用のNICを分けて、復号したパケットをローカルブリッジ接続用のNICから目的のサーバに送信しています。
この状態で、フリーソフトですが、接続するクライアント数を増やしながら、Iperfを使用して性能(Mbps)を測定したところ、ある通信帯域をクライアント数で割っていくような結果となりました。例えば、クライアント1台だと500Mbps出るが、クライアント2台だと250Mbps、クライアント10台だと50Mbps、、、となりました。Iperfのサーバ側は負荷が高くならないように、クライアント数を増やす毎に増設しています。
◾️質問①
開発者様が記載している文書などでは、VPNセッション毎にスレッドを生成してスレッド毎に暗号処理を行なっている、と述べられていたのですが、上記のVPN接続条件ではマルチスレッド処理になってはいないのでしょうか。
(暗号/復号処理は一つのプロセス/スレッドだけしか動作しておらず、処理がキューなどに溜まっている・・・など?があるのでしょうか)
◾️質問②
暗号/復号の処理はマルチコアで処理されているのでしょうか。
◾️質問③
試しにクライアントを複数台接続しながらパフォーマンスモニタを観察しましたが、スレッド数は増加しませんでした。開発者様によると、スレッドはあらかじめプールしてある、と言うような記述が見受けられるのですが、その仕組みが動作しているためでしょうか。
どなたかご教示いただけると幸いです。