在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. 【Python】【有趣的模块】【Requests】session & cookie

    保存http请求的状态(请求的上下文) [区别&联系] 1. cookie保存在客户端的浏览器,比如标识是哪个请求者.购物车应用等 session保存在服务端,http连接时无则创建,有则用现 ...

  2. 前端html5/css基础知识

    https://www.cnblogs.com/clschao/articles/10073124.html

  3. Ubuntu18.04的网络配置

    网卡与DNS配置 1)打开命令窗口(右键单机桌面选择Open Terminal或者用快捷键Ctrl+Alt+T打开终端),输入ip a查看自己的网卡编号 2)输入命令sudo vim /etc/net ...

  4. CentOS7下搭建Nginx+PHP7的安装配置

    一.安装编译工具及库文件: yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 环境要求 nginx是C ...

  5. EXpression 表达式目录树

    表达式树   前面n-1的是一个表达式  最后一个是一个表达式  一直拆开拆到最后 继承ExpressionVisitor的类  可以重写获取到表达式树的方法进行扩张和改写 委托是编译成一个方法 表达 ...

  6. python sshtunnel 简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 安装 pip3. ...

  7. 第 8 章 容器网络 - 059 - 安装配置 flannel

    安装配置 flannel 1) build flannel flannel 没有现成的执行文件可用,必须自己 build,最可靠的方法是在 Docker 容器中 build. 不过用于做 build ...

  8. sql 聚合函数和group by 联合使用

    原文 很多时候单独使用聚合函数的时候觉得很容易,求个平均值,求和,求个数等,但是和分组一起用就有点混淆了,好记性不如烂笔头,所以就记下来以后看看. 常用聚合函数罗列 1 AVG() - 返回平均值 C ...

  9. eQTL | Expression quantitative trait loci | 数量性状位点 | 表达数量性状基因座

    一篇通俗的文章:eQTL Expression quantitative trait loci (eQTLs) are genomic loci that explain all or a fract ...

  10. 用R的igraph包来画蛋白质互作网络图 | PPI | protein protein interaction network | Cytoscape

    igraph语法简单,画图快速. Cytoscape专业,个性定制. 最终效果图: 当然也可以用Cytoscape来画. 参考:Network visualization with R Cytosca ...