我在性能测试时,出现了503错误(进入登录界面时提示服务器内部错误),监控的服务器资源有几个没有得到值
1用ping看看网络通信情况,一直ping下去
然后在场景中运行脚本。 一般把服务器资源打开。 一边压力测试 一般查看服务器资源和网络情况。
如果脚本回放成功。那应该脚本是正确的。 然后看大量的用户压力时候 服务器资源利用率情况。是不是服务器压力过大导致页面响应时间或者中间件死掉。 然后在看看运行这段时间网络是否有不稳定的情况。
1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。
其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到 flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU
2,查看内存大小:
cat /proc/meminfo |grep MemTotal
3,其他一些可以查看详细linux系统信息的命令和方法:
uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令
head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L
cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
1、 主要使用到的组件有SystemManagementdll
2、 主要类为 :ManagementScope
连接远程服务器示例代码:
View Code
具体查询举例:
View Code
查询内存和CPU:
View Code
举例远程重启某个进程(部分示例代码):
View Code
Other、可以用程序操作批处理文件(bat)来查询进程或者是关闭进程:
例如查询所有进程 :tasklist /S ip /U 用户名 /P 密码
关闭某个进程:
第一:zabbix
zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位或解决存在的各种问题。
第二:Nagios
Nagios是一款开源的的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。
第三:SeaLion
SeaLion是一个基于云的Linux服务器监控工具。也是通过统一的仪表盘监控所有服务器指标,它只需几分钟即可完成设置,它具有即时报警功能,以便在发生问题时,可以快速收到通知和每日数据摘要等。
第四:Icinga
Icinga是一个免费的开源监控系统,可以检查服务器资源的可用性,它会记录服务器问题并在停机的时候通知您。
第五:Munin
Munin是一个网络和系统监控工具,可帮助您分析服务器资源趋势。它旨在成为一个即插即用的解决方案,安装后无需太多额外工作即可收集关键信息。Munin主要功能是有效分析服务器资源优势,属于网络及系统监控的工具。
第六:Monit
Monit是一个用于管理和监控Unix系统的开源工具。Monit可以进行自动维护和维修,如果出现错误情况,Monit可以自动触发保护行为。
第七:Performance Co-Pilot
Performance Co-Pilot,简称PCP,是一个系统性能分析框架。它收集并分析来自多个主机的各种性能指标,可以通过它观察指标走向的趋势,以帮助您快速识别异常所在点。它提供API,可依据此来开发自定义的监控和报告解决方案。
服务器监控软件和工具可以帮助我们从任何一个地方实时了解服务器的性能和功能。由于复杂的社交网络系统以及我们对于互联网的高度依赖,我们绝不允许那些宝贵的客户因自身系统停运而流失。选用实用的服务器工具和软件是一个明智的决定,能够同时为你带来短期效益和长期效益。下面是10款超实用的服务器监控工具和软件:
1 Simple Server Monitor
Simple Server Monitor是一款成本合理、功能强大、使用方便的服务器监控工具,它会不断监控服务器和Web应用程序的运行状况。
2 Pingdom
Pingdom服务可以监控互联网上多个地方的网站和服务器,确保它们运行正常。你可以使用Pingdom来监控你的公共网站和受密码保护的网站、FTP服务器、电子邮件服务器,以及可以通过互联网来访问的其他各种服务。
3 迈克菲SECURE技术
迈克菲技术可以帮助你应对网上风险。无论你向迈克菲求助是为了扫描安全漏洞、PCI认证还是验证信任标记,它都可以提供简单、有效、成本合理的安全解决方案。
4 interSeptor Pro
interSeptor Pro是一款高级的以太网数据中心和机架监控系统,它可以监控机房和机架的环境状况;而且一旦出现空调系统故障以及可能危及业务连续性的其他情况,就会发出预警警报。
5 AppFirst
AppFirst适用于用任何一门语言编写的每一个应用程序。有了AppFirst,你根本不需要自己的用户告诉你哪里又出了问题。你可以下载这款服务器监控软件的免费试用版。
6 PA Server Monitor
如果在IT部门工作,要处理好工作与生活的关系有些难度。但是PA Server Monitor可以帮助IT人员减轻压力,因为它可以不断监控服务器,同时又不妨碍你处理其他工作。
7 Uptime software
该软件具有虚拟服务器监控、物理服务器监控和云环境监控等功能。这一款服务器监控工具适用于多种平台。可以监控服务、监控应用程序、监控系统资源用量,又没有“企业级”监控工具的那种复杂性。
8 Nimsoft
可以通过监控获得所需的详细信息,以便优化贵企业中重要服务器的性能和可用性。面向服务器的Nimsoft监控解决方案(NMS)支持Windows、iSeries AS400、Netware、Linux和UNIX等操作系统——这一切均借助易于使用的控制台即可实现。NMS可以监控服务器的核心资源(处理器、内存、磁盘、事件日志和计数器等),能够集中管理远程进程和服务(如自动和手动的开始/重启/终止)。你可以下载这款服务器监控工具的免费试用版。
9 Neustar Webmetrics
Webmetrics监控服务让公司企业能够在客户受到影响之前,跟踪、查明、解决和防止Web性能问题。Webmetrics可以测试、监控和测量网站、Web应用程序、Web服务、网络服务和流媒体的性能,从而确保不间断的正常运行时间和性能完整性。
10 Dotcom-Monitor
Dotcom-Monitor是一项高级的网站监控服务,它把监控、报告、通知、上报和分析等功能结合起来,做成最适合贵公司需要的套件,以确保贵公司电子商务的性能和正常运行时间。
如何配置visualvm监控
visualvm支持在Linux和windows上启用图形界面监控jvm的资源,但是如何可以使我们在windows上监控到远程linux服务器资源,这还需要做一些配置,此文是在原文基础上做了更改的,希望对大家能有所帮助。
(1)首先要修改JDK中JMX服务的配置文件,以获得相应的权限:
进入$JAVA_HOME所在的根目录的/jre/lib/management子目录下,
a 将jmxremotepasswordtemplate文件复制为jmxremotepassword
b 调整jmxremoteaccess和jmxremotepassword的权限为只读写,可以使用如下命令
chmod 600 jmxremoteaccess jmxremotepassword
c 打开jmxremotepassword文件,去掉
# monitorRole QED
# controlRole R&D
这两行前面的注释符号
(2)修改envsh
打开envsh文件,并在JVM的启动配置中添加如下信息:
JAVA_OPTS="-Dcomsunmanagementjmxremoteport=1099 -Dcomsunmanagementjmxremotessl=false -Dcomsunmanagementjmxremoteauthenticate=false -Djavarmiserverhostname=1020150218 其他配置”
这几个配置的说明如下:
-Dcomsunmanagementjmxremoteport:这个是配置远程connection的端口号的,要确定这个端口没有被占用
-Dcomsunmanagementjmxremotessl=false -Dcomsunmanagementjmxremoteauthenticate=false:这两个是固定配置,是JMX的远程服务权限的
-Djavarmiserverhostname:这个是配置server的IP的,要使用server的IP最好在机器上先用hostname –i看一下IP是不是机器本身的IP,如果是127001的话要改一下,否则远程的时候连不上,目前我们的server上我已经都改好了
(3)Windows客户端配置
JDK 16版本自带visualvm,只需要进到bin目录下启动即可
启动后页面比较简洁,配置也很简单:
a 点击左侧菜单的add Remote host,输入server的IP,然后再advanced settings里配置端口(注意这个端口要和server上的端口一致)
b 右击刚才配置的IP,选择JMX connection方式,再次输入端口,就可以监视到JVM资源了
0条评论