[Advent Calendar 2017 Day18] Azure Web Apps パフォーマンスチューニング

こちらの記事は、Qiita に掲載した Microsoft Azure Tech Advent Calendar 2017 の企画に基づき、執筆した内容となります。 カレンダーに掲載された記事の一覧は、こちらよりご確認ください。   こんにちは。 d99 です。 今回は Azure のアドベントカレンダーという事で、Azure で動く Web アプリケーションのパフォーマンスボトルネックを見つける手順をご紹介します。   1) Azure で簡単な php コードを動かす まずは、Azure App Service を作成し、以下のような sleep.php を置きました。パッと見て分かる通り、QueryString に id=3 と渡されたら5秒スリープする、というコードです。既に種明かししてますが。 この程度のファイルを配置するのであれば、kudu コンソール(https://<Web Apps 名>.scm.azurewebsites.net/DebugConsole にアクセスし、D:\home\site\wwwroot に移動してから、上の [+] マークから [New file] を選択してファイル作成、鉛筆マークの [Edit] アイコンから直接書いてしまうのが簡単だと思います。 私は、デスクトップにエディタでさらさらっと書いて、下記赤枠のところにポイっとドラッグ・アンド・ドロップしました。   2) クライアントからリクエストを送る 次にクライアントからリクエストを送りまくります。今回は C# の…


[お知らせ] de:code に登壇します

こんにちは、d99 です。 そういえば blog をまったく更新しておりませんでした。この blog のダッシュボードを開きましたら、いささか賞味期限の切れた下書きエントリが並んでおり、先ほど泣く泣く消しました。ASP.NET Web フォームと IE11 とか、ASP.NET セッション状態と Redis とか… POSTするとしても全部リライトですね。いやはや… さて、今回なぜ久しぶりに blog を書こうと思ったかというと表題の通りです。そして、ネットを徘徊しておりましたら atsushieno さんが以下のように私たちのセッション、「ハードコア デバッギング~Windows のアプリケーション運用トラブルシューティング実践」に言及してくださっており、こ、これは!と久しぶりに blog を書こうかなと思った次第です。 (お知らせ) Xamarinを支える技術 at de:code2017 わたしの裏番組でやっているWindowsアプリケーションの実践的なデバッグ・トラブルシューティング手法などが紹介されるセッションに興味があるわけですが 上記エントリで言及されているように、セッションにはセッションレベルがあり、私たちもレベル500に設定してみました。澤さんにセッション内容をレビューして頂いたのですが、「君たちのセッションは変態による変態のためのセッションですからまぁ頑張ってください」という、激励なのか諦観なのか反応に困るようなコメントを頂いております。hahaha   問題が二つ。   まず、我々サポートのエンジニアは日の当たるところにあまり出てきません。 まぁまったくゼロではないんですが、基本的には地下のモルグ(品川の某フロア)から一日中一歩も出ることなく、次々と運ばれてくるシステムやアプリケーションのご遺体(ダンプとかトレースとか)を、検死(解析とかデバッグとか)し続けているという、ハタから見たら何が面白いのか全く分からないであろうことに血道を上げております。 そういえば先日、社内でデバッグ好きが集まるグローバルグループがありまして、そこに一通のメールが流れてきました。 「ヘイ!みんな!このダンプなんだけど、原因がわかんないんだよ、手伝ってよ!(英語」みたいな感じ。次々とレスが付きます。「えー、俺、この製品のシンボル持ってないわー、だれか持ってるー?(英語」「それならここだよー、アクセスできるかーい?(英語」「で、これって現象なんなのー?(私」「高 CPU さー(英語」みたいな。 どうやら XML のパースが繰り返されてるっぽいと、もっと調べるにはダンプだけじゃ無理でこのあたりのトレースが必要だろうと、そんな感じでおおよその目星がついたところで、一人がある疑問を口にします。「ところでこれ、なんの案件なの?」 「いや、俺の Outlook」 。。。普通なら怒りますよね。なんでお前の Outlook(+ 見たことないカスタムアドインたくさん)をみんなでデバッグしてやってんのかと。でもさらにレスが続きます。「あ、マジで?俺も最近重くてさー、発生条件分かるー?」「あ、俺も俺も。このアドインじゃね?」 … 変な人たちです。トラブルを見たらデバッグしてみたいという欲望に勝てないという。自分のマシンがブルースクリーンになったら揉み手でフルダンプ出るのを待ってるみたいな。私もそんな中でわちゃわちゃとやっております。 話がだいぶ脱線しましたが、そんな私たちですので、たくさんの人の前でスポットライト浴びて話すのは、あんまり慣れておりません。私自身も、最後に大型イベントに登壇したのは 2000年の TechED だったかな、というレベルです。それ以来長~いことモルグに籠ってわちゃわちゃとやっておりましたのでw、セッションにご参加頂ける皆様方には、何卒お手柔らかにお願いします。   もう一つの問題ですが、セッションの…