服务器性能测试

服务器性能测试范围
测试目的:
发现服务器的性能瓶颈。配置的不同能够承载的最大任务数不同,能够承载的压力也不同。

CPU
内存
磁盘
网络
版本

测试与生产的环境配置不同?
通过多次压测来计算性能耗损。

性能损耗的计算方式
多次压测后的性能预估
横线是服务器数目
竖线是服务器指标

性能预估

进程与线程
定义与区别
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。

      线程是进程的一个实体,是CPU调度和分派的基本单位,他是比进程更小的能够独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源。一个线程可以创建和撤销另一个线程。

      一个线程只能属于一个进程,而一个进程可以拥有多个线程。
     线程是进程工作的最小单位。
     一个进程会分配一个地址空间,进程与进程之间不共享地址空间。即不共享内存。
     同一个进程的不同的多个线程,共享父进程的地址空间。
      线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
      线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。

进程-优点
每个进程互相独立,不影响主程序的稳定性,子进程崩溃不影响其他进程。
通过增加CPU,可以扩充性能。
可以尽量减少线程加锁与解锁的影响,极大的提高了性能。

进程-缺点
逻辑控制复杂,需要和主程序交互。
多进程调度开销大。

线程-优点
程序逻辑和控制方式简单
所有进程可以直接共享内存和变量等。
线程方式消耗的总资源比进程方式少

线程-缺点
每个线程与主程序公用地址空间,最大内存地址受限。
线程之间的同步和加锁不易控制。
一个线程的崩溃可能影响到整个程序的稳定性。

Linux服务器内存监控-top命令
top:能够实时监控系统的运行状态,并且可以按照cpu以及内存等进行排序。语法:top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

[zhimu@localhost ~]$ top -hv
top: procps version 3.2.8
usage: top -hv | -abcHimMsS -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

-h:帮助
-p:监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用。
M:按内存使用率排序
P:按CPU使用率排序
z:彩色/黑白显示。
top中的load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数。三个值分别表示在最后的1分钟,5分钟,15分钟的平均负载值
top中在单核cpu中load average的值为1时表示满负荷状态。同理在多核cpu中满负载的load average的值为1*cpu核数。

vmstat
可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、CPU的信息。语法:vmstat [-a] [-n] [-S unit] [delay [count]]
-S : 使用指定单位显示。参数有k,K,m,M,分别代表1000,1024,1000000,1048576字节(byte)。默认单位为K(1024 byte)

free
-h
-m

mpstat
mpstat最大的特点是:可以查看多核心CPU中每个计算核心的统计数据。语法:mpstat [-P {|ALL}] [internal [count]]
-p {|ALL} 表示监控哪个CPU,CPU在[0,cpu个数-1]中取值
internal 相邻的两次采集的间隔时间
count采样次数,count只能和delay一起使用
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始。输出为前一个interbal时间段的平均信息。

netstat
-n:转换数字显示
-l :仅列出有在listen(监听)的服务状态
-p :显示建立相关链接的程序名
-t :显示TCP相关选项
-u :仅显示UPD相关选项
-i :显示自动匹配接口的信息
-c :每隔一个固定时间,执行该netstat命令。

iostat
iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [
-j { ID | LABEL | PATH | UUID | ... } [ device [...] | ALL ] ] [ device [...] | ALL ] [ -p
[ device [,...] | ALL ] ] [ interval [ count ] ]

-x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备。

iostat -x xxx 3 2 //每隔3秒打印2次xxx磁盘的信息 ,(%util 繁忙程度)

万能命令
sar简介
(System Activity Reporter 系统活动情况报告)目前Linux上最为全面的系统系统性能分析工具之一,可以从多方面对系统的活动进行报告。

sar的性能监控范围
文件的读写情况,,系统调用的使用情况,磁盘I/O,CPU效率,内存使用状况,进程活动以及IPC有关的活动等。

sar [ -A ] [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ]
[ -v ] [ -V ] [ -w ] [ -W ] [ -y ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ -n { keyword [,...] | ALL } ] [ -I { int [,...]
| SUM | ALL | XALL } ] [ -P { cpu [,...] | ALL } ] [ -o [ filename ] | -f [ filename ] ] [ --legacy ] [ -s [ hh:mm:ss ] ] [ -e
[ hh:mm:ss ] ] [ interval [ count ] ]

sar语法说明
在命令行中,n和t两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的。默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file在此处不说关键字,是文件名。options为命令行选项。

sar选项
-A :所有报告的总和
-u : CPU的利用率
-v :进程、节点、文件和锁表状态
-r :显示系统内存的使用情况
-B :内存分页情况
-b :缓冲区使用情况

Linux下的进程追踪命令
strace简介
strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应该工作过程的目的。

strace [-CdffhiqrtttTvVxxy] [-In] [-bexecve] [-eexpr]... [-acolumn] [-ofile] [-sstrsize] [-Ppath]... -ppid... / [-D]
[-Evar[=val]]... [-uusername] command [args]

   strace -c[df] [-In] [-bexecve] [-eexpr]...  [-Ooverhead] [-Ssortby] -ppid...  /  [-D]  [-Evar[=val]]...  [-uusername]  command
   [args]

strace选项
-p : 跟中指定的进程。
-f : 跟踪由fork子进程系统调用
-c : 统计每次系统调用的所执行的时间,次数和出错的次数等。
-t : 在输出中的每一行前加上时间信息。-tt 时间确定到微妙级。
-e : 输出过滤器,通过表达式,可以过滤掉你不想要输出。
-o filename : 默认strace将结果输出到stdout,通过-o可以将输出写入到filename文件中。

Linux监控工具
nmon
nmon是一种在linux操作系统上广泛使用的监控与分析工具,nmon所几率的信息是毕竟全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。

nmon用法
-f 这是nmon必选参数,并且必须放在第一个,就是输出文件的意思;用该参数,nmon输出的文件名就是默认名称:hostname_date_time.nmon
-F <filename>这个参数和-f相同,只不过用户可以自己定义文件名称。
-s 采集数据的频率
-c 采集数据的次数
-t 输出最小化资源的进程数据
-h 查阅帮助。

nmon_analyzer重点sheet
SYS_SUMM 系统汇总页,包含cpu占有率变化情况,磁盘IO的变化情况等信息;
AAA 关于操作系统以及nmon本身的一些信息
CPUnn 显示执行时间内CPU占用情况
CPU_ALL 所有CPU的概述,显示所有CPU平均占用情况
CPU_SUMM 每一个CPU在执行时间内占用情况
DGBUSY 磁盘组每个hdisk设备平均占用情况;
DGREAD 每个磁盘组的平均读情况;
DGSIZE 每个磁盘组平均的读写情况
DGWRITE 每个磁盘组平均写情况
DGXFER 每个磁盘组I/O的每秒操作
MEM 内存相关的主要信息,使用、空闲内存大小等。
NET 显示系统中每个网络适配器的数据传输速率(千字节/秒)
PAGE 本sheet统计相关页信息的记录

Linux定时任务
crontab
linux系统是由cron这个系统服务来控制的,Linux系统上包含很多的计划性工作。使用者自己也可以设置计划任务,所以Linux系统提供了使用者控制计划任务的命令

/sbin/service crond status 查看定时任务的服务是否启动
reload 重新载入配置
crontab的服务权限:
crontab的权限管理存储在cron.allow文件与cron.deny文件中。如果没有可以创建在etc目录下
cron.allow文件存储的是允许那些用户使用crontab
cron.deny则相反

命令例子:
晚上11点到早上7点之间,每隔一小时重启smb

  • 23-7/1 * * * /etc/init.d/smb restart
    每月的4号与每周一到周三的11点重启smb
    0 11 4 * mon-wed /etc/init.d/smb restart
    一月一号的4点重启smb
    0 4 1 jan * /etc/init.d/smb restart
    每小时执行/etc/cron.hourly目录内的脚本
    01 * * * * root run-parts /etc/cron.hourly

来自: http://man.linuxde.net/crontab

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 夜色爬上了衣裳 影子何必再拉长 陌生的又不只是站在路旁 酒杯灌满了惆怅 歌舞怎么变癫狂 流浪的又不只是一副皮囊 你...
    白衣恋苍狗阅读 265评论 0 1
  • 不久前有客户反馈说iframe嵌我们移动端的页面(这个页面做了一些额外的授权),点击输入框的时候页面总会刷新,查了...
    efef9a00680f阅读 184评论 0 0
  • npm install 长时间加载不动我试着更换了一下淘宝源 更换完报错 后来又试了试下边这个 搞定了
    LYDeveloper阅读 599评论 0 0
  • 有关资料来自同级朋友的论文,禁商用!! 学习和记忆是所有动物适应其生存环境所需要的最基本能力,所以有关学习和记忆的...
    萌萌哒哈士奇阅读 3,587评论 3 16