当前位置: 首页 > wzjs >正文

合川建网站微信朋友圈推广软文

合川建网站,微信朋友圈推广软文,云主机可以做网站吗,在网站上上传文件需要怎么做文章目录 一、wiredTigerCacheSizeGB1.1 **作用**1.2 **默认**1.3 **何时需要手动设置?**1.4 **总结** 二、resources.limits.memory2.1 **作用**2.2 **配置方式**2.3 **与相关参数的关系**2.4 为什么需要设置 limits.memory?2.5 **总结** 三、如何设置 …

文章目录

  • 一、wiredTigerCacheSizeGB
      • 1.1 **作用**
      • 1.2 **默认**
      • 1.3 **何时需要手动设置?**
      • 1.4 **总结**
  • 二、resources.limits.memory
      • 2.1 **作用**
      • 2.2 **配置方式**
      • 2.3 **与相关参数的关系**
      • 2.4 为什么需要设置 `limits.memory`?
      • 2.5 **总结**
  • 三、如何设置 `wiredTigerCacheSizeGB` 和 `resources.limits.memory`
      • 3.1 **核心关系**
      • 3.2 **推荐配置原则**
      • 3.3 **具体配置示例**
        • 3.3.1 场景:容器内存限制 30GB,预留 5GB
        • 3.3.2 **为什么这样设置?**
      • 3.4 **验证与监控**
      • 3.5 **常见问题**
        • Q1:能否设 `wiredTigerCacheSizeGB: 30` 和 `limits.memory: 30G`?
        • Q2:`reservations.memory` 是否必须?
  • 四、**总结**

一、wiredTigerCacheSizeGB

1.1 作用

--wiredTigerCacheSizeGB 是 MongoDB 的一个配置参数,用于 设置 WiredTiger 存储引擎的内存缓存大小。它的核心作用是 通过内存缓存加速数据访问,减少磁盘 I/O,提升数据库性能

1.2 默认

  • 如果未手动设置,MongoDB 默认会:
    • 使用 50% 的可用系统内存减去 1 GB 作为缓存。
    • 例如:服务器有 64 GB 内存 → 默认缓存约 (64*0.5) - 1 = 31 GB

1.3 何时需要手动设置?

  • 服务器专用 MongoDB:可分配更多内存(例如 70%-80% 的物理内存)。
  • 共享服务器:需限制缓存大小,避免影响其他服务(如应用进程、操作系统)。
  • 容器化环境(如 Docker/K8s):需显式限制内存,防止 OOM(内存溢出)。

1.4 总结

参数作用推荐值
--wiredTigerCacheSizeGB控制 WiredTiger 缓存大小≤ 50% 可用内存

通过合理配置此参数,可以显著优化 MongoDB 的读写性能,但需根据实际硬件和业务需求调整。



二、resources.limits.memory

Kubernetes(K8s)或 Docker Swarm 等容器编排平台中,resources.limits.memory 是一个关键配置项,用于 限制容器可以使用的最大内存资源。它的作用和含义如下:


2.1 作用

  • 硬性内存上限
    指定容器运行时允许分配的最大内存量(例如 30G)。如果容器尝试超过此限制,会被系统强制终止(OOM Killer 触发)。

    • 示例:若容器内存使用达到 30G,Kubernetes 会杀死容器并重启它(状态变为 OOMKilled)。
  • 资源调度依据
    K8s 调度器(Scheduler)根据 limits.memory 决定将 Pod 分配到哪个节点(Node)。如果节点剩余内存不足,则不会调度到该节点。


2.2 配置方式

通常在 Deployment/Pod 的 YAML 文件Docker Compose 文件 中定义:

# Kubernetes 示例
resources:limits:memory: "30Gi"  # 最大内存限制(二进制单位,30GB)requests:memory: "5Gi"   # 启动时预留内存(软性保证)# Docker Compose 示例
deploy:resources:limits:memory: 30G

2.3 与相关参数的关系

参数作用区别
limits.memory硬性上限,容器内存使用不可超过此值超限 → 容器被杀死
requests.memory软性请求,调度器按此值分配资源,但不保证独占实际使用可能低于或高于此值
reservations.memory(Docker Swarm)预留内存,类似 requests仅 Docker Swarm 使用

2.4 为什么需要设置 limits.memory

  • 避免单个容器耗尽节点内存,影响其他容器或系统进程。
  • 提高稳定性:防止内存泄漏导致系统崩溃。
  • 资源配额管理:在多租户集群中公平分配资源。

2.5 总结

关键点说明
硬性限制容器内存绝对不可超过 limits.memory,否则被 OOMKilled
调度依据影响 Pod 的节点分配(需满足 requests ≤ limits
生产环境必配未设置 limits 可能导致集群内存耗尽
与 JVM 堆协调若容器内跑 Java 应用,需确保 Xmx < limits.memory(留出堆外空间)


三、如何设置 wiredTigerCacheSizeGBresources.limits.memory

容器化部署(如 Docker/K8s) 中,wiredTigerCacheSizeGBresources.limits.memory 需要协同配置,以避免内存溢出(OOM)或资源浪费。以下是两者的关系及推荐设置方法:


3.1 核心关系

配置项作用影响范围
wiredTigerCacheSizeGB指定 MongoDB WiredTiger 引擎的缓存大小
仅数据库使用
仅影响 MongoDB 进程
resources.limits.memory限制 容器总内存
(包括 MongoDB + 其他子进程 + OS 开销)
影响整个容器

关键点

  • WiredTiger 缓存是 MongoDB 内部的内存分配,而 limits.memory 是容器 外部的硬性限制
  • wiredTigerCacheSizeGB 接近或超过 limits.memory,容器可能因总内存超限被 OOM Killer 终止。

3.2 推荐配置原则

  1. 容器总内存(limits.memory

    • 必须大于 wiredTigerCacheSizeGB,并预留额外内存给:
      • MongoDB 的其他内存开销(连接、聚合、日志等)。
      • 容器内系统进程(如 Shell、监控工具)。
    • 经验公式 limits.memory ≥ wiredTigerCacheSizeGB + 2GB(安全缓冲)

  2. WiredTiger 缓存(wiredTigerCacheSizeGB

    • 通常设为 50%~70%limits.memory(根据实际负载调整)。
    • 例如:limits.memory: 30GwiredTigerCacheSizeGB: 20G(留 10G 给其他开销)。
  3. Reservations(reservations.memory

    • 软性预留内存,不影响实际限制,但影响调度优先级。
    • 可设为 wiredTigerCacheSizeGB50%~100%(如 5G)。

3.3 具体配置示例

3.3.1 场景:容器内存限制 30GB,预留 5GB
# mongod.conf 或 MongoDB 启动参数
storage:wiredTiger:engineConfig:cacheSizeGB: 20  # 约为 limits.memory 的 2/3# Docker/K8s 资源配置
deploy:resources:limits:memory: 30G     # 容器最大内存reservations:memory: 5G      # 预留给容器的内存(软性保证)
3.3.2 为什么这样设置?
  1. 安全边界

    • wiredTigerCacheSizeGB: 20G + MongoDB 其他开销(~5G) + 系统(~5G) ≈ 30G(limits.memory)。
    • 避免因临时内存峰值触发 OOM。
  2. 性能优化

    • 20GB 缓存足够处理大多数高负载查询,同时保留 10GB 给连接池、聚合操作等。
  3. 资源调度

    • reservations: 5G 确保容器启动时至少有 5GB 可用内存(但允许超用)。

3.4 验证与监控

  1. 检查容器内存使用

    docker stats <container_id>  # 或 kubectl top pod
    
    • 确保 MEM USAGE 不超过 limits.memory
  2. 查看 MongoDB 缓存状态

    db.serverStatus().wiredTiger.cache
    
    • 关注 "bytes currently in cache""hit ratio"(理想值 > 95%)。
  3. 调整策略

    • 如果缓存命中率低 → 适当增加 wiredTigerCacheSizeGB(需同步调高 limits.memory)。
    • 如果容器频繁 OOM → 降低 wiredTigerCacheSizeGB 或增加 limits.memory

3.5 常见问题

Q1:能否设 wiredTigerCacheSizeGB: 30limits.memory: 30G

不推荐!这会导致:

  • MongoDB 可能因无法分配额外内存(如连接、临时操作)而崩溃。
  • 无缓冲空间,极易触发 OOM。
Q2:reservations.memory 是否必须?
  • 非必须,但建议生产环境设置,避免资源竞争。
  • 例如:reservations: 5G 可防止其他容器抢占关键资源。


四、总结

  • 假设mongodb容器分配30G
参数建议值依据
limits.memory30G容器总内存上限
wiredTigerCacheSizeGB20G(≈ 66% limits)平衡性能与安全
reservations.memory5G确保基础资源可用

通过这种配置,既能最大化利用内存提升性能,又能保证稳定性。

http://www.dtcms.com/wzjs/310755.html

相关文章:

  • 分享网站对联广告b站推广怎么买
  • 中国建设银行网站运营模式seo优化效果
  • 海外做bt种子网站外包公司
  • 建设用地规划证查询网站泸州网站seo
  • 如何做百度推广的网站宁波seo网站排名
  • 中药材天地网做中药零售网站无忧seo
  • 资源采集网站如何做泽成seo网站排名
  • visualstudio 做网站新乡网络推广外包
  • 编译安装wordpressseo工程师是做什么的
  • 莒县网页定制厦门seo蜘蛛屯
  • 网站建设疑问网站seo优化皆宣徐州百都网络不错
  • 绍兴做企业网站的公司网络市场营销
  • 网络规划设计师教程第2版pdf下载seo综合诊断工具
  • 能帮忙做网站建设网络服务商主要包括哪些
  • 网站建设如何存数据公司网站搭建
  • php网站开发实践seo和sem的区别是什么?
  • 科讯网站首页公告模板电商网络推广怎么做
  • python 网站开发流程图企业网站建设多少钱
  • 切实加强门户网站建设自助建站平台源码
  • 策划工资一般多少钱惠州seo关键字排名
  • 有哪些专业做饰品的网站app最佳搜索引擎
  • 滁州做网站的西安网站设计
  • 进销存产品优化是什么意思
  • wordpress域名邮箱设置外贸seo公司
  • 做百度移动网站优化排苏州seo关键词优化软件
  • 专业免费建站杭州百度快照
  • 中山市区做网站公司网站点击软件排名
  • 怎么做自助购物网站专业网站seo推广
  • 建设网站都需要准备什么苏州百度推广服务中心
  • 烟台公司网站开发国外网站建设