LTE Cat.M1(LTE-M)の通信速度を測定してみた

2023.01.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

あけましておめでとうございます。CX事業本部Delivery部のakkyです。 今年もIoT関係の記事を書いていきたいと思いますので、よろしくお願いします!

さて、Armadillo-IoT A6EというIoTゲートウェイを入手したので、このデバイスについてご紹介していこうと思います。

まずはA6Eに搭載されているLTE Cat.M1モジュールについてです。

LTE Cat.M1はLPWAの一種で、最高通信速度はドコモ回線では上り375kbps、下り300kbpsです。(上り/下り1Mbpsは規格上設定できる最大速度です) 直接インターネットに接続でき、TCP/IPでそのまま通信できるため、既存のアプリケーションを変更せずに使えるのがメリットです。

・・・と、こういったスペックの説明に関してはネットでいくらでも出てくるのですが、実際のところはどうなのでしょうか? 今回はLTE Cat.M1の通信速度を測定してみましたので、ご紹介します。

注意事項:無線かつインターネット通信ですので、通信場所や時間、機種によって実際の通信速度は異なります。あくまで一例としてご覧ください。

ハードウェア

アットマークテクノ製 Armadillo-IoT A6E

  • CPU Arm Cortex-A7 528MHz
  • RAM 512MB
  • Cat.M1モデル

SIMはSoracom plan-D300を使用。

モデムのサスペンド、Power Save Mode、eDRXはすべて無効に設定。

設置場所はクラスメソッド岩本町オフィスです。平日13~16時に実験しました。

下り速度

speedtest-cli

まず、speedtest-cliを使ってみましたが、エラーになってしまいました。途中までは進行するので、速度が遅すぎるとタイムアウトしてしまうようです。(Podmanで動かしました)

   Speedtest by Ookla

      Server: IPA CyberLab 400G - Tokyo (id: 48463)
         ISP: SORACOM.
Idle Latency:    87.15 ms   (jitter: 35.48ms, low: 63.49ms, high: 130.08ms)
    Download: FAILED

wget

気を取り直して、wgetコマンドでcloudfrontから画像をダウンロードした場合の速度を測ってみます。

--2023-01-05 06:52:21--  https://devio2023-media.developers.io/wp-content/uploads/2022/10/DSC_0687_1200x630-960x480.jpg
Resolving d1tlzifd8jdoy4.cloudfront.net (d1tlzifd8jdoy4.cloudfront.net)... xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx, ...
Connecting to d1tlzifd8jdoy4.cloudfront.net (d1tlzifd8jdoy4.cloudfront.net)|xxx.xxx.xxx.xxx|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 382038 (373K) [image/jpeg]
Saving to: 'DSC_0687_1200x630-960x480.jpg'

     0K .......... .......... .......... .......... .......... 13% 16.6K 19s
    50K .......... .......... .......... .......... .......... 26% 13.6K 18s
   100K .......... .......... .......... .......... .......... 40% 17.4K 14s
   150K .......... .......... .......... .......... .......... 53% 19.1K 11s
   200K .......... .......... .......... .......... .......... 67% 18.4K 7s
   250K .......... .......... .......... .......... .......... 80% 18.1K 4s
   300K .......... .......... .......... .......... .......... 93% 18.7K 1s
   350K .......... .......... ...                             100% 21.8K=21s

2023-01-05 06:52:44 (17.4 KB/s) - 'DSC_0687_1200x630-960x480.jpg' saved [382038/382038]

おおむね、16~18KB/sの速度が出ているようです。これは128~144kbpsとなるので、300kbpsのスペックと比べて40~50%程度の下り速度を得られました。

iperf3

EC2でm6i.largeインスタンスを立ててiperf3をサーバモードで立ち上げ、接続しました。リージョンはap-northeast-1です。

armadillo:~# iperf3 -c ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com -V -R
iperf 3.11
Linux armadillo 5.10.149-1-at #2-Alpine Mon Oct 24 00:41:49 UTC 2022 armv7l
Control connection MSS 1326
Time: Thu, 05 Jan 2023 06:37:34 UTC
Connecting to host ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com, port 5201
Reverse mode, remote host ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com is sending
      Cookie: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      TCP MSS: 1326 (default)
[  5] local XXX.XXX.XXX.XXX port 42070 connected to XXX.XXX.XXX.XXX port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test, tos 0
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.07   sec  12.9 KBytes  99.1 Kbits/sec
[  5]   1.07-2.00   sec  10.4 KBytes  91.2 Kbits/sec
[  5]   2.00-3.00   sec  18.1 KBytes   149 Kbits/sec
[  5]   3.00-4.00   sec  15.5 KBytes   127 Kbits/sec
[  5]   4.00-5.00   sec  12.9 KBytes   106 Kbits/sec
[  5]   5.00-6.00   sec  11.7 KBytes  95.5 Kbits/sec
[  5]   6.00-7.00   sec  11.7 KBytes  95.5 Kbits/sec
[  5]   7.00-8.00   sec  12.9 KBytes   106 Kbits/sec
[  5]   8.00-9.00   sec  15.5 KBytes   127 Kbits/sec
[  5]   9.00-10.00  sec  15.5 KBytes   127 Kbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.09  sec   295 KBytes   240 Kbits/sec    1             sender
[  5]   0.00-10.00  sec   137 KBytes   112 Kbits/sec                  receiver
snd_tcp_congestion cubic
rcv_tcp_congestion cubic

iperf Done.

何度か測定したところ、40-140kbps程度の速度が得られました。下りはスペック通り苦手なようです。ユースケース的にも、あまり重視されないところではあります。

iperf2

iperf2でも、iperf3とあまり変化ありませんでした。

# iperf -c ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com -p 5
201 -R
------------------------------------------------------------
Client connecting to ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com, TCP port 5201
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  1] local XXX.XXX.XXX.XXX port 39798 connected with XXX.XXX.XXX.XXX port 5201 (reverse)
[ ID] Interval       Transfer     Bandwidth
[ *1] 0.00-12.02 sec   210 KBytes   143 Kbits/sec

上り速度

speedtest-cliが使えればいいのですが、無理だったのでiperf3で測定します。

armadillo:~# iperf3 -c ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com -V
iperf 3.11
Linux armadillo 5.10.149-1-at #2-Alpine Mon Oct 24 00:41:49 UTC 2022 armv7l
Control connection MSS 1326
Time: Sat, 01 Jan 2000 00:26:26 UTC
Connecting to host ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com, port 5201
      Cookie: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      TCP MSS: 1326 (default)
[  5] local XXX.XXX.XXX.XXX port 50030 connected to XXX.XXX.XXX.XXX port 5201
Starting Test: protocol: TCP, 1 streams, 131072 byte blocks, omitting 0 seconds, 10 second test, tos 0
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   104 KBytes   848 Kbits/sec    0   31.1 KBytes
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec    0   31.1 KBytes
[  5]   2.00-3.00   sec  37.6 KBytes   308 Kbits/sec    0   33.7 KBytes
[  5]   3.00-4.00   sec  63.5 KBytes   520 Kbits/sec    0   37.6 KBytes
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec    2   44.0 KBytes
[  5]   5.00-6.00   sec  0.00 Bytes  0.00 bits/sec    5   28.5 KBytes
[  5]   6.00-7.00   sec  59.6 KBytes   488 Kbits/sec    4   32.4 KBytes
[  5]   7.00-8.00   sec  71.2 KBytes   584 Kbits/sec    0   25.9 KBytes
[  5]   8.00-9.00   sec  0.00 Bytes  0.00 bits/sec    0   23.3 KBytes
[  5]   9.00-10.00  sec  0.00 Bytes  0.00 bits/sec    0   25.9 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   335 KBytes   275 Kbits/sec   11             sender
[  5]   0.00-11.04  sec   264 KBytes   196 Kbits/sec                  receiver
CPU Utilization: local/sender 1.6% (0.3%u/1.3%s), remote/receiver 0.0% (0.0%u/0.0%s)
snd_tcp_congestion cubic
rcv_tcp_congestion cubic

iperf Done.

上りは190kbps程度でした。スペック値の50%程度の速度が出ていますが、たまにパケットが通らない期間があるのが気になります。

iperf2

iperf3とほとんど違いはありません。通信速度が遅いので、ソフトウェアによる違いはないといっていいでしょう。

# iperf -c ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com -p 5
201
------------------------------------------------------------
Client connecting to ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com, TCP port 5201
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  1] local XXX.XXX.XXX.XXX port 32834 connected with XXX.XXX.XXX.XXX port 5201
[ ID] Interval       Transfer     Bandwidth
[  1] 0.00-13.89 sec   333 KBytes   196 Kbits/sec

まとめ

LTE Cat.M1の通信速度を測定してみました。

スペック上結構遅いので、ほぼそのままの値で通信できるかと予想していましたが、やはり難しいですね。 通信速度のばらつきが大きく(特に下り)、手元で何度か測定しただけでも大きく変化したので、次回以降は時間帯ごとに自動で測定する仕組みなどを考えてみたいと思います。

とはいえ、大容量のデータ通信には向きませんが、小容量のデータ(他のLPWAよりは断然速い通信速度)の定期的な通信には使えそうな通信速度が得られ、なおかつLTE通信が可能な場所であれば通信できるとされているので、テレメーター用途にはぴったりかもしれません。

参考資料