[改訂版] SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ

過去のブログ投稿でもご案内しておりますように、CSOM などのクライアント サイド API を利用するプログラムにおいて、HTTP 調整機能への対策として増分バックオフ リトライを実装することを推奨しています。 タイトル: PowerShell サンプル : SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ アドレス: https://blogs.technet.microsoft.com/sharepoint_support/2016/10/08/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry/   従来弊社より案内していた増分バックオフ リトライのサンプル コードでは、Exponential Backoff というアルゴリズム (指数関数的にリトライ間隔を大きくする実装) を推奨していましたが、最新のベスト プラクティスにおいては、HTTP 応答の “Retry-After” ヘッダーの値を利用してリトライ間隔を指定する実装を推奨しています。本実装は、SharePoint Online だけでなく、Microsoft Graph API 等においても同様の推奨事項となります。   タイトル: SharePoint Online で調整またはブロックを回避する アドレス: https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online タイトル: Microsoft Graph throttling guidance アドレス: https://developer.microsoft.com/en-us/graph/docs/concepts/throttling   本稿では、冒頭のブログで紹介している…


構造ナビゲーション、CQWP によるパフォーマンス劣化について

以下の公開情報でご案内しておりますように、SharePoint Online で構造ナビゲーション、コンテンツ クエリ Web パーツ (以下、CQWP と略します) を利用するとデータベースに負荷が生じ、サイト アクセス時にパフォーマンス劣化が生じる場合がございます。   タイトル : SharePoint Online のパフォーマンス チューニングについて アドレス : https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/   構造ナビゲーション、CQWP を以前からご利用されており、特に設定変更や運用の変更などを実施していないにも関わらず、突然パフォーマンスが劣化することについての疑問を頻繁にお問い合わせいただくため、以下に考えられる要因をご紹介いたします。 なお、上述の公開情報に記載のとおり、構造ナビゲーション、CQWP を利用することによってパフォーマンスが劣化する場合、データセンター側でのサーバーのリソース増強などによる対応は効果的ではありません。 よりパフォーマンスに優れる代替機能への置き換えや、パフォーマンスのチューニングが有効な対処となりますので、構造ナビゲーション、CQWP をご利用されている場合は上述の公開情報を参考にお早めに対処をご検討ください。   パフォーマンス劣化が生じる要因について 構造ナビゲーション、CQWP は負荷の大きなクエリがデータベースに対して実行されるため、データベースのリソースを消費し、データベースからの応答が遅延することでパフォーマンスが劣化します。 SharePoint Online は単一のデータベースに複数のサイト コレクションの情報や、テナントの規模によっては OneDrive for Business の情報も保持されるため、当該機能によるパフォーマンス劣化の影響範囲としては、最大でテナント全体となります。   SharePoint Online はデータセンター側で継続して動作が追加/更新されており、また SaaS 型の共有サービスのため、他のテナントとサーバーやデータベースも共有しております。 突然発生したパフォーマンスの劣化は、主にこの様な要因が影響しており、以下に考えられる具体的なシナリオをご案内いたします。   1.     フロントエンドサーバーの増加、キャッシュの廃止 SharePoint Online は利用者が継続して増加しており、現在多くのフロントエンドサーバーが稼働している状況となります。 構造ナビゲーションや CQWP は従来よりデータベースへの負荷が大きな機能となるため、フロントエンド…


SharePoint Online の HTTP 調整 (応答コード 429) に関して

SharePoint Online は、データセンターの安定稼働のため、HTTP アクセスの一部をブロックして負荷調整する機能が備わっております。 SharePoint Online では、様々な利用者がファーム環境を共有しており、それぞれのお客様の利用状況に合わせて様々な HTTP 要求が送信されています。 サービス提供者の立場から、各利用者の利用状況や負荷状況の事前予測は不可能であり、個別に異なった運用対処もできません。このような予測しない高負荷が発生した際に、データセンターを守るための共通の基盤を用意する必要があります。 HTTP 調整は、上記背景のもとサービスの継続稼働のため、データセンター側の各種様々なパフォーマンス カウンタ値をもとに、HTTP アクセスに重みづけのルールを考慮して、高負荷と判断される際に優先度の低い HTTP 要求から受信直後・処理開始前にブロックし、負荷を自動調整 (縮退運転) するような設計で実装されています。 以下に例を記載します。データや指標などについては理解を促すための完全に恣意的なものです。 優先度 A の HTTP 要求は 15:00 のみにブロックされています。 優先度 B の HTTP 要求は 15:00 と 18:00 にブロックされています。 優先度 C の HTTP 要求は 12:00, 15:00, 18:00 にブロックされています。 優先度により、それぞれ異なったしきい値があるため、このように異なった結果になる例となります。   HTTP アクセスの優先度付けについて SharePoint Online への HTTP アクセスは重みづけされ、優先度が判断されます。 例えば、通常ブラウザー アクセス、JavaScript…


発行用イメージ列の制限について

こんにちは。SharePoint サポートの清です。 今回の投稿では、SharePoint Online における発行用イメージ列 (*) の制限事項についてご案内します。 SharePoint Online の環境において、リスト等で発行用イメージ列をご利用いただく場合、モダン UI での表示に対応していないため、モダン UI では画像が表示されない現象が確認されています。 本動作につきましては、改善するべき動作として開発部門へのフィードバックを実施しておりますが、現状の対処としましては、モダン UI でのご利用がある場合には、ハイパーリンクまたは画像列、複数行テキスト列等で代用いただくことをご検討くださいますようお願いいたします。   * 発行用イメージ列について 発行用イメージ列は発行機能を有効化したサイトにおいて作成されるサイト列です。 既定では、サイト列として、[お勧めのイメージ] や、[ページのアイコン]、 [ページのイメージ] などページ レイアウトの列に作成され、アーティクル ページや、ウェルカム ページ等のページのイメージとなる画像を管理するためにご利用いただけます。 上述のような既定で作成される列の他に、サイト列として発行用イメージ列を別途作成いただくことも可能です。   – クラシック UI – モダン UI 今回の投稿は以上です。 本情報の内容は、作成日時点のものであり、予告なく変更される場合があります。  


SharePoint Online で発行機能を有効にする場合の留意点

サイト コレクションの作成後に SharePoint Server 発行インフラストラクチャ/SharePoint Server 発行機能を有効にする場合、主にパフォーマンスの観点で以下のような留意すべき事項があります。 ・ナビゲーション ・ページ (Pages) ライブラリ   一般的に運用の開始後は設定や構成の変更が難しくなりますので、本稿の内容を構築の段階で考慮いただくことを、推奨いたします。   なお、サイト コレクションの作成時に、”発行ポータル” (英語: Publishing Portal) テンプレートを利用される場合は後述の内容は考慮された状態でサイト コレクションが作成されます。 このため、発行機能の利用を検討される場合は、サイト コレクションの作成時に、”発行ポータル” テンプレートを利用することもご検討ください。   ナビゲーション サイト コレクションの作成後に SharePoint Server 発行インフラストラクチャ機能を有効にすると、ナビゲーションに構造ナビゲーションが設定されます。 以下のブログ投稿でも紹介していますが、構造ナビゲーションを利用すると深刻なパフォーマンスの劣化が生じる可能性があるため、SharePoint Server 発行インフラストラクチャ機能を有効にした場合は、ナビゲーションを管理ナビゲーションに変更することが強く推奨されます。   タイトル : SharePoint Online のパフォーマンス チューニングについて アドレス : https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/   タイトル : SharePoint Online で管理ナビゲーションを使用する アドレス : https://blogs.technet.microsoft.com/sharepoint_support/2018/07/02/using-managed-navigation-in-sharepoint-online/    …


SharePoint Online で管理ナビゲーションを使用する

今回は、管理ナビゲーションの利用イメージや使い方について説明します。 はじめに サイト コレクションの機能より、”発行インフラストラクチャー” をアクティブ化するとナビゲーションが既定で構造ナビゲーションが使用されます。 しかし、様々な弊社公開情報に記載の通りSharePoint Online では構造ナビゲーションは、ページ描画時のパフォーマンスに深刻な影響を与える場合があることが認識されています。 しかし、管理ナビゲーションに移行する場合、用語ストアなど聞きなれない言葉がたくさん出てくるため躊躇する方もいらっしゃると思います。本投稿では管理ナビゲーションへのスムーズな移行を目的とし、その設定や注意事項などを解説します。 1. 概念 – 管理ナビゲーションと用語ストアの関連性について 下記の図が、管理ナビゲーションにおける各専門用語の関連性となります。 上記図の説明 サイトのナビゲーション設定では、ナビゲーションに使用する用語セットを 1 つ選択します。 サイト ナビゲーションと用語セットの関係性は 1:1 です。用語セットを 1 つのサイトのナビゲーションで使用した場合、他のサイトでは同時に使用できません。画面上で設定しようとするとエラー ダイアログが出る場合がありますし、設定できたとしてもナビゲーション メニューがエラー表示となります。 サイトのナビゲーションに使用する用語セットを選択した後は、用語ストアを編集する操作の流れとなります。 用語ストア配下に存在する用語が各ナビゲーション メニューに相当する形になります。 用語ストア内には、テナントとサイト コレクションを 2 種類の範囲が指定できます。ただし、テナントの範囲で用語ストアを編集するためには、用語ストア管理者権限が必要となります。   2. 基礎 – ナビゲーション設定の基本手順について 1) サイトのナビゲーション設定について [サイトの設定] – [ナビゲーション] をクリックします。最初に、該当サイトで管理ナビゲーションを使用するよう設定します。 発行ポータルをテンプレートとしてサイト コレクションを作成した場合、トップサイトのナビゲーション設定は管理ナビゲーションが既定値になっています。   2) サイトのナビゲーションに使用する用語セットを選択 (または作成) します。 [用語セットの作成] をクリックすると、用語セットが作成され、自動的にサイトのナビゲーションとして選択されます。 また、作成済みの用語セットを選択することも可能です。  …


SharePoint Online で IE ドキュメント モードを 10 に変更するサンプル コード

2019.2.27 追記 IE11 モードに互換性のないカスタマイズを実装している場合や、 IE のパッチ未適用シナリオなど、非常に特殊なシナリオ以外では、この機能アクティブ化を実施する必要はなくなりました。また、ドキュメント モード IE10 モードに互換性のない機能も増加してきております。問題がないことを確認の上、順次切り戻し手順を進めてくださいますようお願いいたします。   以下のサイトに記載された IE のドキュメント モードを 10 に指定するコードが記載されております。 本投稿では、これを応用し SharePoint Online の全サイト コレクション (OneDrive for Business 個人用サイトを除く) を対象として設定を適用します。 タイトル : Display a classic SharePoint Online site in Internet Explorer 10 document mode アドレス : https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a 機械翻訳 : https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a   事前準備 下記の内容を実施済みのクライアント環境においては、事前準備の項目を再度実施する必要はございません。 1 : SharePoint Online 管理シェルのダウンロード サンプル スクリプトを実行するための実行環境として SharePoint Online 管理シェルをダウンロードします。 以下のリンクより最新版がダウンロード可能です。…


SharePoint Online IE ドキュメント モードの変更について

IE のドキュメント モードが、順次 Edge モードに切り替わる変更が適用されてきております。   変更概要 IE のドキュメント モードは、下記のようなクラシック表示のエクスペリエンスを明示的に設定している場合、ドキュメント モードを IE10 モードとして描画する動作となっています。 (この動作は標準のマスターページに組み込まれている IECompatibleMetaTag サーバー コントロールの内部動作によって制御されています。)   SharePoint Online 管理センターの [設定] にて、”クラシック表示のエクスペリエンス″ を指定している場合   リストやライブラリの設定の [詳細設定] にて、クラシック表示または管理センターで指定した既定の動作を継承している場合 変更履歴 6 月末に、より多くの IE ブラウザーで Edge モードで描画するように、本設定を考慮しないよう動作変更されました。 7 月 4 日、この動作は元の動作に一旦切り戻されました。 現在、再度本設定を考慮しないように動作変更されました。 現在の所、カスタマイズ要因やパッチ未適用など、利用者側の要因においてのみ、どうしてもドキュメント モードを IE10 モードに戻す必要がある場合のみ、回避策をご検討ください。ただし、ドキュメント モード IE10 モードには、現時点ですでに機能制限があることがわかっております。今後追加される機能においても互換性の問題が生じる可能性がありますため、順次移行を進めてください。   報告されている現象について 7 月 4 日現在、以下の現象は再現しませんが、今後の対応が必要なものもあると存じますので記載を残させていただきます。 1. InfoPath…


SharePoint Online のパフォーマンス チューニングについて

今回の投稿では、SharePoint Online のパフォーマンス チューニングについて、特に重要な点をご案内いたします。 一般的に運用の開始後は設定や構成の変更が難しくなりますので、パフォーマンス チューニングについては、構築の段階から考慮いただくことが重要となります。 後述の通り、SharePoint Online と SharePoint オンプレミスのアーキテクチャの相違もパフォーマンスに大きく影響するため、SharePoint オンプレミスから SharePoint Online へ移行を検討する場合においても、本稿の内容は非常に重要になります。   クラウドサービスについては継続して動作が変更されるため、今後もパフォーマンス チューニングについての考慮点は段階的に追加や変更がされる可能性がありますが、以下にご案内する機能については今後パフォーマンスの改善を予定しておりません。 SharePoint Online をベストな状態でご利用いただくためには、可能な限り本稿の内容を考慮いただくことを、お願いいたします。   パフォーマンス チューニングの必要性 SharePoint Online はクラウド サービスとなりますので、データセンター側でサーバーの稼働状況を継続的に自動で監視し、必要に応じて適切なスケーリングを実施しています。 しかし、SharePoint Online は柔軟なサイト デザインや、カスタマイズ機能を提供していることから様々な利用方法が想定され、データセンター側のインフラにおけるスケーリングのみでは十分なパフォーマンスが得られないことがあります。 また、一部の機能においては深刻なパフォーマンス劣化が生じる可能性があるものの、データセンター側のスケーリングが対応しておりません。 このため、ご利用者様においても、パフォーマンス チューニングについては意識していただく必要があります。   パフォーマンス チューニングに関する情報は今後も随時して公開していく予定ですが、データセンター側のスケーリングが対応していない機能については、特に注意いただく必要があります。 詳細は次項にてご案内いたします。   データセンター側のスケーリングに対応していない機能 SharePoint Server 発行インフラストラクチャ/SharePoint Server 発行機能 (以下、発行機能) を有効にしているサイト コレクション/サイトで利用可能な以下の機能については、SharePoint Online のパフォーマンスに大きく影響する可能性があります。 ・構造ナビゲーション ・コンテンツ クエリ Web…


PowerShell で SharePoint CSOM を使用する際の Tips

こんにちは、SharePoint サポートの秋山 雅裕 (makiyama) です。   今回の投稿では、SharePoint Server / SharePoint Online に対して、クライアント サイド オブジェクト モデル (以下、CSOM) をリモートで実行する PowerShell スクリプトを記述する際の Tips をご紹介します。   CSOM を使用することで、SharePoint にログインすることなくサイト コレクション配下のオブジェクトを操作するバッチなどを実装することが可能です。 また、PowerShell を使用することで、Visual Studio などをインストールすることなくスクリプトが実行できます。   <目次> 事前準備 ツール 基本的な CSOM の実装 ラムダ式の利用 ファイル出力   事前準備 対象となる SharePoint によって利用可能な API が異なるため、適切な CSOM のアセンブリを取得します。 SharePoint の更新に合わせて CSOM のアセンブリも更新されるため、定期的に最新版を確認、取得いただくことをお勧めします。   SharePoint Online…