我使用mongo存储日志文件.mongoDB和mysql都在同一台机器上运行,虚拟化mongo env不是一个选项.因为日志表变得非常快,我恐怕很快就会遇到性能问题.有没有办法限制mongo的常驻内存,以便它不会占用所有可用内存并过度减慢mysql服务器?
数据库机:Debian'lenny'5
其他解决方案(请评论):
由于我们需要所有历史数据,我们不能使用上限集合,但我也在考虑使用转储和删除旧数据的cron脚本
我应该考虑使用其他论坛上建议的较小的密钥吗?
我们有一个 mongodb 集群,由 WiredTiger 支持,在生产中,有一个 3 节点副本集,由一个主节点和两个从节点组成。其中一个从站有另一个共同定位的服务,可以广泛地查询从站。在解决协同定位服务中的一些缓慢问题时,我看到了很多令人惊讶的缓慢查询。这个用了 3.3 秒:
find: "myColl",
filter: { myField: "myValue" },
projection: { name: 1 },
$db: "myDb",
$clusterTime: { clusterTime: Timestamp(1568198047, 3), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } },
lsid: { id: UUID("2ed823aa-e6af-4898-a4c1-c039d28a32ab") },
$readPreference: { mode: "secondary" } }
planSummary: IXSCAN { myField: 1 } keysExamined:0 docsExamined:0 cursorExhausted:1 numYields:0 nreturned:0 reslen:232
locks:{ Global: { acquireCount: { r: 1 } },
Database: { acquireCount: { r: 1 } },
Collection: { acquireCount: …Run Code Online (Sandbox Code Playgroud)