04 2013 档案
摘要:Latencytap.stp脚本支持多少种的延迟原因$ cat /usr/share/latencytop/latencytop.trans#1 vfs_read Reading from file1 vfs_write Writing to file1 __mark_inode_dirty Marking inode dirty1 vfs_readdir Reading directory content1 vfs_unlink Unlinking file1 blocking_notifier_call_chain Blocking notifier1 lock_super Superbl
阅读全文
摘要:如何应用SystemTap下的latencytop.stp脚本1、 确定linux版本(必须使用root权限)[root@BL480-64 ~]#uname –aLinux BL480-64 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux2、 建议使用系统自带版本stap version 1.3[root@BL480-64 ~]#/usr/bin/stap –VSystemTap translator/driver (version 1.3/0.148 non-git sourc
阅读全文
摘要:引言Systemtap脚本编写难度较高,真正解决问题时候确实相当紧迫,为了保证各位高效地解决问题,Systemp提供相当多的种类脚本,包括interrupt、io、memory、network、profiling等种类脚本。随之带来的问题出现了,如何应用这些脚本呢?哪种场合应用这些脚本呢? 下面跟大家一起讨论profiling种类下的latencytop,让更多的人找到一种解决系统延迟问题的解决办法。概述SystemTap 是监控和跟踪运行中的 Linux 内核的操作的动态方法。这句话的关键词是动态,因为 SystemTap 没有使用工具构建一个特殊的内核,而是允许您在运行时动态地安装该工具。
阅读全文
摘要:[root@BL480-64 jinyz]# more topcaller.stpglobal btprobe syscall.open { if (execname() == "find") {bt[tid()] = backtrace()} }probe end { foreach (fn in bt-) { # Sort by call count (in decreasing order) printf("%d==%s\n", fn, bt[fn]) print_stack(bt[fn]) } exit()}输出结果:[root@BL480-64
阅读全文
摘要:运行脚本[root@BL480-64 jinyz]#stap topexe.stp输出结果: SYSCALL COUNT find 101910 oracle 1562 modclusterd 1184 pcscd 535 clustat 77 gdm-rh-security 72 stapio 52 iscsid 40 gpm 21 irqbalance 20 sshd 16 automount 15 mysqld 11 rpc.idmapd 10 sendmail 7 ricci 5 gam_server 5 init 4 python 1输出结果证明find命令调用最多,下一步find调
阅读全文
摘要:Stap 程序是SystemTap 工具的前端,它接受使用脚本语言编写的探测指令(probing instructions) ,翻译成C 代码,并将C 代码编译成内核模块,接着将模块加载到内核,最后内核执行脚本里请求的系统跟踪和探测函数。你可从标准输入或命令行参数向stap 提供脚本文件。程序运行直至用户中断,或者遇到大量的软件错误,或者脚本自动调用exit() 函数。tap 命令完成下述的工作: 翻译脚本 生成C 代码并编译成内核模块 加载模块到内核,输出到stap 的stdout CTRL-C 卸载内核模块和终止stap 关于stap 命令的所有选项列表,请参阅stap(1) 的用户手册。
阅读全文
摘要:如何编写SystemTap脚本下面代码示例演示了SystemTap 语法和控制结构。[root@BL480-64 ~]#vi test1.stpglobal odds, evens probe begin { # no 和ne 是局部整型变量 for (i = 0; i < 10; i++) { if (i % 2) odds [no++] = i else evens [ne++] = i } delete odds[2] delete evens[3] exit() } probe end { ...
阅读全文
摘要:引言部门对功能的要求很高以外,对性能的要求也越来越高。从最初的接口性能测试,到现在的Web应用性能测试,研究院集采性能测试在不断向前发展,横向、纵向都不断深入、拓宽,不断积累经验与创新。一个应用的性能由多方面因素决定,这样就增加了性能测试和性能调优的难度,也扩大了性能测试的广度,这是一个挑战。需要各个测试人员提高专业技能,扩展视角,最终打造一个专业的团队。参与执行好多性能测试,常常会出现各种问题,随着系统复杂度提升,解决问题随着更加艰难。经常有人曰:"出此现象,何哉?",很多情况不知从何入手,反思如何解决。作为性能测试人员主导整个性能测试过程,更想知道为什么会出现奇怪的现象
阅读全文
摘要:作为“中国式”产出的学生,做各种数学题,并产生反感,毕业多年后都还给老师了:),现在又有机会当回学生听老师讲课了,当然认真听讲了,不过就像老师所讲的,数学有连续性,举个例子:玩爬楼梯游戏,每一个问都需要下一层的钥匙加本层的钥匙一起打开。我现在丢掉了前几层的钥匙,现在想打开10层的门还得下楼拿前几层的钥匙:(,希望在博客中记录自己的足迹和钥匙,省着自己还得回去拿钥匙,生命很短暂,在有限的生命中走得更远,只能少回去找钥匙,鼓励自己勤奋学习,加油。。。。o(∩_∩)o...。
阅读全文
摘要:终于成功注册博客了,最近接触接口测试,谈谈自己的想法和实践,废话少说,转入正题。什么是接口测试?引用牛人定义的接口测试概念——接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。由于刚刚接触接口测试,暂时定义成系统外部接口测试,内部及各个子系统之间逐个引入。为什么做接口测试呢?1、系统越做越大,越做越复杂,子系统的数量也逐步增长;2、客户技术能力也不断地提升;3、原有的测试方法不能有效地发现bug;接口测试的目的是什么?以保证系统的正确和稳定为核心,以持续
阅读全文

浙公网安备 33010602011771号