Monogodb系列~性能分析

2024-06-09  本文已影响0人  开心的蛋黄派

mongostat

mongotop

mongotop命令可以帮助你定位数据库中的热点,即哪些集合正在承受大量的读写操作。

db.currentOp

MongoDB慢日志设置

MongoDB的慢日志可以记录执行时间超过指定阈值的操作。要启用慢日志并设置阈值,你可以在MongoDB的配置文件中进行以下设置:

systemLog:
   destination: file
   path: "/var/log/mongodb/mongod.log" # 日志文件路径,根据实际情况修改
   logAppend: true
   slowOperationThresholdMs: 100 # 慢查询阈值,单位为毫秒。这里设置为100毫秒。

在这个例子中,所有执行时间超过100毫秒的操作都会被记录在/var/log/mongodb/mongod.log文件中。你可以根据需要调整slowOperationThresholdMs的值。

WT引擎 读写ticket

在WiredTiger存储引擎中,读/写ticket是控制并发性的关键,其默认值为128。这表示同时可执行的读写操作数量。MongoDB还有其他机制管理操作进度和优先级。

要查看tickets的使用情况,可以运行:

> db.serverStatus().wiredTiger.concurrentTransactions

这将显示当前写和读的ticket状态,包括已用、可用和总数。

长时间的操作可能占用tickets,降低并发性。若读取tickets减少,可能因缺乏索引的长运行操作。可借助第三方工具识别慢操作。

调整tickets的默认值需谨慎,并需全面评估。不恰当地增加tickets可能导致性能下降,过多的tickets可能使CPU忙于上下文切换,降低吞吐量,增加队列压力。

连接数

1、connections.current
2、connections.available

上一篇 下一篇

猜你喜欢

热点阅读