SQL Azure

SQL Data Sync Previewの10月サービスアップデートがリリースされました。

このアップデートでは、

  • ユーザーは、同一サブスクリプション内に複数のSync Server(同期サーバー)を作成できるようになりました。
  • With this feature, users intending to create multiple sync groups with sync group hubs in different regions will enjoy performance improvement in data synchronization by provisioning the corresponding Sync Server in the same region where the hub is.

    (役が怪しい。。。)
    ユーザーは異なるリージョンにある同期グループハブ同士で同期グループを作成することで、同じリージョン内にあるデータハブとのデータ同期の性能を改善することができます。
    多分、以下のような話だとおもう(^^;
    image

新しいエージェントのダウンロード
新しいエージェントのアップデート手順

Windows Azure

Windows Azure Webサイト(WAWS)の更新が完了し、WAWS上で.NET Framework 4.5が動作しています。

Windows Azure Webサイト(WAWS)チームは、顧客からのフィードバックを受け、新しい機能追加、パフォーマンスとユーザーエクスペリエンスの改善にコミットしています。顧客から一番多くのフィードバックを受けた.NET Framework 4.5のサポートに対応するため、アップデートしました。

このアップデートで、すべてのWindows Azure Webサイトで.NET Framewrok4.5が動作するようになります。.NET Framework 4.5はインプレイスアップグレードされます。.NET4と.NET4.5の共存はサポートされていません。.NET4で作成されたアプリケーションは特に変更することなく動作します。

Windows Azure WebサイトでHTML5 Webソケットを提供しますか?

HTML 5 Webソケットのサポートには、.NET4.5とWin2012の両方が必要です。
Windows Azure Webサイトは、Win2008R2上で動作しており、HTML5Webソケットに対応していません。Win2012用のWAWSは間もなく提供予定です。

.NET Framework 4.5で提供される機能

.NET 4.5がインプレイスアップグレードの理由

.NET 4.5は、.NET4のサービスパック的な位置づけで設計されています。
.NET4に機能を追加するものです。
.NET4.5をインストールすると単純に、.NET4のアセンブリを置き換えるのです。

情報源

MSDNフォーラムに投稿された「WAWS Preview to support .NET Framework 4.5」を一部抜粋し意訳した投稿です。

Windows Azure

IIS 7移行であれば、トレースルールを定義することでWebサイトやアプリケーション、ディレクトリの失敗リクエストトレースを取得することができます。

2種類のルールが提供されています。

  • ステータスコード(statusCode)
    トレースしたいステータスコードを指定します。コンマでステータスコードを区切ることで、複数のステータスコードを入力することができます。「404.2,500」のようなサブステータスコードを使用することもでき、また「400-599」のように範囲でサブステータスを指定することもできます。
  • かかった時間(timeTaken)
    プロセスがリクエストを処理するのに使用できる最大時間を指定できます。指定した時間を超えると失敗となり、トレースされます。

Windows Azure Web Sites(WAWS)では、ポータル上で、「FAILED REQUESTTRACING」をオンにすることで使用できます。

しかし、WAWSではステータスコード「400-600」のルールのみが失敗リクエストとして定義されています。このルールでは、処理に長い時間かかっているが、ステータスコードが200となった処理をトレースすることができます。

ステータスコードが400以上のリクエスト、時間がかかったリクエストの両方をトレースするためには次の手順で設定する必要がります。

  1. Webサイトのweb.configで次の設定をします。
  2. WAWSポータルで、IIS loggingと「FAILED REQUESTTRACING」をオンにします。

<system.webServer>
  <tracing>
    <traceFailedRequests>
      <remove path="*" />
      <add path="*">
        <traceAreas>
          <add provider="ASP" verbosity="Verbose" />
          <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
          <add provider="ISAPI Extension" verbosity="Verbose" />
          <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" />
        </traceAreas>
        <failureDefinitions timeTaken="00:00:10" statusCodes="400-999" />
      </add>
    </traceFailedRequests>
  </tracing>
</system.webServer>

この変更で、次のリクエストをトレースできるようになります。

  • IISパイプラインで10秒以上かかっているリクエスト
  • ステータスコードが400番以上

情報源

MSDNフォーラムで、マイクロソフトのWZhaoさんが投稿した「Using Failed Request Tracing for slow requests」を意訳したエントリーです。

Windows Azure

  • 失敗リクエストトレース(Failed Request Tracing)ファイル(FREB)の最大数は50です。
    上限に達するとリサイクルして、上書きしていきます。
  • 失敗リクエストトレースを有効にすると、1時間ロギングします。
    1時間後、自動的に停止します。
  • 詳細エラーログ(detailed error log)ファイルの最大数も50です。
    上限に達するとリサイクルして、上書きしていきます。
  • 詳細エラーログを有効にすると、10時間ロギングします。
    10時間後、自動的に停止します。
  • ログファイルの最大容量は35MBで、最大容量に達したらhttpログはファイルを削除するまで無効化されます。
  • ログファイルを削除後、次の30分区切りでロギングを再開します。
    最大で30分再開に時間がかかります。
  • 複数ワーカー上でサイトが実行されている場合、複数のhttpログファイルが出力されます。

情報源

MSDNフォーラムで、マイクロソフトのApurvaさんが投稿した「Logging Features limits FAQ」を意訳した投稿です。

関連情報

Windows Azure

Windows Azure Webサイトで動作しているPHPサイトのエラー情報の取得方法について説明します。

ロギングオプションの有効化

Windows Azure 管理ポータルで、WebサイトのCONFIGUREタブを選択し、3つのロギングオプションを有効化します。3つのロギングは、Webサーバーのログ、詳細なエラーメッセージ、失敗したリクエストのトレースです。それらを有効化するために、diagnosticセクションを探し、それぞれをONにし、SAVEボタンをクリックします。

image

それらのログを確認する方法の1つは、FTP経由で参照する方法です。Azure管理ポータルの右端のパネルで、FTP HOSTNAMEとDEPLOYMENT ?FTP USERを参照します。FTPクライアントを使用して、接続します。

image

そのほかにログを確認する方法として、MacとLinux用のWindows Azureコマンドラインツールを使用する方法があります。次のコマンドを実行すると、.zipファイルでダウンロードすることができます。

azure site log download <site name>

このコマンドは、Linux/Macのスーパーユーザーで実行する必要があります。

PHPエラーレポーティングの設定

PHP.iniで次の設定をします。

display_errors=On
log_errors=On
error_log = "D:\home\site\wwwroot\bin\errors.log"

XDebugの有効化

FTP経由でXDebugプロファイルを取得することができます。
Windows Azure WebサイトでのXDebugの有効化方法についてを参照してください。

image

メモ

サイトでエラーを調べ始めると、favicon.icoの404エラーが大量に記録されていることに気づきます。エラーを解消するには単純に、favicon.icoをrootディレクトリに配置することです。

 

情報源

Brain氏のBlog投稿「Getting Error Info for PHP Sites in Windows Azure Web Sites」をざっくりと意訳して紹介した投稿です。