IoTで知っておくと役に立つ性能問題
前述の「図3. Webサービス事業者から見たIoTの知っておくべきテクノロジー」でご紹介したMQTTとHTTPSの通信プロトコルですが、すでにその性能差に関するリポートも出ています。MQTTはHTTPS経由での通信に比べてオーバーヘッドや処理時間が少なく、結果としてセンサデバイス側の消費電力も低く抑えられるという発表が出ています。図6は、IBM社が発表しているMQTTとHTTPSのメッセージ送信性能を秒単位に直したものです。1つのAndroid端末から一秒間に送信できるメッセージ数がどれだけかを示しています。
今回は端末のOSがAndroidとされていますが、ここまで差が出ていると、やはり軽量なプロトコルをIoT向けのWebサービスには使っていくべきだろう……と感じるばかりです。残念ながらMQTTとHTTPSの評価では、SSL化されたMQTTの評価データは出ていませんでしたので、今回はNODATAとしています。おそらく暗号化処理による性能劣化が出ますので、それがどこまで影響するのか興味深いところです。
つぎに、さらなるIoT環境ならではの問題についても見ていきましょう。
IoTは、インターネットに展開される多数のデバイスからデータ送信が行われます。当然それを受け切るデータセンター側の設備にも、考慮が必要になります(図7)。
『Webサービスのためのシステム・ベンチマーク入門(4)10Gigabit Ethernetでベンチマークする!』でもご紹介していますが、比較的小さいデータを送受信する際にはNIC(Network Interface Card)の選定により、大きな差が出てきます。もちろん、その上で通信を行う上位ネットワークアプリケーションの性能にも強く依存しますし、さらにデータを保存するストレージ性能にも引きずられて性能低下する場合もあります。
「IoTだからMQTTでのメッセージング環境を造っておけば大丈夫!」というワケではなく、それを支える一つ一つの積み重ねにもデータセンタ側では必要になるのです。
また「そもそもセンサデバイスから、そんな高頻度でデータを送信する意義があるのか?」という議論も重要になります。「センサデバイスからのデータは、ある一定まで溜めてから一括送信する」という選択肢も需要でしょうし、サーバ側の負荷を分散するために「MQTTでのデータ送信は乱数を使って送信タイミングをバラバラにする」という配慮も必要でしょう。
これから増え続けていくであろうIoTに関して、正しい理解と先回りした対処をいまから行っておくと、3~5年先に本格化するIoT時代を無事に乗り切っていけるコトでしょう。
次回も、さくらインターネット研究所が独自に調査研究を行っている3~5年先に必要とされる新技術とその在り方についてご紹介いたします。それでは次回もお楽しみに。
