跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 不懂就问, Docker 大神请进!
未分類
21 7 月 2020

不懂就问, Docker 大神请进!

不懂就问, Docker 大神请进!

資深大佬 : hengo 11

关于 Docker 的 CPU 占用率的问题

事情是这样的这边因为’Oracle’数据量比较大,几十万的数据,然后用的批量从数据库 A -> 数据库 B,异步多线程循环每次插入 1000 条数据,程序代码会卡死,每次只能循环插入 100 条数据(这样不会才不会卡死),使用’docker stats’查看了一下 Oracle 的 CPU 占用率,已经达到了’100%’。但是在主机上使用’top’命令,CPU 的占用率才’25%’左右。

  1. 照理来说,Oracle 一次性插入几千条数据,都不应该是这样的情况。而目前插入 1000 条就卡了。
  2. 我看到博客里面,一般都是去调整多个 CPU 的使用权重,对于我这种情况怎么去调整 Docker 的 CPU 使用率,才能让它占有服务器主机的 CPU 的全部性能?

下面附上:主机的 TOP 截图和 Docker 容器的 CPU 占用截图 不懂就问, Docker 大神请进! 不懂就问, Docker 大神请进!

另外,直接用 Oracle GUI 工具直接插入一万条,GUI 工具也会卡,而且 Docker stats 查看 Oracle 的 CPU 占用率也达到了 100%

大佬有話說 (11)

  • 資深大佬 : Jirajine

    docker 默认没有性能限制
    https://docs.docker.com/config/containers/resource_constraints/

  • 資深大佬 : GM

    你是不是用了默认的存储,那个东西 IO 性能很差,会导致所有读写磁盘的操作很慢,比如往数据库里插数据。

  • 主 資深大佬 : hengo

    @Jirajine 嗯,那我这个大概是什么原因呢?是因为安装的 Oracle 容器有问题吗?

  • 資深大佬 : ashong

    存储位置不会在容器内吧

  • 資深大佬 : Jirajine

    @hengo 所以限制(如果有)是用户加的,你 inpsect 看一下啊。

  • 資深大佬 : ypcs03

    可能跟你 cpu 多核有关

  • 主 資深大佬 : hengo

    决定安装一个 Linux 本地的 Oracle 试试,现在只能通过这个进行排查到底是什么原因了?

  • 資深大佬 : hyperbin

    数据库不适合容器化,有状态的服务都不适合

  • 資深大佬 : mritd

    所以你根本没说你用的什么镜像,据我所知 oracle 官方在 docker hub 上的是给你测试得,本身就有限制

  • 主 資深大佬 : hengo

    @mritd 现在初步怀疑,我用的 mybatis 批量插入,这效率很低,容易把 CPU 拉满。

  • 資深大佬 : dolphintwo

    默默想纠正你一下,看你四核的机器,其实 docker stats 可以看到的 cpu 最大值应该是 400%,和 top 计算方法不一致,所以两边显示一样。so….瓶颈不在 cpu,也不存在 limit,默认都是放开的

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具