在moosefs中,mfscgi是一个python写的server程序,其中的数据是调用同样的python工具mfscli实现的。

每当用浏览器打开mfscgi的时候,它要把所有的表数据请求一遍,非常耗时,响应很慢。(就目前我所在的环境看,文件数和连接数小的情况下,mfscgi的响应速度主要和磁盘的大小相关)

为了及时得到信息,我们可以使用mfscli进行查询。输入:mfscli -h可以查看到帮助:

mfscli -h
usage:
/usr/bin/mfscli [-hpn28] [-H master_host] [-P master_port] [-f ..] -S(IN|IM|LI|IG|MU|IC|IL|MF|CS|MB|HD|EX|MS|SC|OF|AL|MO|QU|MC|CC) [-s separator] [-o order_id [-r]] [-m mode_id] [i id] [-a count] [-b chart_data_columns] [-c count] [-d chart_data_columns]
/usr/bin/mfscli [-hpn28] [-H master_host] [-P master_port] [-f ..] -C(RC/ip/port|BW/ip/port|M[]/ip/port|RS/sessionid)
/usr/bin/mfscli -v common: -h : print this message and exit
-v : print version number and exit
-p : force plain text format on tty devices
-s separator : field separator to use in plain text format on tty devices (forces -p)
- : force -color terminal color codes
- : force -color terminal color codes
-H master_host : master address (default: mfsmaster)
-P master_port : master client port (default: )
-n : do not resolve ip addresses (default when output device is not tty)
-f frame charset number : set frame charset to be displayed as table frames in ttymode
-f0 : use simple ascii frames '+','-','|' (default for non utf- encodings)
-f1 : use utf- frames: ┏┳┓┣╋┫┗┻┛━┃╸╹╺╻
-f2 : use utf- frames: ┌┬┐├┼┤└┴┘─│╴╵╶╷
-f3 : use utf- frames: ╔╦╗╠╬╣╚╩╝═║ (default for utf- encodings) monitoring: -S data set : defines data set to be displayed
-SIN : show full master info
-SIM : show only masters states
-SLI : show only licence info
-SIG : show only general master (leader) info
-SMU : show only master memory usage
-SIC : show only chunks info (goal/copies matrices)
-SIL : show only loop info (with messages)
-SMF : show only missing chunks/files
-SCS : show connected chunk servers
-SMB : show connected metadata backup servers
-SHD : show hdd data
-SEX : show exports
-SMS : show active mounts
-SRS : show resources (storage classes,open files,acquired locks)
-SSC : show storage classes
-SOF : show only open files
-SAL : show only acquired locks
-SMO : show operation counters
-SQU : show quota info
-SMC : show master charts data
-SCC : show chunkserver charts data
-o order_id : sort data by column specified by 'order id' (depends on data set)
-r : reverse order
-m mode_id : show data specified by 'mode id' (depends on data set)
-i id : sessionid for -SOF or inode for -SAL
-a count : how many master chart entries should be shown
-b chart_data_columns : define master chart columns
-c count : how many chunkserver chart entries should be shown
-d chart_data_columns : define chunkserver chart columns (prefix with '+' for raw data, prefix with 'ip:[port:]' for server choice)
master charts columns:
ucpu - User cpu usage
scpu - System cpu usage
delete,del - Number of chunk deletions
replicate,rep,repl - Number of chunk replications
statfs - Number of statfs operations
getattr - Number of getattr operations
setattr - Number of setattr operations
lookup - Number of lookup operations
mkdir - Number of mkdir operations
rmdir - Number of rmdir operations
symlink - Number of symlink operations
readlink - Number of readlink operations
mknod - Number of mknod operations
unlink - Number of unlink operations
rename - Number of rename operations
link - Number of link operations
readdir - Number of readdir operations
open - Number of open operations
read - Number of read operations
write - Number of write operations
memoryrss,memrss,rmem,mem - Resident memory usage
prcvd - Received packets
psent - Sent packets
brcvd - Received bytes
bsent - Sent bytes
memoryvirt,memvirt,vmem - Virtual memory usage
usedspace - RAW disk space usage
totalspace - RAW disk space connected
cpu - Cpu usage (total sys+user)
chunkserver chart columns:
ucpu - User cpu usage
scpu - System cpu usage
masterin - Data received from master
masterout - Data sent to master
csrepin - Data received by replicator
csrepout - Data sent by replicator
csservin - Data received by csserv
csservout - Data sent by csserv
hdrbytesr - Bytes read (headers)
hdrbytesw - Bytes written (headers)
hdrllopr - Low level reads (headers)
hdrllopw - Low level writes (headers)
databytesr - Bytes read (data)
databytesw - Bytes written (data)
datallopr - Low level reads (data)
datallopw - Low level writes (data)
hlopr - High level reads
hlopw - High level writes
rtime - Read time
wtime - Write time
repl - Replicate chunk ops
create - Create chunk ops
delete - Delete chunk ops
version - Set version ops
duplicate - Duplicate ops
truncate - Truncate ops
duptrunc - Duptrunc (duplicate+truncate) ops
test - Test chunk ops
load - Server load
memoryrss,memrss,rmem,mem - Resident memory usage
memoryvirt,memvirt,vmem - Virtual memory usage
cpu - Cpu usage (total sys+user) commands: -C command : perform particular command
-CRC/ip/port : remove given chunkserver from list of active chunkservers
-CBW/ip/port : send given chunkserver back to work (from grace state)
-CM1/ip/port : switch given chunkserver to maintenance mode
-CM0/ip/port : switch given chunkserver to standard mode (from maintenance mode)
-CRS/sessionid : remove given session

命令描述很清晰,我举几个例子:

1.查询mfsmaster信息

[root@mfsmaster ~]# mfscli -pn -SIM
metadata servers: 192.168.0.1 3.0. - all:0.5585463% sys:0.2398903% user:0.3186560% - - E23EDF286166DAED

2.查询mfsmaster最近的收发情况

[root@mfsmaster ~]# mfscli -SMC -b psent -b prcvd -b bsent -b brcvd -a
+----------------------------------------------------------------------------------+
| Master chart data |
+------------------+--------------+------------------+------------+----------------+
| host/port -> | leader | leader | leader | leader |
+------------------+--------------+------------------+------------+----------------+
| Time | Sent packets | Received packets | Sent bytes | Received bytes |
+------------------+--------------+------------------+------------+----------------+
| -- : | 1.000/s | 0.367/s | 12.133/s | 4.333/s |
| -- : | 1.133/s | 0.500/s | 40.667/s | 5.433/s |
| -- : | 1.000/s | 0.367/s | 12.133/s | 4.333/s |
| -- : | 1.000/s | 0.367/s | 12.133/s | 4.333/s |
| -- : | 1.000/s | 0.367/s | 12.133/s | 4.333/s |
+------------------+--------------+------------------+------------+----------------+

3.查询chunkserver与mfsmaster之间交互数据的情况

mfscli -SCC -d 192.168.0.1::masterin -d 192.168.0.1::masterout -c
+--------------------------------------------------------------------+
| Chunkserver chart data |
+------------------+---------------------------+---------------------+
| host/port -> | 192.168.0.1: | 192.168.0.1: |
+------------------+---------------------------+---------------------+
| Time | Data received from master | Data sent to master |
+------------------+---------------------------+---------------------+
| -- : | 2.400/s | 3.283/s |
| -- : | 2.400/s | 3.283/s |
| -- : | 2.400/s | 3.283/s |
| -- : | 2.400/s | 3.283/s |
| -- : | 2.400/s | 3.283/s |
+------------------+---------------------------+---------------------+

end

mfscli的使用方法(解决mfscgi响应慢的问题)的更多相关文章

  1. 7种方法解决移动端Retina屏幕1px边框问题

    在Reina(视网膜)屏幕的手机上,使用CSS设置的1px的边框实际会比视觉稿粗很多.在之前的项目中,UI告诉我说我们移动项目中的边框全部都变粗了,UI把他的设计稿跟我的屏幕截图跟我看,居然真的不一样 ...

  2. 启用了不安全的HTTP方法解决办法 IBM APPSCAN

    启用了不安全的HTTP方法解决办法  IBM APPSCAN     安全风险:       可能会在Web 服务器上上载.修改或删除Web 页面.脚本和文件. 可能原因:       Web 服务器 ...

  3. 正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果

    一直很纠结,Oracle的快速返回机制,虽然结果集很多,可是它能很快的显示第一个结果,虽然通过MYSQl的客户端可以做到,但是通过JDBC却不行. 今天用了1个多小时,终于搞定此问题,希望对广大Jav ...

  4. 学习笔记:Maven构造版本号的方法解决浏览器缓存问题

    需要解决的问题 在做WEB系统开发时,为了提高性能会利用浏览器的缓存功能,其实即使不显式的申明缓存,现代的浏览器都会对静态文件(js.css.图片之类)缓存.但也正因为这个问题导致一个问题,就是资源的 ...

  5. (转)再不用担心DataRow类型转换和空值了(使用扩展方法解决高频问题)

    再不用担心DataRow类型转换和空值了(使用扩展方法解决高频问题) XML文档操作集锦(C#篇) webapi文档描述-swagger

  6. BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题

    BeginInvoke与EndInvoke方法解决多线程接收委托返回值问题 原文:http://www.sufeinet.com/thread-3707-1-1.html      大家可以先看看我上 ...

  7. ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题[转]

    准备工作: 在vs工具栏中找到NuGet   下载DotNetZip   现在就可以使用DotNetZip强大的类库了,在这里我给出一些简单的使用. ? 1 2 3 4 5 6 7 8 9 10 11 ...

  8. jquery prop()方法 解决全选 不全选 反选 问题 解决执行一次不不能再执行问题

    //1.如果通过prop()函数更改<input>和<button>元素的type属性,在多数浏览器上将会抛出一个错误,因为该属性一般不允许在后期更改.//如果使用prop() ...

  9. YouTube为什么打不开?以及简便的訪问的方法/解决方式!

    在站点统计中看到好多人通过百度或者谷歌(Google)搜索引擎搜:YouTube怎么上不去,怎样不用代理server訪问YouTube,YouTube上不去的解决的方法,YouTube怎样訪问等等.事 ...

随机推荐

  1. _itemmod_creation_enchant

    该表控制物品产生时自动获得随机附魔效果 comment  备注  entry  物品entry  slot  附魔位置1-5,这些位置都可以用来产生自带附魔效果  groupId  附魔组Id 对就_ ...

  2. 使用Coding体验小记

    https://coding.net/ 写了些小程序后放在github上托管,并用gitpages展示. 今天发现用git pages展示的网页网络特别不稳定,时常会出现网页打不开的现象. 之前一直通 ...

  3. java stackoverflowerror与outofmemoryerror区别(转)

    1.stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态:当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中 ...

  4. Mysql简单入门

    这两天比较懒,没有学习,这个是我问一个学java的小伙伴要的sql的总结资料,大体语句全在上面了,复制到博客上,以后忘记可以查看 #1命令行连接MySQLmsyql -u root -proot;#2 ...

  5. Oracle(字符函数)

    单行函数语法: 语法:funcation_name(列 | 表达式[, 参数1, 参数2]) 单行函数主要分为以下几种: 字符函数:接收数据返回具体的字符信息 数值函数:对数字进行处理,例如:四舍五入 ...

  6. 懒懒的Rain的寒假小结

    快开学了,才发现这个寒假算是又废了,放假前满满的雄心壮志要刷多少多少题回家写一会都不行了,唉,在家真不适合学习.可能还是因为没有学习的气氛吧,在家老是就自己一个人,遇到问题或者出现什么错误了没有人可以 ...

  7. R语言 平滑连接

    参考自 153分钟 使用平滑曲线,沿着X轴从左向右的顺序依次连接,可以使用spline样条函数线. x = 1:5 y = c(1,3,4,2.5,2) plot(x,y) sp = spline(x ...

  8. leecode第一百零四题(二叉树的最大深度)

    /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...

  9. JS client(X,Y)、screen(X,Y)、page(X,Y)的区别

    clientX:光标相对于当前窗口的水平位置: clientY :光标相对于当前窗口的垂直位置: screenX :光标相对于该屏幕的水平位置: screenY:光标相对于该屏幕的垂直位置: page ...

  10. python中的面向对象学习以及类的封装(这篇文章初学者一定要好好看)

    这篇文章对于初学者可以很有效的理解面对过程.面对对象 一.首先介绍一下面向过程和面向对象的比较: 面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何 ...