Sql server docker容器连接到SQL Server时的网络延迟
我有一个python flask应用程序在docker容器中运行。我正在使用Sql server docker容器连接到SQL Server时的网络延迟,sql-server,docker,dbatools,Sql Server,Docker,Dbatools,我有一个python flask应用程序在docker容器中运行。我正在使用Test DbaNetworkLatency测试我的应用程序和SQL Server(在本地运行)之间的网络延迟。我发现从docker容器运行时,网络延迟非常慢,但在Mac主机上运行时,网络延迟非常快。docker容器基于ubuntu,我在上面安装了powershell测试DbaNetworkLatency正在从powershell运行。我还在本地Mac OS上安装了powershell 我在当地的调查结果是: Execu
Test DbaNetworkLatency
测试我的应用程序和SQL Server(在本地运行)之间的网络延迟。我发现从docker容器运行时,网络延迟非常慢,但在Mac主机上运行时,网络延迟非常快。docker容器基于ubuntu
,我在上面安装了powershell
<代码>测试DbaNetworkLatency正在从powershell运行。我还在本地Mac OS上安装了powershell
我在当地的调查结果是:
ExecutionCount : 1
Total : 220.91 ms
Average : 220.91 ms
ExecuteOnlyTotal : 154.21 ms
ExecuteOnlyAverage : 154.21 ms
NetworkOnlyTotal : 66.69 ms
但是docker容器的结果是:
ExecutionCount : 1
Total : 1.23 s
Average : 1.23 s
ExecuteOnlyTotal : 282.52 ms
ExecuteOnlyAverage : 282.52 ms
NetworkOnlyTotal : 946.88 ms
您可以看到,从docker运行时存在很大的网络延迟。docker有什么问题吗
如果我从container和local ping实例,没有太大的不同。但当从容器和本地发送sql查询时,我确实看到了性能的不同。这就是为什么我需要Test DbaNetworkLatency
来测试网络延迟
经过一些测试后,我发现如果我将命令
testdbanetworklatency
放入pwsh-命令“testdbanetworklatency…”
中,速度会非常慢。但如果我运行pwsh
切换到powershell命令,那么它的运行速度与本地命令一样快。但是,如何定义dockerfile以让容器初始化powershell
让我指定powershell
脚本作为入口点?这可能是linux powershell的问题,因为它已经存在。若要将powershell排除为可疑对象,请尝试从主机和容器ping服务器,看看是否有任何显著差异?pint host没有任何区别。但是我发送给sql server的查询给了我不同的性能,这就是为什么我想使用Test DbaNetworkLatency
来测试网络延迟。此链接重大性能问题
仅表明初始化速度慢。我的命令在power shell初始化后运行。这是否回答了您的问题?