Dan*_* Wu 5 powershell powershell-remoting
如果我从solaris服务器ssh到美国服务器,ssh连接速度非常快,例如删除文件很快就能完成.
但是为什么PowerShell远程处理如此慢,在我进入远程会话后,然后删除一个项目,完成需要10秒以上.
Enter-PSSession -computerName test
remove-item 'C:\20010101.xls'
Run Code Online (Sandbox Code Playgroud)
运行以下命令也需要5秒以上.
[Environment]::UserDomainName + "\" + [Environment]::UserName+" on"+[Environment]::MachineName
Run Code Online (Sandbox Code Playgroud)
我使用远程处理的原因之一是远程桌面连接速度很慢,因为它必须将大量数据从服务器传输到本地.对于远程处理,我希望它只传输非常少量数据的文本,所以我希望它比远程桌面连接快得多.但事实是它也很慢.
有什么方法可以提高性能,或者找出大部分时间的用途?
丹尼尔,
我猜你看到的大部分时间都是由于远程PowerShell会话的启动造成的.
而不是使用Enter-PSSession尝试使用Invoke-Command.它仍然初始化远程PS会话,但您没有获得所有控制台开销.
Invoke-Command -Computer test -ScriptBlock {[Environment] :: UserDomainName +"\"+ [Environment] :: UserName +"on"+ [Environment] :: MachineName}
请记住,PowerShell和WinRM代表您做了很多事情,因为您的所有输出都被序列化为XML,然后再次重构为对象.关于PowerShell的最好的事情之一,一切都是一个对象,是什么使它通过ssh/bash/cmd等执行类似的操作时变慢.这都是关于权衡.
当我正在完成我知道需要一段时间的任务时,我会尝试将它们安排为工作并转向其他事情.
--Greg
| 归档时间: |
|
| 查看次数: |
5010 次 |
| 最近记录: |