麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
711
2023-04-16
***数据库性能监控看这一篇就够了
最近项目在使用***作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个***集群,麻不麻烦?让我们一起,一探究竟,继续学习***数据库性能监控,实现快速入门,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。
一、***启动慢
1、启动日常卡住
根本不用为了截屏而快速操作,***启动真的超级慢。
2、启动***配置服务器,间歇性失败
3、查看***日志,分析“***启动慢”的原因
4、耗时“一小时”,***启动成功!
二、原因分析
在***关闭之前,有较大的索引建立的操作没有完成,***就直接shutdown了,等***再次启动的时候,***默认会将这个index重建好,重建期间处于startup状态。
由于不清楚重建索引需要多久,因此可以通过重启mongod时加上–noIndexBuildRetry参数来跳过索引重建。等启动完成后,再创建这个索引。
下面从几方面,监控一下***的性能问题。
三、***内存使用
常驻内存:常驻内存是***在RAM中显式拥有的内存。如果查询一个集合数据,***会将其放入常驻内存中,***会获得其地址,这个地址不是RAM中数据的真实地址,而是一个虚拟地址。***可以将它传递给内核,内核会查找出数据的真实位置。如果内核需要从内存中清理缓存,***仍然可以通过该地址对其进行访问。***会向内核请求内存,然后内核会查看数据缓存,如果发现数据不存在,就会产生缺页错误并将数据复制到内存中,最后再返给***。虚拟内存:操作系统提供的一种抽象,它对软件进程隐藏了物理存储的细节。每个进程都可以看到一个连续的内存地址空间。在Ops Manager中,***的虚拟内存是映射内存的两倍。映射内存:包含***曾经访问过的所有数据。
四、***磁盘空间
当磁盘空间不足时,可以进行如下操作:
可以添加一个分片;删除未使用的索引;可以执行压缩操作;关闭副本集成员,将其数据复制到更大的磁盘中挂载;用较大驱动器的成员替换副本集中的成员;
五、常用命令
1、***获取系统信息
db.hostInfo()
2、***获取系统内存情况
db.serverStatus().mem
3、***获取连接数信息
db.serverStatus().connections
4、***获取全局锁信息
db.serverStatus().globalLock
5、***获取操作统计计数器
db.serverStatus().opcounters
6、***获取数据库状态信息
db.stats()
以上是***的重要指标,通过这些指标我们可以了解到***的运行状态,评估数据库的健康程度,并快速确定实际项目中遇到的性能瓶颈。
比如项目中遇到的Timeout异常:
六、***持久性
1、复制延迟
复制延迟是指从节点无法跟上主节点的速度。
从节点一个操作的时间减去主节点此操作的时间,就是复制延迟。延迟应该尽可能的接近0,并且通常是毫秒级的。
2、备份
备份操作通常会将所有数据读入内存,因此,备份操作通常应该在副本集从节点而不是主节点进行,如果是单机***,则应该在空间时间进行备份,比如深夜凌晨。
3、持久性
持久性是数据库必备的一种特性,想象一下,如果数据库不具备持久性,如果数据库重启,数据全部丢失,太可怕了,不敢想。
为了在服务器发生故障时提供持久性,***使用预写式日志机制,英文简称 WAL。WAL是数据库系统中一种常见的持久性技术。在数据存入数据库之前,将这些更改操作写到磁盘上。
从***4.0开始,执行写操作时,***会使用与oplog相同的格式创建日志。oplog语句具有幂等性,不管执行多少次,结果都是一样的。
***还维护了日志和数据库数据文件的内存视图。默认情况,每50毫秒会将日志条目刷新到磁盘上,每60秒会将数据库文件刷新到磁盘上。刷新数据的时间60秒间隔被称为检查点。日志用于将上一个检查点之后的数据提供持久性。***的持久性就是在发生故障时,重启之后,将日志中的语句重新执行一遍,以保证在关闭前丢失的数据重新刷新到***中。
***会在data目录下创建一个journal的子目录,WiredTiger日志文件的名称为WiredTigerLog.
***会对写入的日志进行压缩,日志文件限制的最大大小为100MB。如果大于100MB,***就会自动创建一个新的日志文件,由于日志文件只需在上次检查点之后恢复数据,因此在新的检查点写入完成时,旧的日志文件就会被删除。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。