本記事の原文はCitrixのアーキテクトである Daniel Feller氏 (@djfeller) によるものです。
原文を参照したい方はWindows Server 2016 Optimizations for Citrix XenAppをご確認ください。
情報は原文の投稿時のままの情報ですので、現時点では投稿時の情報と製品とで差異が出ている場合があります。
「OSの最適化」についてお話しますと、私は「2つの側面」があると考えています。
最適化はサーバー単体のスケーラビリティを向上させますが、OSを複雑に設定するほどOSを破損させてしまう可能性が高くなると思います。
デフォルトアプリケーション
Windows 10にはユーザーのログオン時間を増加させる既定のアプリケーションが多数ありますが、
Windows Server 2016にはこのような追加機能はありません。
サービス
Windows 10で無効にしたサービスの多くは、Windows Server 2016では既に手動として構成されています。
もう少し深いところに目を向けますと、これらのサービスの多くはアプリケーションによる要求に基づいて開始されるか、スケジュールされたタスクに基づいて起動されます。
サービスの起動が無効になっている場合、サービスとの連携が必要なアプリケーションまたはシステムコンポーネントは起動に失敗します。
このサービス起動の無効化設定によってアプリケーション/システムの問題が引き起こされ、サポートを呼び出したうえで長時間のトラブルシューティングを行わなければならない、という結果となってしまいます。
これらに基づき、無効にするべき唯一のサービスは次のとおりです。
注:マイクロソフトは無効化にすることができるサービスと無効化するべきではないサービスの一覧を公開しています。無効化することができるサービスのほとんどは手動起動モードに設定されています。
名前(サービス名) |
スタートアップ |
状態 |
公開アプリ |
公開デスクトップでの設定 |
Themes | 自動 | 実行中 | 無効 | 有効にすると : ユーザーエクスペリエンスの向上 無効にすると : サーバーでの集約率の向上 |
スケジュールされたタスク
スケジュールされたタスクは、トリガーが条件を満たしたときだけ実行されますので、集約度に対する影響は部分的です。
無効にする対象を決定するときは、非永続な環境でタスクによる影響を調べる必要があります。
この前提はXenApp Best Practice #3:Consistencyに基づきます。
スケジュールされたタスク - アプリケーション
タスク | 説明 |
Application Experience \ Microsoft Compatibility Appraiser |
アプリケーションの互換性の問題を解決するのに役立ちます。 |
Application Experience \ StartupTask | 起動エントリーが多すぎるかどうかを判断し、ユーザーに通知します。 |
スケジュールされたタスク - Microsoft Customer Experience Program
タスク | 説明 |
AutoCHK \ Proxy | このタスクはMicrosoftカスタマーエクスペリエンス向上プログラムに 同意した場合、autochk SQMデータを収集してアップロードします。 |
Customer Experience Improvement Program \Consolidator | このタスクはWindowsカスタマエクスペリエンス向上プログラムに 参加することに同意した場合、Microsoftに使用データを収集して 送信します。 |
Customer Experience Improvement Program \KernelCeipTask | このタスクはシステムに関する追加情報を収集し、カーネルCEIP (Customer Experience Improvement Program)のデータを マイクロソフトに送信します。 ユーザーがCEIPに参加することに同意しない場合、このタスクは 何も行いません。 |
Customer Experience Improvement Program \UsbCeip | このタスクは、ユニバーサルシリアルバス関連の統計情報と コンピュータに関する情報を収集し、MicrosoftのWindows Device Connectivityエンジニアリンググループに送信します。 受け取った情報は、WindowsのUSBの信頼性、安定性、および 全体的な機能を向上させるのに役立ちます。 ユーザーがCEIPへの参加に同意しなかった場合、このタスクは 何も行いません。 |
スケジュールされたタスク - 安全性
タスク | 説明 |
Windows Defender \ Windows Defender Cache Maintenance | 別のウイルスとマルウェアの保護がインストールされている場合は無効にすることができます。 |
Windows Defender \ Windows Defender Cleanup | 別のウイルスとマルウェアの保護がインストールされている場合は無効にすることができます。 |
Windows Defender \ Windows Defender Scheduled Scan | 別のウイルスとマルウェアの保護がインストールされている場合は無効にすることができます。 |
Windows Defender \ Windows Defender Verification | 別のウイルスとマルウェアの保護がインストールされている場合は無効にすることができます。 |
Windows Filtering Platform \BfeOnServiceStartTypeChange | このタスクは、BFE(Base Filtering Engine)のスタートアップの種類が無効になっている場合に、 ファイアウォールによって実行されるサービスのスタートアップの種類を調整します。 |
スケジュールされたタスク - メンテナンス
タスク | 説明 |
CHKDSK \ Proactive Scan | NTFSボリュームの健全性スキャンをします。 |
Diagnosis \ Scheduled | Windowsの定期メンテナンスタスクは、問題を自動的に解決するか、 またはアクションセンターを通じて報告することによって、コンピューターの 定期的なメンテナンスを実行します。 |
DiskDiagnostic \ Microsoft-Windows-DiskDiagnosticDataCollector | Windows Disk Diagnosticは、Customer Experience Programに参加している ユーザーのために、一般的なディスクおよびシステム情報をMicrosoftに報告します。 |
Maintenance \ WinSAT | システムのパフォーマンスと機能を測定します。 |
Power Efficiency Diagnostics \ AnalyzeSystem | このタスクは、高いバッテリー使用を引き起こす可能性のある状態を探して システムを分析します |
RecoveryEnvironment \ VerifyWinRE | Windowsの回復オプション環境を検証します。 |
Registry \ RegIdleBackup | レジストリアイドルバックアップタスクです。 |
スケジュールされたタスク - 一般的なもの
タスク | 説明 |
Mobile Broadband Accounts / MNO Metadata Parser | モバイルブロードバンドユーザーに関する情報を解析します。 |
Power Efficiency Diagnostics \ AnalyzeSystem | このタスクは、高いバッテリー使用を引き起こす可能性のある状態を探してシステムを分析します。 |
RAS / MobilityManager | 既定のインターフェイスがダウンしたときに、モビリティ対応VPN接続切り替えへのサポートを提供します。 |
Shell / IndexerAutomaticMaintenance | 検索インデックスのメンテナンスをします。 |
WDI \ ResolutionHost | Windows診断インフラストラクチャ解決ホストは、診断ポリシーサービスによって検出されたシステム 問題の対話型の解決を可能にします。 これは、適切なユーザーセッションで診断ポリシーサービスによって必要に応じて実行されます。 診断ポリシーサービスが実行されていない場合、このタスクは実行されません。 |
ユーザーインタフェース
ユーザーインターフェイスの最適化の多くはWindows 2000 Server以降で使用されています。
これにはユーザーからサーバーの管理ツールを隠すための設定と、ユーザーインターフェイスの機能を無効化することにより全体的な集約率を高める設定があります。
最適化項目 | 設定個所 |
スクリーンセーバーを無効化 | HKEY_USERS\.DEFAULT\ControlPanel\Desktop |
“ScreenSaveActive”=dword: 00000000 | |
ハードウェアに関するエラーを非表示 | [HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Control\Windows] |
“ErrorMode”=dword:00000002 | |
視覚効果をカスタムに設定する | [HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\VisualEffects] |
“VisualFXSetting”=dword:00000003 | |
「半透明の[選択]ツールを表示する」を無効化 | [HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\Advanced] |
“ListviewAlphaSelect”=dword:00000000 | |
「ウィンドウの下に影を表示する」を無効化 | [HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\Advanced] |
“ListviewShadow”=dword:00000000 | |
ウィンドウを最大化や最小化するときにアニメーションで表示する | [HKEY_CURRENT_USER \ControlPanel\Desktop\WindowMetrics] |
“MinAnimate”=”0” | |
「タスクバーでアニメーションを表示する」を無効化 | [HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Explorer\Advanced] |
“TaskbarAnimations”=dword:00000000 | |
プレビューを有効にする」を無効化 | [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM] |
“EnableAeroPeek”=dword:00000000 | |
タスクバーの縮小版のプレビューを保存する」を無効化 | [HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM] |
“AlwaysHibernateThumbnails”=dword:00000000 | |
スクリーンフォントの縁を滑らかにする」を無効化 | [HKEY_CURRENT_USER \Control Panel\Desktop] |
“FontSmoothing”=”0” | |
視覚効果の無効化 | [HKEY_CURRENT_USER \Control Panel\Desktop\] |
“UserPreferencesMask”=RegBin: “90,12,03,80,10,00,00,00” | |
マウスカーソルの点滅を無効化 | [HKEY_CURRENT_USER \Control Panel\Desktop] |
“CursorBlinkRate”=”-1″ | |
Internet Explorerの初回起動時のウィザードを無効化 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\ Microsoft\InternetExplorer\Main] |
“DisableFirstRunCustomize”=dword:00000001 | |
メニューの遅延表示を減らす | [HKEY_CURRENT_USER\ControlPanel\Desktop] |
MenuShowDelay”, “0” |
システム
最終的な最適化はシステムレベルの設定にフォーカスしており、お客様の組織はシステムの価値を最大限に引き出すことができます。
システム - BIOS
最適化項目 | 設定個所 |
最大パフォーマンス (電源) | BIOSが低電力モードではなく最大パフォーマンスで設定されていることを確認します。 |
システム - コマンド
最適化項目 | 設定個所 |
休止状態の無効化 | Powercfg -h off |
システム - レジストリの更新
最適化項目 | 設定個所 |
NTFSの最終アクセス日時の更新を無効化 | [HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\FileSystem] |
“NtfsDisableLastAccessUpdate”=dword:00000001 | |
メモリダンプの生成を無効化 | [HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\CrashControl] |
“CrashDumpEnabled”=dword:00000000 | |
“LogEvent”=dword:00000000 | |
“SendAlert”=dword:00000000 | |
ディスクI/Oのタイムアウト値を200秒に増やす | [HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\Disk] |
“TimeOutValue”=dword:000000C8 |
記事担当者 : SI技術本部 海野 航 (うんの わたる)