7/8(月) 7:00からSBIFXトレードで障害が発生し、今もなお続いている。
復旧のお知らせ【7/8(月) 取引ツールにアクセスしづらい事象について(第7報)】 | SBI FXトレード
7/9(火) 7:00現在も、復旧の目処が立っていない。
材料は外から見てわかる情報だけだが、自分なりに考察してみたい。
7/6(土)のシステムメンテナンスでシステムを更新したことに起因しているようだが、7/6(土)のシステムメンテナンスでどんな更新が行われたのか気になったので過去のお知らせをみたところ、6/21(金)のお知らせで以下のようなお知らせが掲載されている。
【重要なお知らせ】外国為替証拠金取引の契約締結前交付書面の変更について(2024/7/9 15:30更新) | SBI FXトレード
外国為替証拠金取引の契約締結前交付書面新旧対照表を見ると、どんな変更を行おうとしていたのか読めてくる。
今まで前営業日取引終了時の仲値レート(日別固定値)で判定していた証拠金判定をリアルタイムに円換算した金額で計算するようにしたのだろう。
顧客一人分の判定であれば一瞬ではあるが、全顧客分の証拠金判定となると相当量の計算となる。
顧客数 x 各顧客が保持している全通貨 x ポジション(ask、bit)
毎秒なのか、毎分なのか、どこまでリアルタイムに計算するようにしたのかまではわからないが、パフォーマンスが悪化しすぎて、重くなりすぎたのではないかと思われる。
データを保管しているDBテーブルのスキーマ(構造)なども新仕様に合わせて更新されている。
当然ながら考慮されていない古いバージョンでは参照できないか、スキーマの違いによりシステムが正常に動作しない、エラーが発生するといったことが起きる。
7/6(土)メンテ以降の新バージョンのDBテーブルを、古いバージョンでも動くようにコンバートするといった対応が必要となってくる。
コンバートが単純変換でよい場合もあれば、何かを考慮して変換をかけなければいけない場合もあるので、状況によっては人間の判断も必要な時もあるし、そのような会話、判断が内部的に行われているのかもしれない。
システム屋さんが外からみて勝手に想像しているだけなので、この通りかどうかはわからないが、早期復旧できるよう頑張ってほしい。
7/9(火) 14:55 に復旧したようですね。