Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Docker运行Redis(性能问题)_Redis_Docker - Fatal编程技术网

使用Docker运行Redis(性能问题)

使用Docker运行Redis(性能问题),redis,docker,Redis,Docker,有没有其他人见过在Docker容器环境中运行Redis的性能问题 以下是我注意到的。。。 安装A:本地计算机,传统Redis安装 设置B:本地计算机,使用规范Redis映像 我在本地机器上有一个相同的HTTP服务器,它以请求/响应周期允许的速度启动 意见: -A的吞吐量大约是B的2倍。 -B在进行基准测试时(从容器内)执行与A相同的操作 因此,这让我相信,由于网络问题,B比A慢:即,在虚拟化环境中运行软件引入的网络中继正在产生显著的性能问题 只是想知道是否有其他人注意到类似的情况?Docker的

有没有其他人见过在Docker容器环境中运行Redis的性能问题

以下是我注意到的。。。 安装A:本地计算机,传统Redis安装 设置B:本地计算机,使用规范Redis映像

我在本地机器上有一个相同的HTTP服务器,它以请求/响应周期允许的速度启动

意见: -A的吞吐量大约是B的2倍。 -B在进行基准测试时(从容器内)执行与A相同的操作

因此,这让我相信,由于网络问题,B比A慢:即,在虚拟化环境中运行软件引入的网络中继正在产生显著的性能问题


只是想知道是否有其他人注意到类似的情况?

Docker的默认网络选项,
--net=bridge
引入了NAT数据包重写带来的开销,这在高数据包速率下是显而易见的

通过使用
--net=host
,指示Docker不要为容器创建单独的网络堆栈,允许完全访问主机网络接口,可以提高网络性能

但是,应该谨慎使用此选项,因为它允许容器进程像任何其他根进程一样打开编号较低的端口,并访问本地网络服务(如D-bus),这可能导致容器中的进程能够执行意外操作


简而言之:如果你知道你在容器内运行什么,它是安全的。如果你怀疑有不想要的或攻击性的行为-不要这样做。

@joshula那么问题解决了吗?现在的吞吐量是一样的吗?只是好奇。thanks@joshula看来你的实验花了3分钟years@joshula看起来你的实验花了6年时间,我刚刚用--net=host测试过,我得到了34K RPS,没有16KRPS,没有docker的原生redis安装:40kRPS@joshula看来你的实验花了7年时间