レイテンシーがアプリケーションに与える影響度について
こんにちは。
東京は急に暑くなってきて、風も強くてすっかり桜は散ってしまいましたね。花見の期間があまりに短くて惜しいです。結局1回しか桜の写真を撮りに行くことができませんでした。来年はもう少し長いことを願っています。
話は変わりますが、昨日「このブログを読んでいます」という人がいるという話を聞きました。このブログですが、ほとんどレスポンスがないので、読んでくれている人がいるのかわからなかったのですが、あらためてそういう話を聞くと続けようというモチベーションが出てきます。もし他にも読んでくれている人がいらっしゃるなら、どんな話でも結構ですので、コメントを残してくれると嬉しいです。
今日はシステムのレイテンシーについてお話しします。
レイテンシーとは一般的にサーバ上でデータの転送要求を行ってから結果が実行されるまでにかかる遅延時間のことを言います。
コンピュータ上でリクエスト通りに業務が行われたとしてもそれに一定以上の時間がかかってしまいますと、処理業務は役に立たなくなってしまい、業種によってはこうしたレイテンシーの発生によるレスポンスタイムの低下が業務上致命的な問題になるとともに利益機会を逸することにもなりかねず、きわめてクリティカルな問題になることがあるのです。
アプリケーション稼動の中身によってもレイテンシーの発生は異なる
レイテンシーが発生する理由は実に多岐にわたるものが想定されますが、顧客からのリクエストに対してデータを検索したり読み込んだりすることを大量に行うことを求められるようなアプリケーションを稼動させるときには、必要とされるレスポンスタイムを実現できるシステムの要件をしっかり満たしている必要があり、同時期に複数のリクエストを十分に処理できるような容量とシステム構成が当初から設計されていませんと、顧客の欲求に答えられないといった問題が生じることになります。
これまではこうしたミッションクリティカルな要件については、殆どの企業がオンプレミスでサーバーを構築し、自前の仕組みに応分の費用をかけて対応することにより難を逃れてきたのが実情ですが、最近のようなクラウド環境でミッションクリティカルな業務こなすことになりますと、当初スペック的には問題がないと思われるようなシステム条件で利用をはじめても、様々な理由でパフォーマンスが下がり、思わぬレイテンシーを招く結果を生じてしまうことがあり、十分な注意が必要となるのです。
仮想化やIAAS利用は想定外のレイテンシーを招きやすい
近年ではプライベートクラウドのIaaSを利用してERPを本格的に移行して利用するといった使い方も多く登場していますが、移行当初は何の問題も生じなくても月末や二十日締めなど業務が集中する日にちと時間帯によって一時的に大きくそのパフォーマンスが下がり、結果として期待したレスポンスタイムで業務が行えないといった問題も生じ始めています。とくに細かいデータを読みこみにいったりすることが一定時間に重なり合いますと、オンプレミスと同等のパフォーマンスが確保されているはずのIaaSのスペックでも思わぬ性能低下を引き起こすといったことが現実に生じ始めているのです。
対顧客とのトランザクションでのレイテンシー低下は致命的
業種によっては秒単位でのレスポンスを争うものもあり、ERPを使った社内業務の遅延もさることながら対顧客の業務に遅延がでることは利益損失につながることから致命的なダメージとクライアントに与えてしまうこともあるのです。証券やFXなどの取引の場合はさすがに仮想化されたサーバーを利用するのではなく、しっかりと増強された専用のサーバーを立ち上げて処理することが基本となりますが、それでもデータストレージサーバーの配置とアクセシビリティの問題などからレスポンススピードが下がるというリスクを抱えるケースも出てきています。こうしたビジネスでは利用した顧客が具体的に処理スピードが遅いことに起因して利益を失うとか損失を被るといった不利益をうけることもあり、深刻です。
そこまでリスキーな状況でないとしても、ウエッブを利用したECビジネスでさえ、レスポンススピードの低下は受注などの売上に大きな影響を及ぼすことになり、やはり深刻な状況に陥ることになります。
クラウドの世界ではレスポンスに対する対応も進む状況に
クラウドや仮想化の世界ではこうしたレイテンシーに対応するために様々な努力が進んでいます。まずハードウエアやCPU,メモリといった一つ一つの導入レベルを高めるとともに、パフォーマンスを上げられるような構成を設定するようになっていますし、一時的に多くのトランザクションが想定される場合には、分散処理の方法を高めるなどトランザクションのパフォーマンスを高める努力もされるようになっています。また実際に稼動するアプリーケーションの特性と要求スペックレベルに合わせたチューニングといったことも細かく実施する動きがでています。こうした問題はオンプレミスなら生じないということでもなく、必ずしも仮想化したシステムだから生じることとはいえませんが、一般的にはシステムのせいになりやすいものですし、オンプレミスからの移行で、それまでは何の問題もなかった場合には逃げられない問題となりますことも事実です。
クラウドが世に浸透してきたことで、最近では全般的にレスポンス関連に関する問題は個別対応をすることにより解決がつくようになってきており、多くの事例が登場することにより一定以上のノウハウを溜まるようになってきていることから、仮想化やクラウドのサービスを利用しても確実に解決が進む状況になってきているともいえるのです。ただ、個別対応になれば、どうしても時間と労力が必要となることを予め覚悟しなければなりません。
Tintri VMstoreは、仮想マシンの動きを把握して、予め必要なストレージリソースを個別に割り当てることで、仮想環境においてのストレージレイテンシーを1ms以下に抑えるように設計されています。また、ストレージ以外のサーバーやネットワーク側のレイテンシーも表示することができますので、インフラのどこでボトルネックが発生しているかを一目瞭然で確認することができます。そのような管理ツールを活用することで、問題解決を早めることも可能です。