大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习「MongoDB分片」的理论与实践,实现快速入门,丰富个人简历,提升面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。三分钟你将学会:一次MongoDB线上事故的快速解决什么是MongoDB分片?MongoDB如何分片?何时分片?搭建MongoDB分片服务器MongoDB如何追踪分片集群数据?MongoDB拒绝连接?显然是MongoDB服务又挂了。连接MongoDB服务器,一探究竟。通过ps-aef|grepmo
大家好,我是哪吒,最近项目在使用MongoDB作为图片和文档的存储数据库,为啥不直接存MySQL里,还要搭个MongoDB集群,麻不麻烦?让我们一起,一探究竟,继续学习「MongoDB分片」的理论与实践,实现快速入门,丰富个人简历,提升面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。三分钟你将学会:一次MongoDB线上事故的快速解决什么是MongoDB分片?MongoDB如何分片?何时分片?搭建MongoDB分片服务器MongoDB如何追踪分片集群数据?MongoDB拒绝连接?显然是MongoDB服务又挂了。连接MongoDB服务器,一探究竟。通过ps-aef|grepmo
问题的严重性首先,要申明一下,问题的严重性。BigKey(大key)和HotKey(热key)的问题是较常见。这类问题不止会使服务的性能下降,还会影响用户正常使用功能,甚至会造成大范围的服务故障,故障有时还会发生连环效应,导致更加严重的后果,发生系统的雪崩,造成巨大的经济损失,巨大的品牌损伤。所以,在Redis运维过程中,由于Bigkey的存在,DBA也一直和业务开发方强调Bigkey的规避方法以及危害。在开发的过程中,开发同学,也需要十分重视和预防这个问题。一、什么是BigKey、HotKey?什么是BigKey俗称“大key”,是指redis在日常生产的过程中,某些key所占内存空间过大。
问题的严重性首先,要申明一下,问题的严重性。BigKey(大key)和HotKey(热key)的问题是较常见。这类问题不止会使服务的性能下降,还会影响用户正常使用功能,甚至会造成大范围的服务故障,故障有时还会发生连环效应,导致更加严重的后果,发生系统的雪崩,造成巨大的经济损失,巨大的品牌损伤。所以,在Redis运维过程中,由于Bigkey的存在,DBA也一直和业务开发方强调Bigkey的规避方法以及危害。在开发的过程中,开发同学,也需要十分重视和预防这个问题。一、什么是BigKey、HotKey?什么是BigKey俗称“大key”,是指redis在日常生产的过程中,某些key所占内存空间过大。
本文转载自微信公众号「艾小仙」,作者艾小仙。转载本文请联系艾小仙公众号。现象线上某个服务有接口非常慢,通过监控链路查看发现,中间的GAP时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求。原因分析先从监控链路分析了一波,发现请求是已经打到服务上了,处理之前不知道为什么等了3s,猜测是不是机器当时负载太大了,通过QPS监控查看发现,在接口慢的时候CPU突然增高,同时也频繁的GC,并且时间很长,但是请求量并不大,并且这台机器很快就因为Heap满了而被下掉了。去看了下日志,果然有OOM的报错,但是从报错信息上并没办法找到RootCause。systemerror:org.spr
本文转载自微信公众号「艾小仙」,作者艾小仙。转载本文请联系艾小仙公众号。现象线上某个服务有接口非常慢,通过监控链路查看发现,中间的GAP时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求。原因分析先从监控链路分析了一波,发现请求是已经打到服务上了,处理之前不知道为什么等了3s,猜测是不是机器当时负载太大了,通过QPS监控查看发现,在接口慢的时候CPU突然增高,同时也频繁的GC,并且时间很长,但是请求量并不大,并且这台机器很快就因为Heap满了而被下掉了。去看了下日志,果然有OOM的报错,但是从报错信息上并没办法找到RootCause。systemerror:org.spr
相比于一大堆复杂的JVM调优过程,本文介绍的排查步骤还是挺简单的,可以帮助各位小伙伴排查一些简单问题,面试官问起来也好过啥也不会(这个CPU打满如何排查我被问过好多次......)。模拟高CPU场景这里就不麻烦地建Web项目了,用一个最原始的Java项目来模拟高CPU场景。打开IDEA,创建一个Java项目,里面写一个死循环,循环里面不断地创建对象:然后打成jar包,这个没啥难度,懒得敲命令的话直接IDEA中点几下就可以,File->ProjectSettings->Artifacts:执行成功后可以在/out/artifacts/highCpuTest.jar文件夹下找到jar包:将这个ja
相比于一大堆复杂的JVM调优过程,本文介绍的排查步骤还是挺简单的,可以帮助各位小伙伴排查一些简单问题,面试官问起来也好过啥也不会(这个CPU打满如何排查我被问过好多次......)。模拟高CPU场景这里就不麻烦地建Web项目了,用一个最原始的Java项目来模拟高CPU场景。打开IDEA,创建一个Java项目,里面写一个死循环,循环里面不断地创建对象:然后打成jar包,这个没啥难度,懒得敲命令的话直接IDEA中点几下就可以,File->ProjectSettings->Artifacts:执行成功后可以在/out/artifacts/highCpuTest.jar文件夹下找到jar包:将这个ja
1.下载Charles:https://www.charlesproxy.com/download/2.配置Charles代理端口号:在Charles上的菜单Proxy->ProxySettings->Port,Port可以随便指定,默认取的88883.查看本机的ip地址:在Charles上的菜单Help->LocalIPaddress4.确保手机连上与电脑相同Wifi,在手机的Wifi连接配置中,设置代理手动,在主机名输入运行Charles的电脑IP地址和端口号(默认8888)。5.在Charles上的菜单Help->SSLProxying-->InstallCharlesRootCerti
1、本案例的排查过程使用的阿里开源的Arthas工具进行的,不使用arthas,使用JDK自带的命令也是可以。2、在开始排查之前,可以先看一下CPU的使用情况,最简单的就是使用top命令直接查看(大写P按照CPU占用率排序):top-10:32:38up11days,17:56,0users,loadaverage:0.84,0.33,0.18Tasks:23total,1running,21sleeping,0stopped,1zombie%Cpu(s):95.5us,2.2sy,0.0ni,76.3id,0.0wa,0.0hi,0.0si,6.1stKiBMem:8388608total,