Windows Server 2016 安裝 遠端桌面服務 角色後,寫磁碟變慢的問題
作業系統版本:
目前已知Windows Server 2016 / 2019
問題描述:
當作業系統中新增 遠端桌面服務 角色後,使用資料庫客戶端遠端連線資料庫,匯出資料時速度會變慢,未安裝 遠端桌面服務角色前,匯出大約花費45秒左右,安裝後匯出大約花費520秒左右,相差12倍左右。
但是,解除安裝 遠端桌面服務 角色後,匯出資料的速度就恢復了正常,所以推斷跟 遠端桌面服務 角色有關係。
對作業系統的CPU、記憶體、磁碟、網路系統資源進行效能測試,在匯出資料慢時,資源使用率非常低,所以確定系統資源充足,沒有影響到匯出資料時間。
對資料網路傳輸時間和資料寫磁碟時間進行統計,發現匯出資料變慢,主要是寫入磁碟比較慢。
問題原因:
問題比較難解決,找到了資料庫相關方面的研發人員,也無法確定問題的原因,最後只能找微軟公司幫助解決問題。
微軟的工作人員透過使用 Process Monitor工具對匯出資料的過程進行了分析,得出如下結論:
在匯出速度快時,呼叫的堆疊如下
//呼叫棧如下
0 FLTMGR.SYS FltpPerformPreCallbacks
1 FLTMGR.SYS FltpPassThroughInternal
2 FLTMGR.SYS FltpPassThrough
3 FLTMGR.SYS FltpDispatch
4 ntoskrnl.exe IopSynchronousServiceTail
5 ntoskrnl.exe NtWriteFile
6 ntoskrnl.exe KiSystemServiceCopyEnd
7 ntdll.dll ZwWriteFile
8 KernelBase.dll
9 java.dll java.dll
10 java.dll java.dll
11 java.dll java.dll
在匯出慢的時,呼叫堆疊如下
傳輸較慢的日誌中,可以看到java在寫完初始檔案後,就沒有再寫檔案了,最後一直是在做網路傳輸,這個時候其實是系統程式在寫日誌
//具體呼叫棧如下,可以看到這時候是由TSFairShare這個檔案在寫檔案
0 FLTMGR.SYS FltpPerformPreCallbacksWorker
1 FLTMGR.SYS FltpInternalCompletePendedPreOperation
2 FLTMGR.SYS FltCompletePendedPreOperation
3 TSFairShare.sys I_CompletePendedIo C:\Windows\system32\drivers\TSFairShare.sys
4 TSFairShare.sys TSFSContinuePendedIo
5 TSFairShare.sys CTSSchedulerMgr::ContinueProcessIo
6 TSFairShare.sys CTSSchedulerMgr::ProcessNextWorkItem
7 TSFairShare.sys CTSSchedulerMgr::TSSchedulerWorkerThread
8 TSFairShare.sys CTSSchedulerMgr::staticTSSchedulerWorkerThread
9 ntoskrnl.exe PspSystemThreadStartup =
10 ntoskrnl.exe KiStartSystemThread
產生報錯原因:
根據微軟內部資料顯示,安裝rdsh的角色,就會block ODX 的快速傳輸機制,所以導致傳輸緩慢。
解決辦法 :
修改登錄檔,禁用TSFairShare功能。
在登錄檔中,有磁碟、網路、CPU資源啟用了TSFairShare,此將以下三個鍵值EnableFairShare由1修改為0,然後重啟計算機。也不用全都修改為0,根據自己的實際情況修改,我這裡是匯出資料時,寫入磁碟慢,因為只禁用磁碟的TSFairShare就可以了。
磁碟
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk\EnableFairShare
網路
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\NetFS\EnableFairShare
CPU
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Quota System\EnableFairShare
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2317695/viewspace-2869909/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Centos7安裝Xrdp遠端桌面服務CentOS
- Windows遠端桌面服務漏洞預警通告Windows
- Win Server 2019遠端桌面服務部署Server
- windows10開啟遠端桌面的步驟_win10如何開啟遠端桌面服務WindowsWin10
- Windows server 2012R2系統安裝遠端桌面服務後無法多使用者同時登入是什麼原因?WindowsServer
- 命令列重啟遠端桌面服務命令列
- windows server 2008 遠端桌面埠修改WindowsServer
- 如何在命令列下遠端安裝終端服務命令列
- Windows遠端連線Docker服務WindowsDocker
- 安裝RabbitMQ Server服務MQServer
- 服務端指南 | 基於角色的訪問控制服務端
- aix 遠端登陸緩慢問題AI
- 解決Windows遠端桌面連線每次都提示輸入密碼的問題,遠端桌面記不住密碼Windows密碼
- 遠端服務不能啟動問題的解決方法
- [openssh]windows 10使用cygwin安裝openssh服務端Windows服務端
- Windows server2008修改遠端桌面埠的方法WindowsServer
- windows遠端桌面埠修改Windows
- 快速開啟服務或者IIS或者遠端桌面
- linux遠端桌面(NX server)LinuxServer
- windows 安裝Nginx服務WindowsNginx
- ftp服務端安裝FTP服務端
- windows server 2012 遠端桌面授權嚮導WindowsServer
- linux遠端桌面亂碼解決及引起的相關問題、字型檔安裝Linux
- rdpclip 遠端桌面協議常遇到的問題協議
- FastNat外網訪問 Windows 3389 遠端桌面ASTWindows
- windows 安裝python後pip安裝路徑問題WindowsPython
- 如何提高後臺服務應用問題的排查效率?日誌 VS 遠端除錯除錯
- Windows server 2016的安裝網路配置WindowsServer
- 獲取Windows遠端桌面埠Windows
- windows遠端桌面mstsc使用 代理Windows
- Windows遠端連線CentOS桌面WindowsCentOS
- windows遠端桌面按鍵失效Windows
- windows遠端桌面埠修改(zt)Windows
- Windows服務建立及安裝Windows
- bbossaop遠端服務介紹-遠端服務呼叫例項
- 服務端常見服務安裝及配置服務端
- ubunbu 12.04中安裝xrdp建立遠端桌面
- Ubuntu 20.04 VNC服務開啟-遠端桌面設定UbuntuVNC