监控小丸工具箱箱一直处于读图等待

查看: 4063|回复: 24
VM很慢,求性能监控工具及资源优化等手段
发表于 9-24-:40
最近发现有一台跑:财务NC系统很慢(其它VM正常,ESXI主机可用资源也还是挺多的,并且很慢的那台VM并没有使用:压缩,SWAP等内存方面的特性),现在只要一打开那NC系统,CPU就占用高(就算一个人访问那系统也是如此),折腾了许久没找到原因,现求性能监控工具、资源池设置等措施,定位问题的原因
听说veeam可以很好监控esxi,求具体的工具名称,也求:资源分配的高级优化(如,预留,份额,esxtop等)
工具只是更方便的揭示这些参数,你需要理解整个应用的机制,从而才能逐步有方向的判断引起慢的原因。你的例子里可以从应用自上而下逐层排查分析。&
发表于 9-26-
可以从两方面看。VM层面看主机资源是否有争抢、限制或者瓶颈;GuestOS里面则主要看是应用引起的慢还是资源型慢:资源性慢是上层发生某些大资源征用时引起某一方面的资源紧张,应用慢则是处理机制问题&
发表于 9-26-
发表于 9-24-:34
这个机器的IO怎样?
用友的NC?应用服务器上的进程还是比较吃内存的 —— 据说一个进程最终吃掉2G内存,我们这里的两个NC5011应用服务器,分别配置了8G和16G内存。
此外,客户端如果使用浏览器,也很占IO的 —— Java一堆小文件在传。
一般我们这里的财务,都使用胖客户端 —— 本地缓存Class文件。
——————————————————
就我的经验,同样的机器,客户端那里,用胖客户端,Win7比XP要快(估计和内存效率以及磁盘IO有关);x64比x86要快;用SSD比HD要快。服务器端,用64位的系统比32位的要迅捷一些。
发表于 9-25-:51
TiGi 发表于 9-24-
这个机器的IO怎样?
用友的NC?应用服务器上的进程还是比较吃内存的 —— 据说一个进程最终吃掉2G内存,我 ...
在那个地方可以准确的观察到I/O值
另外,下班的时候,我测试过,那时候没有人访问NC系统,也是很慢,给他预留了8G内存也那样.
发表于 9-25-:39
实时监控,esxtop是最好的工具。
出现性能问题时,用esxtop可以立即发现瓶颈在哪里。
发表于 9-25-:01
dilidolo 发表于 9-25-
实时监控,esxtop是最好的工具。
出现性能问题时,用esxtop可以立即发现瓶颈在哪里。
但这个工具,有点看不明白
发表于 9-25-:11
wangyong-1 发表于 9-25-
但这个工具,有点看不明白
发表于 9-25-:17
NC什么版本?NC和数据库服务器装在一起?NC用的是was中间件还是tomcat?NC的VM启动就很慢,还是启动NC服务才变慢?NC很依赖中间件的调优,中间件没配置好效率会很差。
发表于 9-25-:17
bcegccxj 发表于 9-25-
NC什么版本?NC和数据库服务器装在一起?NC用的是was中间件还是tomcat?NC的VM启动就很慢,还是启动NC服务才 ...
我们用WAS,也试过Tomcat,都还能接受。
发表于 9-26-:02
也一直在关注这方面的监控,不知大家有没有试过zabbix()
发表于 9-26-:50
bcegccxj 发表于 9-25-
NC什么版本?NC和数据库服务器装在一起?NC用的是was中间件还是tomcat?NC的VM启动就很慢,还是启动NC服务才 ...
NC和DB没在一起,启动NC服务后才慢(这慢不是VM系统慢,而是浏览器访问NC很慢)
发表于 9-26-:13
wangyong-1 发表于 9-26-
NC和DB没在一起,启动NC服务后才慢(这慢不是VM系统慢,而是浏览器访问NC很慢)
个人觉得,和磁盘IO以及网络吞吐有关。
就我们的实际应用,采用SSD的机器,比采用7.2K HD的机器,打开Web的NC或者胖客户端的NC都要快。
绝大部分配置的机器,使用胖客户端的NC,即便是远程VPN访问的用户,体验也还可以。
发表于 9-26-:39
TiGi 发表于 9-26-
个人觉得,和磁盘IO以及网络吞吐有关。
就我们的实际应用,采用SSD的机器,比采用7.2K HD的机器,打开 ...
哥们,麻烦贴下查看磁盘I/O的方法,比如esxtop工具,那个值是关于I/O的
大于多少,就不太正常。
发表于 9-26-:22
vCenter里面,选中相应的虚拟机,CPU、内存、网络、存储这几项着重看一下吧。
发表于 9-26-:54
本帖最后由 seanlaser 于 9-26- 编辑
wangyong-1 发表于 9-26-
哥们,麻烦贴下查看磁盘I/O的方法,比如esxtop工具,那个值是关于I/O的
大于多少,就不太正常。
虚拟化层面上vCenter里面性能表 看硬盘存储延迟;
另外建议你可以用传统的监视Windows 性能的计数器来判断是哪个部分有问题,如果你系统用的Windows的话;Linux也有对应的性能工具,不过我不涉猎这方面无法给你相关的建议。
发表于 9-27-:02
本帖最后由 wangyong-1 于 9-27- 编辑
这是这台慢的VM的截图。
关于主机内存与客户机内存。
你主机多少内存?开了多少VM?每个VM多少内存?
怎么分配了8G却只有3G多在分配给此VM用?&
发表于 9-27-
发表于 9-27-:08
是不是硬盘慢?
你打开windowns任务管理器好好看看。
还有win的性能监视性,(管理-诊断-性能)
这2个可以排查系统本身问题,
如果系统本身没问题,找vm层面问题了。
发表于 9-27-:07
工具方面:可以尝试使用Quest的vFoglight或者vkernel,可对虚拟化平台进行360°全方位进行监控。
从你的截图来看,CPU及内存不会是瓶颈,有可能是磁盘IO,通过我介绍的以上2个工具,可以清晰地看到每个VM占用的IO。如果磁盘提供的IOPS不足,需增加磁盘已提高IOPS。
发表于 9-27-:10
DCyu 发表于 9-27-
工具方面:可以尝试使用Quest的vFoglight或者vkernel,可对虚拟化平台进行360°全方位进行监控。
从你的截 ...
这工具是免费的么
另外veeam mointor怎么样
发表于 9-27-:49
wangyong-1 发表于 9-27-
这工具是免费的么
另外veeam mointor怎么样
veeam mointor也可进行监控,但跟vFoglight、vkernel对比,有很多方面不够。例如vFoglight、vkernel的专家告警规则,集成多种告警,还可以定制。vFolgihgt、vkernel提供的是层次性,全方位的监控。当然,vFoglihgt操作会相对复杂,是个功能非常强大的监控工具。vKernel做了些改进,操作界面相对简单,并加上了在线优化等功能。
发表于 9-27-:56
本帖最后由 seanlaser 于 9-27- 编辑
wangyong-1 发表于 9-27-
这是这台慢的VM的截图。
关于主机内存与客户机内存。
VM分配了多少vCPU?17XXXMhz?就算是3G的频率,这也有6个以上了!
一般的系统压根用不了这么多的vCPU!这反而会造成不必要的系统调度!看你这个消耗量,3G的话2个足够了
把性能分页上面的存储、虚拟磁盘这两张截图贴上来吧。
发表于 9-27-:59
本帖最后由 TiGi 于 9-27- 编辑
NC.png (21.03 KB, 下载次数: 0)
9-27- 上传
我这里的NC5011应用服务器,超过33个用户在线;Server /WAS。机器设置了4个vCPU,8G的CPU资源,内存设置了16GB,也限额到16G。
发表于 9-27-:50
建议将vCPU减少试试吧。。。
发表于 9-27-:47
wangyong-1 发表于 9-27-
这是这台慢的VM的截图。
关于主机内存与客户机内存。
只认识3G,是VM是32位的,默认只认识3G,调整一个参数,应该就可以了。
32位Windows 2003的话默认单个应用程序可用内存为2GB,调整启动的高级参数也只能扩展到3GB内存而已。&
发表于 9-30-
发表于 9-27-:16
本帖最后由 TiGi 于 9-27- 编辑
wangyong-1 发表于 9-27-
只认识3G,是VM是32位的,默认只认识3G,调整一个参数,应该就可以了。
32位的系统......那设置4G内存足够了。
NC5011的话,有使用WAS以及使用UF自带中间件两种。使用WAS可以在多台机器以及一台机器上配置不同的“集群”。
我们这里,每个应用服务器上一个WAS管理节点、两个工作节点,两台机器各一个WAS —— 好处是哪个应用服务器挂了都不影响应用,用户自己根据人工判别,登录不同的应用服务器;
XD企业那里,三个还是四个应用服务器:一个是监工头子,负责将工作分配到“手下”的劳工那里去,自己不干活;还有几个是劳工,拼命干活 —— 好处是可以分摊负荷,坏处是监工头子挂了,劳工就不干活了。
————————————————
没有记错的话,WAS方案的每个工作节点(不是应用服务器节点)只能使用到7xxMB的内存 —— 你可以看一下任务管理器,里面会有若干个耗用掉几百MB的Java的。
发表于 9-28-:58
非常感谢分享michaelnigga 的BLOG
用户名:michaelnigga
注册日期:
阅读量:5863
阅读量:12276
阅读量:350228
阅读量:1049041
51CTO推荐博文
此篇文章对进程管理以及性能监控工具做下小结:&&&&1.首先将介绍跟进程相关的一些概念:& & 父进程 子进程 fork() COW(copy-on-write ) 僵尸进程 孤儿进程 静默状态 线性地址空间 虚拟内存 物理内存 MMU swap交换空间& & & 系统启动后内核会创建第一个进程init--init进程会负责后续用户空间子进程,所以进程都是父子关系:&&&&&&父进程通过系统调用fork()函数创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。此时父子进程占用同一段内存空间&&&&& 传统的fork()系统调用直接把所有的资源复制给新创建的进程。这种实现过于简单并且效率低下,&copy-on-write只有在需要写入的时候,数据才会被复制,从而使各个进程拥有各自的拷贝。也就是说,资源的复制只有在需要写入的时候才进行,在此之前,只是以只读方式共享。这种技术使地址空间上的页的拷贝被推迟到实际发生写入的时候,这种优化可以避免拷贝大量根本就不会被使用的数据(地址空间里常常包含数十兆的数据)& & &其实不是把原先的对象复制到内存的另外一个位置上,而是在新对象的内存映射表中设置一个指针,指向源对象的位置,在子进程执行任务期间,父进程处于等待状态,我们称此状态为静默状态&&&&& &当子进程工作结束,子进程会变成僵尸进程等待父进程回收,如果出现异常情况,父进程没有回收,子进程将作为僵尸进程长期停留在系统中,而孤儿进程指的是,父进程先退出,其下的子进程我们称为孤儿进程.&&&&& &每个进程都会认为自己独占了一段连续的内存空间,如图的第一行,我们称为线性地址空间,即虚拟内存空间,而实际上每一段虚拟内存地址都对应一段物理内存地址,物理内存地址是不连续的 如图2,虚拟内存地址与物理内存地址的映射记录在CPU上一个物理设备MMU(memory management unit)&&&&& 如果主机内存不足情况下,linux 内核会将不常用的内存数据放置到磁盘的swap区域中,此时主机性能会下降,swap区域装操作系统中我们可以指定大小,后续我们也可以添加swap容量&&&&&&&&&基于以上介绍,接下来将介绍PS常用命令组合:&&&&1.常用组合之一:aux&&&&[root@training ~]# ps aux | moreUSER & & & PID %CPU %MEM & &VSZ & RSS TTY & & &STAT START & TIME COMMANDroot & & & & 1 &0.0 &0.1 &1 ? & & & &Ss & 21:36 & 0:01 /sbin/initroot & & & & 2 &0.0 &0.0 & & &0 & & 0 ? & & & &S & &21:36 & 0:00 [kthreadd]root & & & & 3 &0.0 &0.0 & & &0 & & 0 ? & & & &S & &21:36 & 0:00 [migration/0]root & & & & 4 &0.0 &0.0 & & &0 & & 0 ? & & & &S & &21:36 & 0:00 [ksoftirqd/0]root & & & & 5 &0.0 &0.0 & & &0 & & 0 ? & & & &S & &21:36 & 0:00 [stopper/0]USER 进程的属主PID&&&&进程号%CPU& &占用的CPU使用率%MEM& &占用的内存使用率VSZ&&&&virtual memory size of the process(KB),此值是线性内存空间,进程认为自己占用的内存空间,并不等于物理内存空间,因为多个虚拟内存空间同时指向同一段物理内存空间,称为共享库.RSS & "resident set size, the non-swapped physical memory that a task has used" 一些关键性数据是不可以放在swap交换空间,这些数据称为该进程所占用的固定内存量TTY& & 进程运行所在的终端 显示? 就是与终端无关的进程或线程STAT& &进程此时的状态&&&&&&&&&&&&&&&&R:running&&&&&&&&&&&&&&&&S:interruptable sleeping&&&&&&&&&&&&&&&&D:uninterruptable sleeping&&&&&&&&&&&&&&&&T:stopped&&&&&&&&&&&&&&&&Z: zombie&&&&&&&&& & & & & & & & +:前台进程运行在终端之上的& & & & & & & & l:多线程进程& & & & & & & & N: 低优先级进程& & & & & & & & &: 高优先级进程& & & & & & & & s: session leader&&&&&&&&&&&&&&&&&&&&&常用组合之二:-ef& Unix风格&选项-e:显示所有进程-f:显示完整格式的进程信息&&[root@training
~]# ps -efUID&&&&&&& PID& PPID &&C &&&STIME &&TTY&&&&&&&&& TIME &CMDroot&&&&&&&& 1&&&& 0 &&&&&&&0 &&Dec25 &&&&?&&&&&& &&&&&&&&&&&&00:00:01
/sbin/init&C:cpu utilizationcpu占用的百分比STIME:启动时间PPID:&&&&& 父进程,ppid=0 此进程是过度进程,一般是swap进程STIME:进程启动的时间TIME:进程占用CPU的时间常用组合之三:-eFH&选项& -F:显示完整格式的进程信息;与-f 意义基本相同C: cpu
utilizationPSR:运行于哪颗CPU之上-H:以层级结构显示进程的相关信息;&[root@training
~]# ps -eFHUID&&&&&&& PID&
PPID& C&&& SZ&&
RSS PSR STIME TTY&&&&&&&&& TIME
CMDroot&&&&&&&& 2&&&&
0& 0&&&& 0&&&&
0&& 0 Dec25 ?&&&&&&& 00:00:00 [kthreadd]root&&&&&&&& 3&&&&
2& 0&&&& 0&&&&
0&& 0 Dec25 ?&&&&&&& 00:00:00&& [migration/0]&SZ:&&&&size in physical
pages of the core image of the process. This includes text, data, and stack
space.使用掉的物理内存PSR:&&processor that
process is currently assigned to 运行在哪个CPU上常用组合之四:-eo, axo&选项&&&&&&& o&
field1, field2,...:自定义要显示的字段列表,以逗号分隔,o一定要放在后面;常用的field:pid, ni, pri, psr, pcpu, stat, comm,
tty, ppid, rtprioni:nice值;priority:priority,优先级;rtprio:real
time priority,实时优先级;&[root@centos7training
home]# ps axo pid,command,stat,ni | more&& PID COMMAND&&&&&&&&&&&&&&&&&&&& STAT& NI&&&& 1 /usr/lib/systemd/systemd -- Ss&&&& 0&&&& 2 [kthreadd]&&&&&&&&&&&&&&&&& S&&&&& 0&&&& 3 [ksoftirqd/0]&&&&&&&&&&&&&& S&&&&& 0&&&& 5 [kworker/0:0H]&&&&&&&&&&&&& S&&& -20&&&&pgrep, pkill命令:&&&&&&&&&&&&筛选进程信息.筛选出进程信息并杀掉- look up or
signal processes based on name and other attributes&pgrep
[options] pattern-u uid:effective
user-U uid:real
user-t& TERMINAL:与指定的终端相关的进程;-l:显示进程名;-a:显示完整格式的进程名;-P pid:显示此进程的子进程;&[root@centos7training
home]# pgrep -a -U postfix1584
pickup -l -t unix -u1586
qmgr -l -t unix -u&&&&&&&&&&&&& pkill 参数与pgrep一致,grep后kill掉Htop命令:&&&&1.Htop命令是top命令的增强版,基本命令和显示出的字段基本相同
& &2. 与 top 相比,htop 包含的优点有: & & & & & & & &1.可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。 & & & & & & & &2.在启动上,比 top 更快。 & & & & & & & &3.杀进程时不需要输入进程号。 & & & & & & & &4.htop 支持鼠标操作&图1:Htop界面鼠标浅蓝色条幅可以自由移动:图2:鼠标点击F1进入Help界面&&&&&&&&Status两个选项:Virtualiz:虚拟机所占用cpu百分比Status: D disk sleep 指的是 D =
uninterruptible sleep,等待磁盘IO完成的睡眠& & 当进入htop界面我们可以输入子命令相关相关操作,以下仅列出常用子命令:l:显示选定的进程打开的文件列表;s:跟踪选定的进程的系统调用;t:以层级关系显示各进程状态;a:将选定的进程绑定至某指定的CPU核心;F6:指定字段进行排序l:显示出进程打开的文件列表:a:将进程514 绑定到哪个cpu上:650) this.width=650;" src="/wyfs02/M01/78/89/wKioL1Z_nGfCDA00AAAyNtQ52Dk975.png" title="3.png" style="float:" alt="wKioL1Z_nGfCDA00AAAyNtQ52Dk975.png" />& Glances工具&&&&- A cross-platform curses-based monitoring tool&&&&与其他工具相比,glances会显示每块网卡和disk的IO&&&&&&&&&&&&&& &&&&&&&&&&常用选项:-b:以Byte为单位显示网上数据速率;-d:关闭磁盘I/O模块;-m:关闭mount模块;-n:关闭network模块;-t #:刷新时间间隔;-1:每个cpu的相关数据单独显示;-o {HTML|CSV}:输出格式;-f&
/PATH/TO/SOMEDIR:设定输出文件的路径(不包含文件名);[root@222 ~]# glances -f /tmp/ -o HTML&&&firefox
/tmp/glances.html 使用Firefox工具打开html文件&C/S模式下运行glances命令:服务模式:glances& -s& -B&
IPADDR&IPADDR:本机的某地址,用于监听;&&客户端模式:glances& -c& IPADDR&IPADDR:是远程服务器的地址;此时客户端可以浏览glances 服务器上的性能监控数据&Dstat工具:&Dstat是一款非常强大的性能工具,这里仅列出平日工作中常遇到的参数:- versatile tool for generating system resource statisticsdstat [-afv] [options..] [delay [count]]&常用选项:-c, --cpu:显示cpu相关信息;-C #,#,...,total-d, --disk:显示磁盘的相关信息-D sda,sdb,...,tobal-g:显示page相关的速率数据;-m:Memory的相关统计数据-n:Interface的相关统计数据;&-N eth1,eth2,total&&&&&&&&&&&&& include eth1 eth2 and total -p:显示process的相关统计数据;-r:显示io请求的相关的统计数据;-s:显示swapped的相关统计数据;&--tcp--udp--raw--socket&--ipc&--top-cpu:显示最占用CPU的进程;--top-io:最占用io的进程;--top-mem:最占用内存的进程;--top-lantency:延迟最大的进程;&&&&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:未分类┆阅读(0)┆评论(0)君,已阅读到文档的结尾了呢~~
广告剩余8秒
文档加载中
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第 十 四 天 : 服 务 器 日 常 的 监 控 工 具
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 燕秀工具箱 的文章

 

随机推荐