Ticket #4 (closed 任务: close)

Opened 15 years ago

Last modified 15 years ago

查看其他网络公司,的系统部署架构以及主意事项

Reported by: lisiliang Owned by: lisiliang
Priority: 项目进度 Milestone: mongodb 项目前期准备
Component: component1 Version: 1.0
Keywords: 线上部署 主意事项 Cc:
Due Date:

Description

数据量: 6亿记录, collection: 17180, index 43175 内存75g
 http://blog.boxedice.com/2010/02/28/notes-from-a-production-mongodb-deployment/

Change History

comment:1 Changed 15 years ago by lisiliang

根据这个公司的情况来看,mongodb :

namespace limit : 24000 per database : collection +index

参数 --nssize 可以调制限制,需要重启master ,旧库需要repairdatabase()

《database》.ns 文件最大大小为2gb ,

1.8版本 支持WAL 日志 参数 --journal 数据库崩溃,重启可以自修复,没有做测试

数据库数据 可以验证 数据可用性 : db.collection.validate() 与数据量成线性关系,测试时间比较久,磁盘io很忙

从库 initial sync 如果是大库,需要时间比较久, oplog 应该足够大,能够容纳下期间的数据修改量。

sync 期间master 性能有下降,但不至于影响服务,应该考虑空闲时间执行。

部署os层面需要的准备:

1) fd 要做够大 /etc/security/limit.conf
2) 文件系统建议采用ext4 或者 xfs
3) 文件系统考虑关闭atime属性 mount -o noatime -o nodiratime

数据频繁修改回产生文件空洞 : 900g数据,整理后 350g

index :

前台建立索引会导致数据库挂起,造成阻塞。
1.3.2版本后,支持后台建索引,期间支持读写,但时间会比前台慢很多,但一次只能建立一个索引,并且索引期间不能执行repairdatabase()
建议 在建立表的初期完成相关索引。索引期间io竞争比较大。


comment:2 Changed 15 years ago by lisiliang

  • Priority changed from major to 项目进度
  • Type changed from defect to 任务

comment:3 Changed 15 years ago by lisiliang

  • Status changed from new to closed
  • Resolution set to close
Note: See TracTickets for help on using tickets.