Memcache异常超时诊断工具mctop怎么用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联公司是一家专注于做网站、成都网站设计与策划设计,金牛网站建设哪家好?创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:金牛等地区。金牛做网站价格咨询:18980820575昨天排查MC连接超时发现,发现同时是一个业务的另一个MC未发现异常,通过监控发现网络未丢包但两MC的流量明显不一致,在连接数基本相同的情况下带宽出现3倍的差别,可以断定是业务调用的某个key的value值过大导致的。
好吧,知道原因了该如何定位到哪个key呢?以下是一般的做法:
通过抓包发现调用的频繁的请求数据包;
通过MC协议分析是否该key值异常过大;
貌似你有点晕了,呵呵,这种方法是很繁琐,定位原因比较慢,有没有更好的方法呢?下面就介绍下mctop
mctop是开源的一个检测工具,依靠ruby的pcap进行抓包分析,该包下载地址 GITHUP https://github.com/etsy/mctop
解压执行下:
# ./mctop
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- pcap (LoadError)
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./../lib/cmdline.rb:2
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
from ./mctop:10
通过报错了解到,需要装pcap,但发现装完还是有问题,没办法升级下ruby吧,我现在是1.8.7升级至1.9.2下载地址后,需要安装以下组件
#/usr/local/bin/gem install bundle
#/usr/local/bin/gem install rake
#/usr/local/bin/gem install ruby-pcap
#rm -f /usr/bin/ruby
#ln -s /usr/local/bin/ruby /usr/bin/ruby
再运行下
# ./mctop --help
Usage: mctop [options]
-i, --interface=NIC Network interface to sniff (required)
--host=HOST Network host to sniff on (default all)
-p, --port=PORT Network port to sniff on (default 11211)
-d, --discard=THRESH Discard keys with request/sec rate below THRESH
-r, --refresh=MS Refresh the stats display every MS milliseconds
-h, --help Show usage info
然后赶紧用它监控一下异常的端口:
#./mctop -i eth2 --host=10.x.x.85 -p xxx -r 1000
如下图
一眼就看到了,是esf-wordfilter__all的值过大占了4m/s的带宽,通知业务部门优化。
看完上述内容,你们掌握Memcache异常超时诊断工具mctop怎么用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。