ImageVerifierCode 换一换
格式:PPTX , 页数:22 ,大小:1.85MB ,
文档编号:2535887      下载积分:30 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2535887.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(无敌的果实)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(MongoDB诊断及性能优化.pptx)为本站会员(无敌的果实)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

MongoDB诊断及性能优化.pptx

1、MongoDB数据库问题诊断议程 性能相关 诊断工具 问题诊断WireTiger存储引擎Snapshot & Checkpoint write snapshot data to disk at intervals 60s or 2g journal data During the write of a new checkpoint, the previous checkpoint is still valid MongoDB can recover from the last valid checkpoint To recover changes made after the last che

2、ckpoint, run with journalingJournal write-ahead transaction log persists all data modifications between checkpoints Default snappy compression Buffer size 128kBJournal sync 50ms j : true checkpoint journal file switch (100MB)Memory Use 50% of (RAM - 1 GB), or 256 MB B-tree filesystem cache索引 索引已经排序

3、sort查询,尽量使用索引,多字段索引统一升序或降序 Index prefixes可以被过滤(filter)和排序(sort)使用 多查询条件,按照等值、排序、范围的顺序创建索引 分片集合,只有_id和片键可以创建唯一索引db.runCommand(planCacheSetFilter: ,索引创建query: , foreground,快,锁库 Background,慢,无阻塞 从节点手工创建sort: ,projection: ,indexes: , , .) 4.2开始该参数被废弃查询相关 选择性好的field $and操作要对同一个filed,否则不走索引 covered query,

4、”totalDocsExamined : 0” indexFilterSet设置后则hint()失效db.collection.aggregate( $indexStats : , $project : key: 1, accesses.ops: 1 ).pretty()性能影响 影响写入操作,平均每个索引下降6% 尽量将索引cache在内存中 定期检查未使用索引CURD查询优化思路 使用索引加速查询 减少批次返回数据量 projection只返回需要的字段 hint() $incr写操作性能 索引的影响 bulkwrite write concern journal commitInterv

5、alMs 磁盘 io-wait%聚合操作 Pipline开始阶段,优先$match, $projection 在$match后使用$sort, 索引排序 分片的sort、limits、skips议程 性能相关 诊断工具 问题诊断mongostat dirty 脏数据/WT cache百分比 used WT使用的cache百分比 vsize 虚拟内存使用大小 res 真是使用内存大小 qrw qr读等待队列长度qw写等待队列长度 arw ar活跃的读操作的客户端数量 aw活跃的写操作客户端数量 -discover,可以显示集群下所有mongod和mongos的指标,节点密码要保持一致mongot

6、op快速定位到压力最大的数据库、集合db.currentOp() microsecs_running 操作的耗时 op操作类型 planSummary Lock集合扫描还是索引扫描等待锁的类型 waitingForLock是否正在等待锁db.serverStatus() opcounters只记录操作数,不包含受影响的document统计 metrics.document包含操作影响到的document globalLock.totalTime如果和uptime接近,表示数据库一直有锁的性能问题 globalLock.currentQueue.total 表示实时的锁统计信息profilerL

7、evel Description 数据库级别,非整个mongod server01关闭,默认值 db.system.profile 是capped集合,默认大小1m采集设定阈值的慢操作信息采集所有的慢操作信息 4.0开始,可以在mongos上开启,但只能记录进log;db.setProfilingLevel(0, slowms: 20 )2 会对数据库产生额外的压力db.setProfilingLevel(1, 100)db.system.profile.find().pretty()db.system.profile.find().sort($natural: -1).limit(1).pr

8、etty()db.getProfilingStatus()db.system.profile.aggregate( $group : _id : $op, count : $sum : 1) db.setProfilingLevel(0)explainLevelDescriptionqueryPlannerexecutionStatsallPlansExecution默认值,并不真实执行执行查询并返回执行计划的信息执行查询并返回所有执行计划的信息 stage : COLLSCAN IXSCAN FETCH SHARD_MERGE SHARDING_FILTER nReturned : 查询返回

9、的数量 executionTimeMillis : 查询执行时间 totalKeysExamined : 扫描的索引数量 totalDocsExamined : 扫描的文档数量log messages severitycomponentLevel Description ACCESS COMMAND ELECTION INDEX NETWORK QUERY REPL JOURNAL WRITE .FFatalEWIErrorWarningInformational, for Verbosity Level of 0D1-5 DebugmtoolsToolsDescriptionmlogfilt

10、ermloginfo合并、分割日志文件,过滤慢查询,集合扫描,格式转换等统计日志内的数据库信息(启停、连接、集群状态等)日志转化为图表形式mplotqueriesmlogvismlaunch日志转化为HTML页面,与mplotqueries类似快速搭建本地测试环境(单机、集群、分片)https:/ 性能相关 诊断工具 问题诊断诊断思路问题数据库系统 rs.status( ) rs.printSlaveReplicationInfo( ) rs.printReplicationInfo( ) sh.status( )系统日志应用日志error mongod.log mongos.log局部慢 d

11、b.currentOp( ) db.setProfilingLevel( ) explain mongod.logtopiostatsarperformance整体慢 mongostat db.currentOp( ) db.serverStatus( ) mplotqueries mongod.log sh.status( )系统日志应用日志案例#1 使用 mongodump迁移数据库, 数据导出84.5%后退出,无任何报错#mongodump -archive | mongorestore -archive 是否按计划切换应用? 应用放心上线!案例#1 原因分析:不加条件的count()基

12、于metadata,分片环境和意外关闭数据库会导致数据不准确https:/ eventTime: -1.0 案例#2创建索引 eventTime: -1.0 案例#2In a blocking SORT, all input must be consumed by the sort step before it can produce output. In a non-blocking, or indexed sort, the sort step scans the index to produce results in the requested order.解决办法:在$match和$s

13、ort两阶段之间加入$project $project: contactID: 1, eventTime: 1 案例#3 实验db.testcol.drop()for (i=1; i=10000; i+) arr = ;1.mongoshell运行代码2.运行一段时间后,写入效率逐渐降低3.尝试使用诊断工具优化性能for (j=1; j=1000; j+) doc = _id: (1000 * (i-1) + j), a: i, b: j, c: (1000 * (i-1)+ j) ;arr.push(doc);db.testcol.insertMany(arr);var x = db.testcol.find( b : 255 );x.next();var x = db.testcol.find( _id : 1000 * (i-1) + 255 );x.next();var x = asdf;db.testcol.updateOne( a : i, b : 255 , $set : d : x.pad(1000) ); print(i)

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|