FC2ブログ

スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SharePoint WarmUp Script (1) - MOSSの寝起きが悪い件

2010年11月07日 16:09

こんにちは。JFRです。

皆さんは健全なる朝型の生活を送ってらっしゃいますでしょうか?
この業界にはありがちというか、単に低血圧のせいなのか、
私は昔から朝が苦手で、寝起きが非常に悪いです。
2台の携帯を時間差でアラームをかけて目覚まし代わりにしているのですが、
これらが鳴り出しても、30分くらい放置して、いい加減出勤しないとヤバい時間になって、ようやく諦めて布団から出てくる始末です。

で、我らがMOSS2007・SharePoint2010(に限らず、ASP.NET全般ですが)も寝起きが非常に悪いので有名です。

以前、お客様から『画面が出るのに40秒くらいかかる事があるんだけど、大丈夫か?』みたいな問い合わせが来て、とりあえず『遅いのは初回だけなので大丈夫です。問題ありません。(キリッ)』とか返してみたのですが、納得していただけませんでした。(当たり前か。。)




以下、(仕方なく(^^;)調査してみた内容です。
(私は、インフラ担当で、開発系の知識には自信がありません。間違い等あればご指摘いただきたいと思います。)

ASP.NETでは、アプリケーションのコンパイル処理が初回アクセス時に実行されます。一度、コンパイルが実行されればキャッシュされるため、以後は高速に処理されますが、このコンパイル処理には結構時間がかかります。(環境によっては、30秒~40秒ほど)

IISの既定の設定では、アプリケーションプールリサイクルがAM2:00前後に(ランダムで)設定されていますので、このタイミングでキャッシュがクリアされます。

リサイクル設定


で、朝、会社に来て誰かがアクセスして初めてコンパイル処理が実行されるので、朝一に会社に来る超優秀な人が貧乏くじを引いて、すごく待たされるというカラクリです。

結局、会社に朝一番に来る人より早くアクセスして、MOSSを叩き起してしまえば良いという事なので、リサイクル実行後に自動でサイトにアクセスするスクリプトを実行させれば良い、という結論となります。
とはいえ、スクリプト作るの、結構面倒クサイなぁ、誰か作ってないかなぁ。とかウダウダ調べてみたら、ちゃんとスクリプトを公開してくれている人がいました。

色々な人が色々なスクリプトを公開しているみたいだったのですが、今回のお客様がWSS3.0だったのと、こんな事もあろうかと、PowerShellをインストールしていた(我ながらグッジョブ)ので、MOSS2007/WSS3.0用のPowerShell版をチョイス。
Kirkさんアリガトウ!!

Kirk Hofer’s Blog
SharePoint Warm Up Script

PowerShellはまだまだ勉強中なので、このコード、結構参考になります。
DefaultCredentialの取得方法とか、XMLの処理とか。フムフム、なるほど、こうするのか。〆(・ω・` )メモメモ

stsadmの列挙系のコマンドの出力がXML形式で、VB Scriptで処理しにくくて、なんでこんな仕様なの?とか常々疑問に思っていたのですが、PowerShellだと、こんなエレガントにコーディング出来るんですね。脱帽です。
もう、MicroSoft的にはPowerShell使え、って事ですね。
いい加減、VB Scriptと決別しないと。
思えば長い付き合いでした。お世話になりました。これからはPowerShellと共に生きていきます。。。(^^;

で、お客様に紹介する前に、検証環境で実行してみたのですが、動かね~!!
次みたいなエラーが発生します。

値 "System.Object[]" を型 "System.Xml.XmlDocument" に変換できません。
エラー: "ルート レベルのデータが無効です。 行 2、位置 1 です。"

発生場所 D:\script\MOSSWarmUp.ps1:25 文字:16
+ [xml]$sites <<<< =stsadm -o enumsites -url $zone.Default;
+ CategoryInfo : MetadataError: (:) []、ArgumentTransformationMetadataException
+ FullyQualifiedErrorId : RuntimeException


結果的に、動作させるためにはスクリプトの修正が必要だったのですが、
いい感じにgdgd長くなってしまったので、つづきは次回に。

その2へつづく。

環境: MOSS2007(12.0.0.6421)


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://sharepointblog.blog71.fc2.com/tb.php/4-77cbf0ee
    この記事へのトラックバック



    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。