しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

App Service on Linux が Japan East で利用可能になりました

これまで Southeast Asia が日本から一番近いリージョンでしたが、ついに Japan East に App Service on Linux がデプロイされたので、レイテンシを気にせず使えるようになりました。

今までは Japan East / West は割と後回しでしたが、今回は早期にデプロイされました。

それほど需要が多いと見込まれているらしいので、次の仕事では使っていきたいと思ってますが、まずは Southeast Asia と比較する形でパフォーマンス周りの確認をしたいですね。

ざっくりと確認する

今朝までは作成時にエラーになってましたが、今は修正されています。帝国兵殿に感謝。

f:id:shiba-yan:20170712205800p:plain

新しく作成された stamp ということで、新しめのインスタンスで stamp が作成されてました。

Windows の App Service は AMD Opteron な stamp を引くこともありますが、Linux だと Intel っぽいです。

f:id:shiba-yan:20170712210132p:plain

とりあえず Japan East と Southeast Asia に S2 の App Service Plan を作成して、その上に同じ Docker Image をデプロイしたものを用意しました。ちなみに ASP.NET Core です。

それぞれに対して wrk でトラフィックを流し込んでレイテンシを確認してみました。

Japan East S2 の場合

Running 10s test @ http://docker-test-1.azurewebsites.net/
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    28.28ms   12.03ms 130.25ms   74.04%
    Req/Sec   178.90     28.92   260.00     69.00%
  Latency Distribution
     50%   26.82ms
     75%   34.07ms
     90%   43.17ms
     99%   66.47ms
  3570 requests in 10.01s, 31.06MB read
Requests/sec:    356.49
Transfer/sec:      3.10MB

Southeast Asia S2 の場合

Running 10s test @ http://docker-test-2.azurewebsites.net/
  2 threads and 10 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    76.50ms    8.66ms 170.83ms   94.76%
    Req/Sec    65.50     12.07    90.00     59.18%
  Latency Distribution
     50%   74.43ms
     75%   76.88ms
     90%   81.23ms
     99%  100.75ms
  1292 requests in 10.01s, 11.24MB read
Requests/sec:    129.09
Transfer/sec:      1.12MB

ざっくりとした確認ですが、Southeast Asia に比べて Japan East の方が 3 倍近く処理出来ていました。当然ながらレイテンシは 1/3 ぐらいですが、Japan East は少しばらつきが大きいのが気になります。

個人的にですが App Service on Linux を使う場合には、最低でも S2 以上を使った方が良い気がしています。そろそろ App Service 全体的にインスタンスサイズの底上げをしてもらいたいですね。

無料で試したい人は

Azure サブスクリプション無しでも試す方法があるので、まずは 1 時間体験してみるのがおすすめです。

f:id:shiba-yan:20170711221134p:plain

Try Azure App Service | Microsoft Azure

サブスクリプションは必要ないですが Microsoft アカウントは必要です。

MSDN を持ってる人は無料枠があるのでそれで試せます。ちなみに時間課金で今は 50% 引きです。

もう少し詳しく知りたい人は

これまでに何回か App Service on Linux について書いてきたので参考にしてください。主にカスタムランタイムの作り方や CI / CD について書いてきた気がします。

5 月に開催された de:code 2017 で使用したスライドも Speaker Deck に公開しているので、基本的な機能からデプロイや内部のアーキテクチャまで軽く触れています。

今回の Japan East 追加以外に特に目立ったアップデートはないので、情報は古くなってないはずです。

最後に

ASP.NET Core アプリケーションと組み合わせるのが、個人的に使い勝手が良いと思いました。Visual Studio から直接デプロイも可能なので、Windows 版と同じぐらいの使い勝手です。

仕事で使ってみたい気持ちでいっぱいです。なので App Service on Linux の案件を募集してます。