Exchangeはそれ自体をどのようにテストしますか?

12月のイベントを見ました。 市場のボラティリティの高さ、為替レートの急激な変動、株価、およびそれらの先物には、別の要因、つまり為替顧客の非常に高い活動が伴いました。 これらの条件下で、取引所の重要なタスクは、取引の継続性とシステムの最大限の耐障害性を確保することです。 これらのタスクに対処しました。 そして、ピーク負荷にどのように準備しますか? 市場参加者とともに、定期的に負荷テストを実施しています。

負荷テストは、取引所にとっても市場参加者にとっても、既存の技術インフラストラクチャの最大許容負荷を決定する機会です。 インフラストラクチャの主なコンポーネントは、ソフトウェアとハ​​ードウェア、通信チャネル、アーキテクチャソリューション、管理プロセス、サポート、および近代化です。

通常、取引量、参加者の活動、取引/注文の数-市場データフローのレベルとその強度-は、十分に予測された制限内で非常にスムーズに変化します。 しかし、時々、通常のイベントの流れを乱す活動のバーストが市場に現れます。 たとえば、重要な経済ニュースがリリースされると、2014年の秋に市場が示したように、アプリケーションの数が大幅に増加します。 このような異常な負荷の場合、入札者とともに、トレーディングシステムのパフォーマンスと通信チャネルのスループットに十分なマージンが必要です。

テストの主な目標は次のように定式化されます。
•ピーク負荷と、取引所と参加者のソフトウェアとハ​​ードウェアの複合体への影響をシミュレートします。
•複合体全体が、平均市場指標を2〜3倍上回る強度でデータストリームを処理できることを確認します。 つまり、システム全体の「安全域」を2〜3倍にすることです。
•「取引所参加者」、「取引所プロバイダー」、「プロバイダー参加者」のジョイントを含む、取引所参加者のインフラストラクチャ全体を調整します。

負荷テストにより、入札者が来年中に当社から受け取るデータのおおよその量を評価できます。 テスト結果の分析に基づいて、証券取引所などのブローカーは、計算された負荷に合わせてインフラストラクチャをタイムリーに準備し、ネットワークと取引アーキテクチャを最適化するためにさらなる作業を調整し、質問に対する答えを得る機会を得ます。 どのインフラストラクチャコンポーネントに近代化が必要ですか? これの予算はいくらですか?」 最後の問題を解決するために、テスト時間が制限されています-秋。

スケジュールスクリプトのロード

テスト負荷は、取引所の取引プラットフォームのテスト専用に作成された当社独自のロボットシステムによって作成されます。 これらのシミュレーターは、実際の取引に対応する負荷プロファイルを作成することができます。これは、発注と撤回の比率、および価格帯とその他の市場パラメーターの変動の両方の観点からです。 実際には、アプリケーションの90%以上が顧客自身によって数ミリ秒以内に撤回されます-これはアルゴリズム取引の現実ですが、トランザクションに結びつかないアプリケーションからのシステムへの負荷は消えません。 「それがロボットがゴミで利益を得ずに私たちを拷問する方法であり、誰もがそれらのためにインフラストラクチャをアップグレードする必要があります」と私たちのITは皮肉を言っています。

ブローカーや取引ソフトウェアのベンダーによるテストのために、同様のマシンが準備されています。 今年、取引所と入札者の間の負荷率は50対50でした。 今年、合計70人以上の専門的な市場参加者とベンダーがテストに参加しました。

テストの合計所要時間-4時間-清算セッションの休憩を伴う実際の取引日のスケジュールに完全に適合します。 各市場の目標アプリケーション数は、現在の1日の平均値を1.5〜2倍超えています。 セッションあたりの最大アプリケーション数を使用して、2つのテクノロジープラットフォームで3つの市場をテストします。
•株式市場(ASTS)-30,000,000
•外国為替市場(ASTS)-3000万
•デリバティブ市場(SPECTRA)-60,000,000

テストする前に、すべてのアクセスサーバーは取引プラットフォームに接続されています。 また、テストで負荷が増加すると、それに対処できないサーバーが登録されます。

テスト中、負荷は2秒間隔で実際の市場注文のピーク頻度の2〜3倍に作成されますが、取引プラットフォームの能力の限界には達しません。 プラットフォームとそのサブシステムの限界パフォーマンスの直接測定は、テストの最終段階で短時間実行されるため、遅延の測定結果は、処理アプリケーション用に形成されたキューによって歪められません。

取引プラットフォーム自体に加えて、負荷に重要で、入札者とそのクライアントによってアクティブに使用されるサービスとサブシステムがテストされます。

•インデックスサーバー。
•Webサイトおよび関連情報サービス。
•udpマルチキャスト市場データサーバーを修正します。
•トランザクションサーバーを修正します。

テストでは、バックアップシステムと通信チャネルへの切り替えがシミュレートされます。これは、入札者にとっても重要です。 これらの手順を実行し、必要に応じて、側のボトルネックを特定できます。

重要です

この交換は、複雑なアーキテクチャを持つネットワークの巨大な集合体です。 現在、取引所のハードウェアとソフトウェアの複合施設は2つのデータセンターに分散しています。
•メイン-M1-はワルシャワ高速道路にあります。
•リザーブ-キスロフスキーレーンの取引所ビル。
どのように機能するかを理解しています...

画像

取引所に接続するための典型的なスキームは6つあり(図「接続スキーム」を参照)、すべてのスキームの参加者がテストされます。 この多様性により、市場参加者(ブローカー、銀行、プロバイダー、ベンダー)の主要部分は、 ユニバーサルスキームに従って接続されています。 メインのデータセンターとバックアップデータセンターが参加者と接続された、Exchange組織のプライベートネットワーク(L3 VPN)専用の7つの認定通信事業者

各入札者は、取引所へのフェイルセーフ接続を使用することをお勧めします-少なくとも2つの通信チャネル。これは、取引セッションのピークアクティビティ期間中のトラフィックの混雑を防ぐために負荷を予約および再分散するために必要です。

テストプロセス中を含め、特定された技術インフラストラクチャの「ボトルネック」の1つは、参加者の通信ネットワークへの接続の「ラストマイル」です。 FAST UDPマルチキャスト市場データテクノロジーを使用しない場合の専用通信チャネルの推奨最小スループットは10 Mbpsです。 FAST UDPマルチキャスト市場データの使用-株式市場では30 Mbit / s、外国為替では20 Mbit / s、緊急では15 Mbit / s(複数の市場からデータを受信する場合、数値は合計されます)。

負荷テストと結果の処理の観点から、最も代表的なデータは、顧客が通信事業者を使用せずに取引所から直接データを受信する場合の、取引所からコロケーションゾーンへの出力スイッチのデータです。 クライアントは、交換データセンターの領域に機器(サーバー)を置きます。 サーバーはハードウェアコンプレックスの隣にあり、接続は100 Mbit / s、1 Gbit / sまたは10 Gbit / sの速度でネットワークケーブルを使用して取引プラットフォームに直接接続されます。

これが、データ転送速度のマイクロ秒ごとの闘争が始まるところです。 コロケーションは、原則として、高頻度トレーダー(HFT-高頻度取引、GTA-ハイパーアクティブ自動販売機)のサーバーであり、最大速度で最小の散布でデータを送受信することが重要です。 コロケーション測定により、すべての遅延を最も正確に測定することができ、私たちに依存しないネットワークの影響を排除できます。

負荷テストの一般的なスキーム
負荷テストの一般的なスキームは次のとおりです。

画像

これらの分野では、主な指標を測定します。

- ローカルネットワークの廃棄:ネットワークデバイス上のプロセッサをリサイクルします。 独自のローカルネットワークの帯域幅を確認するために測定します。トラフィックは、ある地点から別の地点に自由に移動する必要があります。 取引ネットワークでは、すべての接続は10 Gb / sです。

-CPU使用率 :ネットワークデバイスの負荷レベル。通常の動作では60〜70%を超えてはなりません。 超過すると、スイッチがトラフィック量の処理を停止し、パケット損失が発生するという事実につながります。

- 待機時間 :アクセスサーバーとクライアントの間の途中のスイッチでアプリケーションを作成/撤回/変更するネットワークメッセージを受信して​​から、その応答を受信するまでの時間。 異なるスイッチでの測定により、通信チャネルや複合体のソフトウェアコンポーネントなど、遅延のすべてのコンポーネントを評価できます。

- ジッタ :レイテンシ値の統計的広がり。 待ち時間の不変は、すべてのカテゴリの顧客にとって重要な指標です。 通常、最高の注文の50%(中央値)、80%、90%、99%の最大応答時間が測定されます。 これらの値の比率により、遅延値の広がりがわかりやすくなります。

画像

何を測定していますか?

私たちの兵器庫にはいくつかの測定ツールがあります。
-たとえば、HPのネットワークノード管理など、通信チャネルの使用率を測定する、よく知られたソリューション。
-古き良きtcpdumpと同様に、ソフトウェアのマイクロ秒精度のイベントログの内部手段。
「2014年に初めて、Corvil精密測定システムの機能を使用して、コロケーションゾーンの遅延とジッターパラメーターを制御しました。これは、マイクロ秒の遅延に敏感です。 このシステムは、NASDAQやNYSEなどの主要な世界の取引所でも使用されています。
Corvilからデータをアップロードする例については、以下を参照してください。

画像

何が起こった-簡単な結果

すべての交換システム、アクセスサーバー、ゲートウェイなどの詳細なテスト結果 詳細レポートで見つけることができますが、明確にするために、いくつかの数字を示します。
株式市場
到達値(個)最大処理速度(1秒あたりの個数)
用途40 599 7339621
取引2 992 7131318
取引80 537 46919100

外国為替市場
負荷テストの特徴は、トランザクションの頻度と数のアクティビティが高く、通常の取引の典型的な値の25倍であったことです。
到達値(個)最大処理速度(1秒あたりの個数)
用途32,994,0495700
取引747 539700
取引65 568 62211324

デリバティブ市場
最適化されたマッチングを備えたTKS SPECTRAの新しいバージョンの2014年7月の導入、および高速化された分散を使用したデータレプリケーションの別のブランチの割り当てにより、TKSのコアのパフォーマンスを1秒あたり最大52,000トランザクションまで向上させ、RTTアプリケーションのレイテンシを安定化できました。 ストレステスト中に、清算と中間清算が計画され、大量の注文とトランザクションがあったにもかかわらず、両方の手順が計画された時間間隔で定期的に完了しました。
到達値(個)最大処理速度(1秒あたりの個数)
用途63,815,09036,000
取引3 787 1054,953

両方のシステム(ASTSおよびSPECTRA)には、取引日あたりの注文数と取引数に技術的な制限はなく、達成される数は時間とテストプログラムによるものであることに注意してください。

お客様がテストに積極的に参加してくださったお客様、通信事業者、ベンダー、すべてのスペシャリストに感謝します。これにより、テスト結果がより正確で公平になります。

Source: https://habr.com/ru/post/J248083/


All Articles