[1] UltraMonkey-L7 (v3.1.2-1) | 2014-09-19 11:41 |
[2] UltraMonkey(L4) () | 2019-09-26 18:24 |
[3] SSL Proxy (1.0.2-0) | 2009-08-24 23:30 |
[4] Resource Agents for Heartbeat2 (SSL Proxy RA for Heartbeat 2.1.4) | 2010-09-22 11:14 |
log4cxx (0.10.0-1) | 2012-11-09 15:27 |
OLS2009で発表されているように、MultiQueueやRPS、そしてFDIRのようにネットワークを取り囲む環境は今ちょうど新しい機能が次々と導入されつつある。
それは、CPUのシングルスレッド性能の向上が止まったのを回避するための施策であるが、これらの対応はkernelにとどまることなく、アプリケーション側からも対応しなければ速度を引き出すことは出来ない。
ここでは、UltraMonkey-L7のMultiThreadModelを考慮して検証を行う
MultiQueueを利用した時の起動シーケンスと必要データ
起動時にMultiQueueを使用してるときほしい情報
情報名 | 概要 |
MQのON/OFF | MQ対応のNICでもON/OFFが出来るため |
FlowDirectorのON/OFF | 将来的にFlowDirectorがON固定になるかもしれないが、使えない環境ではプログラムが変更になる |
Queueの振り分け種別 | 接続を振り分けるときにIP/PORTやMACアドレス等色々な種類で振り分けるはず。振り分け種類は起動時に確定するはず |
Queue総数 | Queue:ThreadPoolの比率で作成するため、全thread数はQueueの数 x ThreadPool一つあたりの数になる |
各Queueに紐づけられているCPU | ThreadPoolはCPUごとに(sched_set_affinityを利用して)くくりつけるため、最初に必要 |
RPSを使用したときの起動シーケンスと必要データ
起動時にFlowDirectorを利用している時ほしい情報
情報名 | 概要 |
FlowDirectorのON/OFF | kernel機能であるFlowDirectorが有効かどうか |
使用するCPUMask | 現状sysfsで提供されている(未確認) |
CPU振り分け種別 | RPSで振り分けるキーはIP/PORT?(要調査) |
HTTPサーバをMultiQueue + FlowDirector=OFFで中継する場合
FlowDirector=OFFの場合は送信から始まるRealServerSideThreadを考慮する必要がある。
上記シーケンスを解説すると、
と、なりkernelより取得すべき情報は
情報名 | 概要 |
acceptしたFDからのCPU情報 | 今現在使用しているコネクションのFDが使用しているqueueにくくりついたCPU番号 |
ADDRINFOからのCPU情報 | 振り分け種類がIP/PORTの時のみ、ADDRINFOにて使用するqueueにくくりついたCPU番号 |
これらの情報は一接続ごとに問い合わせを行う必要があるため、sysfsでは速度的にコストがかかりすぎる懸念があり、ioctlもしくは、専用APIでのアクセスが望ましい。
ちなみにFlowDirectorがOnの場合には送信時に使ったQueueが受信時にも使われるため、プログラムとしてはラウンドロビン的にThreadPoolからRealServerThreadをActiveにすればよい。
HTTPサーバをRPS+MultiQueueで中継する場合
RPSを使用しているときのシーケンスは
と、なりkernelより取得すべき情報は
情報名 | 概要 |
acceptしたFDからのCPU情報 | 今現在使用しているコネクションのFDがのパケット処理を行うCPU番号 |
送信するNICに割り込みを上げているCPU | 動的に変化するわけではないから、.confで間に合う? |
RPSとMQの同時使用の場合は考察すべき部分がもう少し増えます。
受信CPU選択時にRPSのほうが有効になる?か、要調査。 Pour participer garder le numéro, vous aurez Bill opérateur d'identification (obligatoire à votre portabilité du numéro) numero rio. Vous obtiendrez pouvez obtenir pour totalement gratuit par appelant mots du serveur ou du service à la clientèle votre propre fournisseur rio bouygues . Vous ne obtenir un SMS utilisant votre. Avec votre actuelle numero rio orange, alors vous êtes capable d' à l' offre de votre à propos rouge.
[PageInfo]
LastUpdate: 2012-11-11 10:30:07, ModifiedBy: anonymous
[License]
GNU Free Documentation License
[Permissions]
view:all, edit:all, delete/config:all