見落とされやすいパフォーマンス問題の原因

こんにちは。SharePoint サポートチームの荒川です。 これまでにも何度かブロッキング関連のトラブルについて記事を書いてきましたが、今回は見落とされやすいブロッキング要因について解説します。   この記事の趣旨 一つのコンテンツデータベースにデータ量が多いサイトコレクションとデータ量の少ないサイトコレクションを混在させた場合、パフォーマンスおよびブロッキング問題の原因になることがあるため、データ量が多いサイトコレクションには専用のコンテンツデータベースを設けることを強くお勧めします。   問題シナリオ 以下の問題について考えます。 サイトにアクセスするとしばらく (30秒から1分以上) 待たされ、サイトが開けることもあるがタイムアウトエラーになりアクセスできないこともある。 この問題は時々発生し、すべての Web サーバーを IIS リセットするか、SQL サーバーを再起動またはフェールオーバーすることで改善されるがしばらくすると再発する。   上記のような問題が発生している場合、可能性が高い原因として SQL サーバーのブロッキング問題が挙げられます。 ブロッキング問題が発生しているときの特徴には以下のようなものがあり、これらの状況が複数一致しているようであればブロッキング問題に遭遇している可能性が高くなります。  サイトにアクセスするとすぐにエラーになるのではなく、しばらく砂時計の状態で待たされる 最終的にタイムアウトエラーとなる場合もあれば、一定時間で解消することもある 問題が断続的に発生し、IIS リセットや SQL サーバーの再起動で解消される ブロッキングが発生してクエリのパフォーマンスが低下している状況では、SharePoint の診断ログに以下のような「Slow Query Duration」の警告が複数出力されることがあります。このログはクエリが完了したタイミングで記録されるものになりますので、ブロッキングが長時間におよびクエリが全く成功しない状況ではログが出力されない場合もあり、一様に判断基準にすることはできませんが、パフォーマンス問題の診断の参考として利用できる情報です。 <診断ログの例> 07/01/2016 17:15:05.35 w3wp.exe (0x1234) 0x0123 SharePoint Foundation Database fa43 High Slow Query Duration: 4562406.84626119 c6dd1b44-7004-46ff-xxxx-d2b1b9ca5ec0   上記のログが出力される場合少なくとも SQL Server に対してクエリは実行されており、そのクエリの実行に時間がかかっているということが判断できますので、SQL Server…


SharePoint ブロッキング問題の調査手法 (後編)

<連載> SharePoint ブロッキング問題の調査手法 (前編) SharePoint ブロッキング問題の調査手法 (後編)   こんにちは。SharePoint サポートチームの荒川です。 前回に引き続き、ブロッキングの要因となった操作を特定する方法について解説します。 前編では、利用状況モニターを使用してリアルタイムにブロッキングを確認する方法について解説しましたが、利用状況モニターを見ただけではブロッキングの発生有無は確認できてもその原因となった操作までは特定できませんでした。ブロッキングの原因となった操作を特定するためには、SQL Server 側の情報と合わせて、SharePoint 側の情報も確認する必要があります。   SQL Server 側での情報採取 SharePoint 側の処理を特定する前に、SQL Server 側で先頭ブロックの SQL クエリの内容と、セッション情報を取得する必要があります。前編でも述べたとおり、ブロッキングは通常 SharePoint 側からは単なる処理の遅延として扱われるため、SharePoint 側のログには一目でそれとわかるようなエラー情報は出力されません。タイムアウトエラーが記録されたときには既に遅く、ブロッキングの原因となっているアクセスに関するログはそれよりずっと前に記録されていることが殆どであり、診断ログの情報量はとても多いため、問題の発生個所の特定は容易ではありません。このため、SQL Server 側からのアプローチが必要になります。 利用状況モニターの情報は、リアルタイムでの調査には向いていますが、データを採取しておき後から調べるのには向いていませんので、利用状況モニターと同様の情報に加えて後の調査に必要となる様々な情報を一括で採取できるスクリプトを使用します。以下のスクリプトの内容をコピーして [新しいクエリ] に貼り付けて実行してみましょう。このスクリプトでは、ブロッキングに関するセッション情報、ブロッキングに関連しているプロセスで実行されているクエリ、ロックされているオブジェクトを特定するためのオブジェクト情報の一覧がまとめて採取できます。 すぐに調査しない場合であっても、[クエリ] メニューの [結果の出力] で「結果をファイルに出力」を選択して結果を保存しておけば、後から調査する際の参考データとしても使用できます。 /*出力1 – セッション一覧*/ SELECT [Session ID] = s.session_id, [Last Request Start Time] = s.last_request_start_time, [Host Name] = ISNULL(s.host_name,…


SharePoint ブロッキング問題の調査手法 (前編)

<連載> SharePoint ブロッキング問題の調査手法 (前編) SharePoint ブロッキング問題の調査手法 (後編)   こんにちは。SharePoint サポートチームの荒川です。 以前に「SharePoint と SQL ブロッキングの話」と題して SharePoint Server におけるブロッキング問題について解説しましたが、今回は SharePoint ブロッキング問題の調査手法について、より実践的な内容に踏み込んで解説したいと思います。   はじめに お客様からお問い合わせいただくパフォーマンス問題の大半を占める問題として SQL Server のブロッキング問題が挙げられます。ブロッキングとデッドロックは異なるもので、デッドロックはエラーとして検出されすぐにクライアント側にエラーが返されますが、ブロッキングは単に処理に時間がかかっている場合に発生する待ち状態になります。従ってプログラム上は正常に動作している範疇にあるものと捉えますので、これを「問題」ととらえるか否かは、ブロッキングの程度とユーザーの許容範囲に依るものとなり、その性質が、トラブルシュートをより難しいものにしています。 私の経験上、ブロッキングが発生する環境では同一コンテンツ データベース内に複数のサイト コレクションが存在し、さらに一部のサイトコレクションのデータ テーブルに数万件単位の大量のレコードが存在することが多いように見受けられます。レコードの内容は単純にリストやライブラリのアイテム数であったり、ユーザー権限や監査ログ等に関するレコードであったり、個人用 Web パーツやリンク情報といったユーザーの運用方法に大きく依存するため、一様にお伝えすることができないのが現状です。特にユーザーのアクセス毎にデータを登録したり、バッチ処理で大量のデータを処理するなどカスタマイズによる自動化が組み込まれた環境において発生しやすい傾向に感じます。 今回は私の検証環境を用いて実際に SharePoint 上でブロッキングが発生する状況を作り出し、その環境下で原因の特定を作業を進めていきますが、大規模なブロッキングを起こすようなデータ状態をすぐに再現することは難しいため、シンプルにブロッキングの調査手法をご理解いただくことを目的として、以下のような検証環境を作成してみました。 SharePoint Server 2013 SP1 オールインワン (SQL を含む) 環境 検証用リストにフォルダーを作成 フォルダー配下にアイテムを10万件登録 この環境で試しにルートフォルダーのリネームを実施したところ、およそ 40 秒程度の時間を要し、その間に別の IE ウインドウから該当フォルダー配下のアイテムのリネームを実施したところ、フォルダーのリネーム処理が完了するまでの間アイテムのリネーム処理が待たされる (ブロッキングされる) 状況を作り出すことができました。あまり頻繁に発生するようなシナリオではないかもしれませんが、ブロッキング調査の方法を理解するためのサンプルシナリオとして採用しています。   問題がブロッキングに依存するものかどうかの判断基準 ブロッキング問題にはサイトのパフォーマンスが若干低下する程度のものから、サイトに全くアクセスできなくなるものまで様々な程度があります。 パフォーマンスが一時的に低下するだけであれば、致命的な問題とはならず、エンドユーザーからの問い合わせも発生しない場合もありますが、重度なものでは長時間にわたりサイトに全くアクセスができなくなるなど致命的な問題に至る可能性もあります。…


ブロックされるファイルの種類について

こんにちは。SharePoint サポートの渡邉です。 SharePoint はコラボレーション ツールとして様々なファイルをアップロードし、チームで共有することができます。 またサーバー側のセキュリティ対策として、SharePoint 2013 製品までは、特定の拡張子に対してアップロードの制限を行ってきました。 しかし最新のブラウザでは、閲覧したサイト上の悪意のあるファイルがクライアントで自動実行されないよう、セキュリティ対策が強化されています。 またユーザー様からの要望もあり、SharePoint 2016 製品では、拡張子によるファイルのアップロードの制限を大幅に見直しました   下記の公開情報では、製品ごとにアップロードが制限されるファイルの拡張子を一覧にしてご案内をしております。 なお SharePoint Online (O365) では、ファイルの拡張子によるアップロードの制限を行っておりません。 タイトル:リストまたはライブラリに追加できないファイルの種類 アドレス:http://office.microsoft.com/ja-jp/sharepoint-foundation-help/types-of-files-that-cannot-be-added-to-a-list-or-library-HA101907868.aspx   オンプレミス環境では、下記の公開情報の手順で制限を変更することができます。手順は SharePoint 2016 でも同様です。 手順をご参照いただき、ファイルのアップロードを制限の変更をご検討ください。 タイトル : ブロックするファイルの種類を管理する アドレス : http://technet.microsoft.com/ja-jp/library/cc262496.aspx  

0

SharePoint Server の更新プログラムの適用方法について

こんにちは、SharePoint サポートの川添です。 SharePoint には、Service Pack や Cumulative Update、Public Update 等の各種の更新プログラムの種類があります。いずれの更新プログラムにおいても、基本的な適用方法は同じですので、今回の投稿の中で、SharePoint Server の更新プログラムの適用方法について説明します。 更新プログラムの詳細については、以下のブログ記事にて詳細に解説してありますので、併せてご参照ください。 SharePoint 修正プログラム詳解 (SharePoint patching demystified)   更新プログラム適用の概要 SharePoint の更新プログラムの適用手順は、1). 更新モジュールの適用、2). データベース スキーマの更新、ファイルシステム上のセキュリティ設定、必要なバイナリ― ファイルの再配置、フィーチャーの更新等の 2 ステップから更新されます。TechNet の記事にも更新プログラムの適用はバイナリファイルのインストールと、サーバー側でのアップグレードの 2 つを実施する必要がある点について記載されています。この 2 つ目のステップを実施するのが、構成ウィザードになります。そのため、更新プログラムの適用を完全に完了するには、上記 2 つのステップを完了する必要があります。   ポイント CU適用の基本的な流れは以下になります。 ①CUインストールによるバイナリの更新 => ②構成ウィザードの実施によるデータベーススキーマ更新 このうち②には時間がかかる場合があるため取り急ぎ①まで先に実施した後②の実施を先延ばしにすることもできます。   補足 : この構成ウィザードを実施するサーバー側の更新ステップでは、環境により時間がかかる場合があります。そのため、SharePoint 2010 以降では、ステップ 1 となる、更新モジュールの適用を完了した後、システムの運用上の要件、制約により、構成ウィザードを実施するまでの間の期間を置くことができようになりました。これは、下位互換性 (Compatibility Range) がサポートされるようになったためです。この期間は、設定があるわけではありませんが、合理的な期間 (数日 –…


仮想環境上の SharePoint ファームのバックアップについて

こんにちは、SharePoint サポートの西村です。 今回は仮想環境の SharePoint ファームのバックアップについて投稿したいと思います。   Hyper-V をはじめとする仮想環境上に SharePoint ファームを構築することも大分一般的となり、私たちもお問い合わせをいただくことが増えてきました。 一般的な SahrePoint ファームのバックアップ・リストア方法については、下記の技術資料に記載されているのですが、仮想環境のバックアップに関しては記載がありません。   タイトル:SharePoint Server 2016 でファームをバックアップする アドレス:https://technet.microsoft.com/ja-jp/library/ee428316(v=office.16).aspx   そこで、本投稿ではサポートされる仮想環境上の SharePoint ファームのバックアップ方法についてご案内したいと思います。   サポートされるバックアップ方法 —————————————– 下記に推奨される仮想環境のバックアップ方法を記載いたします。 なお本投稿では、Hyper-V 上の SharePoint ファームをバックアップすることを想定しております。   方法 1 ファームを構成する全ての仮想マシンをシャットダウンします。 仮想マシンをホストするサーバーにて、全ての仮想マシンを Windows Server バックアップにて保存します。   方法 2 ファームを構成する全ての仮想マシンをシャットダウンします。 仮想マシンをホストするサーバーにて、全ての仮想マシンをエクスポートし保存します。   ※運用環境におけるスナップショットの取得、スナップショットを使用した切り戻しは後述引用資料 “SharePoint 2013 仮想マシンと Hyper-V 環境にベスト プラクティスの構成を使用する” にも記載のとおりサポートされません。    …

0

2016 年 7 月の CU がリリースされました

2016 年 7 月の CU がリリースされました。 SharePoint 2016 向けの修正は 2 つリリースされており、それぞれ異なる修正のため、最新にするには両方インストールする必要があります。   SharePoint 2010 KB: July 12, 2016, cumulative update for SharePoint Server 2010 (KB3115319) ダウンロード:Microsoft SharePoint Server 2010 (KB3115319) の更新プログラム SharePoint 2013 KB: July 12, 2016, cumulative update for SharePoint Server 2013 (KB3115293) ダウンロード: Microsoft SharePoint Enterprise Server 2013 (KB3115293) の更新プログラム SharePoint 2016 KB:…

0

SharePoint 2007 から SharePoint 2010 へのコンテンツ データベース移行時に発生する WARNING について

こんにちは、SharePoint サポートの丹羽 (ニワ) です。   SharePoint 2007 の延長サポート終了を 2017 年 10 月 10 日に控え、SharePoint 2016 や SharePoint 2013 への移行をご検討いただいている方も多くいらっしゃるかと思います。 今回の投稿では、SharePoint 2007 からのアップグレードに伴って必要となる、SharePoint 2010 へのコンテンツ データベースの移行の際に発生する現象と対処方法を紹介させていただきます。     発生する現象 SharePoint 2007 から SharePoint 2010 に Mount-SPContentDatabase コマンドを用いてコンテンツ データベースの移行を実施した際に、以下のようにコマンドが正常に終了した場合にも、コマンドを実行した SharePoint 2010 サーバーの Upgrade ログに WARNING が出力されます。   Mount-SPContentDatabase コマンドは正常に終了するものの…     Upgrade ログに WARNING が出力されています。 — ここから…

0

Microsoft Planner にて一般ユーザーによるプラン作成を制限する方法について

こんにちは、SharePoint サポートの森村です。 本記事では Microsoft Planner (以下 Planner) を使用した場合の動作について、弊社の米国のエンジニアが公開済みの下記ブログ記事の内容についてご案内いたします。 タイトル : Microsoft Planner–a few common support answers アドレス : https://blogs.msdn.microsoft.com/brismith/2016/06/06/microsoft-plannera-few-common-support-answers/ タイトル : Microsoft Planner: Another look as MsolSettings–and a couple more answers アドレス : https://blogs.msdn.microsoft.com/brismith/2016/06/07/microsoft-planner-another-look-as-msolsettingsand-a-couple-more-answers/ なお、本日 (2016 年 6 月 24 日) 現在の情報となるため、動作に変更等がある可能性があります。 目次 1. Microsoft Planner にて管理者以外の一般ユーザーによるプラン作成を制限する方法 2. 一部の一般ユーザーにプラン作成を許可する方法 3. 再度一般ユーザーにプラン作成を許可する方法 (設定を変更、削除する方法) 4. 関連情報 1….

0

Microsoft Planner のプラン作成直後の動作について

※2016 年 7 月 5 日に内容を更新しました。 こんにちは、SharePoint サポートの森村です。 本記事では Microsoft Planner (以下 Planner) を使用し、プランを作成した直後の動作についてご案内いたします。 なお、本日 (2016 年 7 月 5 日) 現在の情報となるため、動作に変更等がある可能性があります。 目次 1. プラン作成直後の動作について 2. 関連情報 1. プラン作成直後の動作について Planner 製品は Office 365 グループの機能を利用しております。 Planner のページから [新しいプラン] をクリックすると、プランの名前の Office 365 グループが作成され、そのグループ用のプランとして Planner 上でプランの編集が可能となります。 本日 7/5 時点の動作では、Planner からプラン作成後に自動的にグループのサイト コレクションの作成が開始されるため、プラン作成直後には関連サイトは存在しません。このため、[スレッド]、[ファイル]、[ノートブック] 等の関連メニューは使用できず、下記の様にメッセージが表示される場合があります。 プラン作成直後に [ノートブック] をクリックした場合 「まだプランのノートブックを設定中です。しばらくしてから、もう一度ご確認ください。」というメッセージが表示されます。 プラン作成直後に [スレッド]…

0