MongoDB在Docker中的性能



我做了一个实验,运行一个python应用程序,将2000条记录写入mongoDB。

我的实验设置细节如下:

测试1:本地PC - Python应用程序运行在本地PC与mongoDB在本地PC(基线)测试2:Docker - Python应用程序在Linux容器上与mongoDB在Linux容器上使用持久化卷测试3:Docker - Python应用在Linux容器上,mongoDB在Linux容器上,没有持久化卷

我已经在图表中生成了结果-在本地PC上平均写入数据大约是30秒。在Docker的其他地方,大约需要80多秒。因此,在Docker上写代码比在本地PC上写代码要慢3倍。

我是否想提高mongoDB在docker容器中的写速度或性能,推荐的做法是什么?或者我应该把mongoDB作为一个没有docker的外部卷?

谢谢!

  1. 您的系统在许多方面不一致-动态存储和CPU性能,其他进程,动态系统设置等。有很多底层的东西只在存储下。
  2. 60秒的测试是不够的
  3. 简单的操作不足以进行基线比较
  4. 在容器的情况下,对存储和CPU的性能影响为零,对网络有影响,但我假设,这不适用于这里
  5. 数据库和数据库管理系统必须以特殊的方式进行优化,不存在"安装即运行"的问题。的方法。我们,系统管理员/数据库管理员通常需要几天的时间才能使它顺利运行。而且,性能会随着时间而变化。

经过几周的测试和故障排除。我终于得到了答案,我将与其他DevOps或任何与我面临相同问题的人分享我的发现

如果需要的话纠正这个说法,Docker容器是在Linux上开始的,微软加入容器的行列很晚,为了让容器工作(在Linux上),DevOps团队需要在Windows上安装Linux WSL2。这就造成了额外的开销,从而影响了处理速度。

因此,为了提高容器的性能速度,应该在Linux操作系统而不是Windows操作系统中进行设置。(是的,速度大大降低)

最新更新