当前位置:文档之家› 《易测试》2013-12

《易测试》2013-12

《易测试》2013-12
《易测试》2013-12

业界动态

Spring Framework 4.0.0发布

Spring项目组发布了Spring框架4.0.0版本。Spring是一个开源的轻量级Java SE和Java EE开发应用框架,其目的是用于简化企业级应用程序开发。

Spring框架第一个版本发布于2004年,自发布以来已历经三个主要版本更新:Spring 2.0提供了XML命名空间和AspectJ支持;Spring 2.5增加了注释驱动(annotation-driven)的配置支持;Spring 3.0增加了对Java 5+版本的支持和@Configuration模型。

Spring 4.0.0主要改进包括:

·改进了入门指南,学习Spring更加容易·移除已废弃的软件包和方法,详情可参阅API变更列表

·首次提供对Java 8部分功能的支持,可使用Spring回调接口来使用Lambda表达式和方法

·最低支持Java EE6和7版本

·支持使用Groovy DSL来定义外部bean 配置

·新增spring-websocket模块,以支持网络应用中客户端和服务器间的双向通信·对核心容器(Core Container)、常规Web和测试做出大量改进

参考链接:

https://www.doczj.com/doc/da17119964.html,/news/28569-Spring-Framework-4-0-0-release-out

亚马逊云计算服务正式进入中国

AWS中国(北京)区域即将推出有限预览。AWS已经邀请了一批中国公司客户以及在中国开展业务的跨国公司客户,开始使用中国(北京)区域的云服务来开发和运营他们的应用。

希望使用AWS中国(北京)区域的客户需要注册一个新的帐户,现有AWS客户账户无法使用新的中国区域的服务,反之亦然。

北京继悉尼、新加坡和东京后, 成为AWS在亚太区的第四个,全球的第十个服务区域。AWS北京区域将提供包括Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (RDS), Amazon Simple Storage Service (S3), Amazon Elastic Block Store (EBS)在内的众多云服务。

参考链接:

https://www.doczj.com/doc/da17119964.html,/about-aws/whats-new/2013/12/18/announcing-the-aws-china-beijing-region/

移动端的A/B测试解决方案

Google 向来不喜欢猜测,基本上所有东西都会经过大量测试才会发布,其之前的员工 Momchil Kyurkchiev 和 Andrew First 就是在 Google 专门负责测试工作的。今天两位联合创始人建立的公司 Leanplum,在经历了一年的内测之后,终于正式上线了,这次他们将风靡网页端的 A/B 测试方法带到了移动端。

参考链接:

https://www.doczj.com/doc/da17119964.html,/p/207482.html Appium 移动端测试框架

Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。支持iOS、Android及FirefoxOS平台。 使用WebDriver的JSON Wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架。Appium对iOS系统的支持得益于Dan Cuellar’s对于iOS自

动化的研究。也集成了Selendroid来支持老android版本。

参考链接:

http://appium.io/index.html

十二个移动App云测试服务盘点

随着移动设备、操作系统版本的碎片化,测试工作对于移动开发团队而言越来越成为一个沉重的包袱,不过这也带来了商机。现在市场上有不少服务和平台提供云测试工具,可以对移动App进行自动化测试,提供测试报告和优化建议,比开发者/测试者自己来做,不但省时省力而且准确高效得多。参考链接:

https://www.doczj.com/doc/da17119964.html,/aengine-402829.htm IBM收购Aspera加速大数据传输

IBM最近收购位于加州的Aspera公司。Aspera帮助企业安全、快速地传输海量数据文件。Aspera的高速传输技术可以使大文件或数据集的传输时间减少99.9%,大数据传输未来将无限可期。

参考链接:

h t t p://w w w.c s d n.n e t/a r t i c l e/2013-12-24/2817906-IBM-BigData-Aspera-Acquisition

虚拟化工具QEMU 1.7.0发布

QEMU团队近日发布了QEMU 1.7.0版本。QEMU是一款类似Oracle Virtualbox的开源虚拟机和虚拟化工具,它的处理速度接近真实电脑。

参考链接:

https://www.doczj.com/doc/da17119964.html,/news/28564-QEMU-170-out

阿里巴巴云梯YARN集群

阿里巴巴作为国内使用Hadoop最早的公司之一,已开启了Apache Hadoop 2.0时代。阿里巴巴的Hadoop集群,即云梯集群,分为存储与计算两个模块,计算模块既有MRv1,也有YARN集群,它们共享一个存储HDFS集群。云梯YARN集群既支持MapReduce,也支持Spark、MPI、RHive、RHadoop等计算模型。云梯YARN集群详见以下链接:

参考链接:

h t t p://w w w.c s d n.n e t/a r t i c l e/2013-12-04/2817706--YARN

走近Google基于SDN的B4网络

如果要问当前最著名、最有影响力的基于SDN技术搭建的商用网络是哪个,我想大多数人都会投票给Google的B4网络,一方面因为Google本身的名气,另一方面也是因为Google在这个网络的搭建上投入大、周期长,最后的验证效果也很好,是为数不多的大型SDN商用案例,而且非常成功,是充分利用了SDN优点(特别是OpenFlow 协议)的案例。

参考链接:

https://www.doczj.com/doc/da17119964.html,/article/2013-11-25/2817613

持续集成专题:持续集成回顾暨点滴分享-实施篇

“一万年太久,只争朝夕!”

本文的着力点在于结合我们的实际,简单论述如何开展持续集成,并大致分为:为什么、是什么、怎么办三段论论述,那么:

“洪哥,我们动手吧!”

为什么实施持续集成

先听听Martin Fowler是咋说的:

“持续集成是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。”

这段论述很简练,很靠谱,不愧是大湿!结合自己的经验,做一下本地化解释:

·团队成员既包括开发,也包括测试,DBA,SCM,等多种技术型角色,大家

的工作成果也不仅仅是项目的产品代码,也包括测试代码,测试环境的配置,数

据库的配置,外部依赖的配置,等

·产品(项目)的优质,按时交付,完成其商业价值,是以上工作集成在一起的

共同结果,任何一个环节都不应该掉链

·我们希望以上工作能够以持续集成的形

式集成起来,运行起来,透明起来,发现问题,降低风险,持续改进

在另外一个层面,技术负责人(QA负责人,开发leader,等)需要一些静态的,量化的,宏观的指标帮助进行一些决策或者判断。这个项目的代码覆盖率如何?代码风格,编码质量如何?冒烟通过率如何?这些具有指导意义的指标可以很方便地从持续集成中产出。

我想象中的持续集成是咋样的

是这样的,见图 1。

图 1 持续集成流水线(pipeline)

·首先是编译打包(Build),之后是单元测试(UT)与静态代码检查(SA),之后是快速的接口测试(IT)及UI自动化(UI)

·之后IT及UI的全回归,以及安全扫描(SS)与性能测试(PT),这个阶段耗时预计会长得多

《易测试》已连续多期刊载了持续集成专题的文章,内容涵盖单元测试、静态代码检查、Jenkins等多方面,取得了不错的反响。本期《易测试》在此基础上,继续全文转载杭研质量保障部陈侃的博文《持续集成回顾暨点滴分享[7] – 实施篇,持续集成搞起来!》。作者以独特的视角、简练的笔触,讲述了对于持续集成的理解,更为难得的是,还将持续集成的各个环节逐个拆解,指出其难易之处,可行之法,令实践持续集成的可执行性大为提升。各位读者阅毕,必有摩拳擦掌,跃跃欲试之感!

·最后是归档(Archive):可以是给Git,SVN打Tag,也可以是把产出的Jar 包,War包等,以一定的规则(例如: branch_revision_timestamp.war )命名后存档

·其中,Build环节,UT及SA环节,快速IT及UI环节,合起来运行时间跨度不应该长于15分钟。人都是有惰性的,反馈越慢,越倾向于不运行==!这三个环节应该经常运行:每30分钟定时执行,或者轮询代码库(scm poll)执行,或者团队成员根据需求手动执行

·而截至Archive环节为止的整套pipeline,建议每天定时运行若干次(至少一次),产出一些经过全套测试的具有一定交付信心的构建物

更后面的,这个pipeline可以继续延伸至产品上线:将Archive环节产出的构建物直接分发至生产环境服务器,并无缝更新重启(印象中,豆瓣?七牛?已经有这方面的实践拿出来分享了?),上线后再执行一套针对线上环境的接口测试或者UI自动化,确保上线成功。

这幅图中的一些环节,我们已经有了不少的实践和积累,比如:SA,UT,UI,以及它们的载体:Jenkins;更多的,相信也是可以搞定的 :-)

如何实施持续集成呢?

古人诚不欺我,一句话道破天机:

“大事化小,小事化了”

只要把实施持续集成的步骤,难点,风险点,一一分解,其可执行性就会大大增强,也有利于稳步推进,逐步收益

小二!show

表格!

上述表格全景式地展示了持续集成的实施步骤,每一个分解步骤都有一定的可执行性,且尽量保证收益大于投入及风险:每前进一步,都有收益!

而且,很多环节可以是有现成的,比如:单元测试,接口测试,UI 自动化,等,完全有可能一直都在使用着,只是没有集成起来而已。

此外,在实践中,我墙裂建议:

·“比所有事情都重要的是寻找帮助。找一个以前做过持续集成的人来帮你” –

Martin

·在第一时间部署包括Build,UT(及SA),快速IT(及UI)这三个环节在内的猴版持续集成

·并使用Jenkins 的Pipeline 插件,展示这个持续集成(见图2)

·用例可以少些,只覆盖核心功能,冒烟功能,静态代码检查规则集可以简略些

·猴版持续集成的部署意味着:打通了各个环节,配好了各个环境,一切都可以Run 起来了,那么后面就是一心一意补

充测试用例,补充更多环节了

图 2 Pipeline 插件展示

陈侃

2011 年毕业于浙江大学信电系,同年加入网易杭州研究院质量保障部,测试开发工程师一枚。

主打业务:测试自动化,持续集成。

个人爱好:兴趣广泛,以学为乐,爱折腾,性懒惰。

结束了

没啥可说的了,还是行动吧:

“一万年太久,只争朝夕!”

编者注:本文乃系列博文的收尾篇,之前的几篇分别阐述了UI 自动化、单元测试、静态代码检查以及Jenkins,都是作者的实践总结,同样的简练笔触,同样的深刻理解,各位读者可移步杭研质量保障部官方博客。

网游服务器CPU性能剖析工具的应用实践

网游服务器的性能是游戏产品成功的关键,服务器的性能不好,可能成为产品质量的一大痛点,甚至直接决定网游产品的生死。业界关于服务器性能问题的惨痛教训还挺多的,让我记忆犹新的是,前年一款端游产品,在进入大规模推广阶段后出现频繁崩溃回档,基本上就此结束了轰轰烈烈的营销之旅。今年,某公司开发的某款手游产品在上线之初一天宕机30多次,虽然手游的服务器端宕机影响略小,但是对新产品的影响是毋庸置疑的。

压力下产生的大部分问题纯粹是因为BUG,需要通过相应的调试排错来去除,比如死锁,时序或者内存泄漏引起的问题。排除BUG之后,随着压力的进一步增长,这时候通常就需要考虑性能容载是否受限于某种特定服务器资源,并且有针对地进行优化。我们说性能优化最重要的是有的放矢,最忌讳无目的无衡量的优化措施,舍本逐末事倍功半还算是运气好,最大可能是优化不成反而变得更糟。那么这个时候,剖析就能用上了,分析人员需要能够明确定位问题的动态行为,衡量每次优化的进展并且有计划的跟进。需要指出的是,高并发的网游服务器,通常会碰到多种影响服务器稳定性的挑战,而性能剖析肯定不是解决所有问题的银弹。

剖析(Profiling)是一种动态的分析方法,通常是衡量被分析对象的时间或者空间资源的消耗情况,并通过调试信息把消耗情况对应到源代码上,使分析者或者开发者对程序运行时的资源使用行为有所洞察。这里有几个关键点:第一,剖析是一种动态的,或者说运行时的方法,也就是说无论剖析的目的如何,所剖析的目标行为应该是可重现的。第二,在开始具体的剖析工作之前,对服务器当前容载的瓶颈有一个大致的估计,是CPU瓶颈还是内存,抑或是IO等等。第三,剖析不会直接给出问题的答案,而是以数据的形式让分析者获取运行时的信息。接下来我们专注讨论下CPU剖析工具的几个应用实例。

实例1:某在线网游服务器进程CPU 空转占用率高

从某次性能测试节点收集出来的数据,我们发现服务器性能相比以前明显降低。经过几次排查发现,只登陆500个机器人不做任何事情,单个游戏逻辑服务器进程的CPU使用率也会达到100%。这个时候很自然的就想到用OProfile采样看看到底是什么在占用CPU。对于C++构建的服务器来讲,使用OProfile非常简便。OProfile是一种基于采样的统计型剖析工具,可以工作在不同的体系结构(包括Linux2.5及更高版本的内核)。OProfile使用简单,在服务器上部署后就只需用一行命令即可指定其运行参数。OProfile可根据CPU硬件支持的特定性能计数器激发的事件采样,也可以由时间中断激发来采样。通常情况下,硬件支持下的性能计数器采样更为精确,在实践中常被优先采用。采样之前,需要确认被剖析的目标应用或模块是否带调试信息,如果没有,则建议在构建的gcc命令行中加上-g选项。在大多数的游戏服务器分析中,一般不优先关心内核开销,所以会在setup时加上no-vmlinux 参数。如果服务器CPU可支持性能计数器,设置-event=INST_RETIRED使OProfile用指令引退事件来采样,这样每发生一次引退,OProfile都会采样下来纳入统计信息。

工具准备好后,就可以开启待分析应用啦,这次的问题很好重现,登500个机器人

采样空转就可以了,然后我们得到如下结果:

图 1 500机器人空转OProfile采样

非常直观的看到,libluajit-5.1.so.2模块(也就是luajit虚拟机)的gc行为异常占用了过多的CPU,应该是gc触发的机理上存在bug。这里面我们可以看到每个具体的函数在采样中被击中多少次,其中propagatemark就是祸首。如果想更进一步了解采样数在每个具体函数内部的分布情况,还可以用OProfile自带的opannotate查看 。唔,要是每个问题都像这么单纯,那世界该多美好!

实例2:某游戏跨服联赛CPU出现满负荷状况

刚才看了一个简明的例子,很遗憾在实践中大多数的问题更为复杂,需要一系列的组合拳,有时候甚至很难得到一个完满解,本例就是这种情况。某游戏的跨服联赛人比较多,对抗非常激烈,服务器CPU出现明显的满负荷状况,玩家体验很差。这时候我们该怎么做呢?像所有剖析工作一样,首先我们要在测试环境模拟多玩家对战的压力来重现问题,这个不多讲。在相仿的模拟压力加上去后,服务器CPU重现出了明显的卡顿,最高的逻辑时间延迟率达到100%!多对多的战斗关系,逻辑上来讲是一个N平方的时间复杂度,发生这种情况也是意料之中的。接下来我们需要思考的问题:应该从哪里着手优化?如果我们可以舍弃部分用户体验换取性能提升的话,应该从哪里入手?要回答这两个问题,首先要搞清楚的还是CPU花在哪里,也就是问题的热点在哪里。于是我们继续上神器OProfile,得出来的结果就没有上个例子那么一目了然了(图 2)。

首先,这些开销都不是BUG,它们都是必要的逻辑行为。其次,光从统计数据上来看,没有上例那么明显的热点。这个时候,就需要耐心来一行行解读这些数据:

1) 解读代码后发现,GetRPCTableSNO 这个函数是个名副其实的Get函数,只返回了一个成员变量。那么一个直观的想法就是,能否把这个函数inline,甚至去除。其实这是个挺典型的场景,简单函数在采样数据中出现的频率特别高,当然一方面我们可以inline它,换取函数调用的栈开销,但是另一方面这也是在提示我们,这个函数调用的频度非常高。那么我们找到这个函数的调用者,优化整个调用路径可能会更有效。

2) 我们继续往下找到这个函数的调用者l_pack,果然这个函数也榜上有名,因为GetRPCTableSNO被大量循环调用,所以l_ pack函数排名稍微靠后。那么在优化l_pack 函数的同时,更重要的信息是隐藏在对产品代码的理解当中。无论是l_pack还是其余的相关函数,对应到上层逻辑,都是在做玩家信息的广播,有可能是在同步状态,有可能是在喊话或者是干别的。其实,这是一个普遍的经验,OProfile能够直接告诉我们的底层优化的信息是非常有限的,重要的是从这些底层信息中找到上层优化的方向。在这里,我们就需要看看通讯广播模块的上层,到底是什么导致了这样大量的广播开销。

3) 有这层信息的指引,我们在机器人模拟压力之外登入一个额外的观察者,把它收到的所有网络调用日志输出统计,发现很多不必要的额外状态同步。比如一个玩家使用群体攻击击中周围200个其它玩家,其实并没有必要同步除了自己和当前选定目标之外的属性变化信息。其次,我们找到了一些可以牺牲的用户体验,比如几百人的战斗中,

图 2 某游戏跨服联赛OProfile 采样

很多受击特效都是可以去除的(玩家很难体查得到),而这些受击特效无论是对服务器还是客户端都是非常可观的压力。

这个例子只是跨服联赛优化的一小部分,通过这个例子想告诉大家,在实际的复杂问题中,剖析工具通常很难直接指引到问题的解。但毋庸置疑的,它能提供给分析者更多的信息,从而向问题的解靠近。在整个个分析的过程中,对产品本身的理解,反复试验迭代的耐心,才是解决问题的神器。

实例3:某在线网游服务器出现神秘开销

问题是这样,在某次例行的性能分析中,发现服务器逻辑进程不该出现那么多的开销,也就是图 3中的CreatePath。

图 3 服务器性能分析

顾名思义,这个CreatePath 是物体在场景中寻路的逻辑,尝试找出一条从当前位置到目标位置的可达路径。通常情况下,在游戏的服务器中,只有怪物和NPC 这些主动寻路的物体才会产生这个开销。但通常大部分的寻路请求都应该退化到直线寻路,所以这个开销应该非常低才对。这时候,OProfile 这种单靠采集当前代码地址的方式就碰到它的局限了,虽然我们知道有这个开销,但是不知道这个开销是从哪里来的,也就是没有调用栈的采样信息。当然我们可以用排除法手动地一个个去定位,但是会比较慢。

这里就有另外一个工具介绍给大家,最近在Nginx 社区广泛应用,就是SystemTap。SystemTap 与一种名为DTrace 的老技术相似,该技术源于Sun Solaris 操作系统,当年还有个词语叫做DTrace Envy,用来描述Sun 平台开发者使用DTrace 的优越感。利用DTrace 或者SystemTap,开发人员

可以使用一种类C 的语言编写脚本,其中包含许多探针和相关联的操作,这些操作在探针“触发” 时发生。例如,探针可以表示简单的系统调用,也可以表示更加复杂的交互,比如执行特定的代码行。相比OProfile 而言,SystemTap 主要的优势是分析者可以非常灵活的应用探针以及探针触发时的动态操作。在此例中,我们就可以使用SystemTap 响应按时采样的探针,把当时采样的C++栈和lua 脚本栈统统记录下来,做出可视化的统计。

思路大致就是这样,具体的执行中要注意,第一点是用SystemTap 分析用户态的代码需要一个叫做utrace 的依赖,这个模块并非被合并到linux 主干当中,所以根据服务器内核版本的不同,有可能需要重编内核。第二点是,在SystemTap 的类C 脚本中,获取内核栈和C++栈非常容易,但是对于lua 这样的虚拟机语言,需要响应虚拟机装载的函数探针,然后将虚拟机中获取栈信息的代码翻译为类C 脚本。因为lua 虚拟机本身就是一个C 模块,所以这样的翻译相对直观。但是如果你的项目使用的是luajit2,运行时被动态trace 的调用路径可能会出现偏差,因为luajit2大量使用了汇编模块。但是在此例中木有影响。

此例中采样出来的lua 调用栈经合并后如图 4所示,可以看出大量的寻路开销是来自BehGeneratorPosition 这个AI 生成器,进一步的定位发现这是一个历史遗留问题:当使用这个AI 生成器,寻路目标如果是障碍的话,可能会遍历整个场景地图。

图 4 SystemTap 分析

实例总结

尝试总结一下以上三个例子:

1) OProfile和SystemTap能做的事情远

远比本文介绍的要多。性能剖析工具给分析

人员提供的是一种程序运行时的观察能力,

剖析过程中最大的障碍还是分析人员对产品

本身的了解,而不是剖析工具的使用问题。

知道如何去观察目标的何种行为,并且把这

种意愿用工程化的自然语言描述出来才是最

大的空白。要填补这个空白,首先要消除对

剖析工作的生疏感,多尝试用剖析工具去解

决产品中的日常问题。只要能明确的知道自

己想要观察什么,总会找到合适的工具使用。

2) 性能剖析有一些通用的方法论和执

行步骤,大体上就是先聚焦再细分。首先找

到可能引起80%问题的那20%的焦点,然

后尝试将产品的知识抽象成问题,调试甚至

注入源代码来将这个焦点细分为更可观察的

细节,一步步迭代慢慢靠近问题的解。

当然,这里有很多细节没来得及讨论的,

比如对于不同的编程语言,不同的架构方式,

可能需要不同的工具和方法。本文所述的是

针对于C++编写的单线程服务器。OProfile

和SystemTap都可以应用在jit语言上,这中

间的做法也值得探讨,篇幅所限,感兴趣的

朋友欢迎和我讨论。

周锋

现任网易雷火游戏部测试

总监,之前在微软从事测

试工作,曾任开发测试工

程师和测试主管。加入游

戏行业以来,从无到有地

在各个项目推行工程化测

试实践,体会到很多游戏测试的难点和挑

战,也收到了一部分良好的效果。希望借

这个机会抛砖引玉,向行业内的前辈们交

流和探讨网游服务器压力,性能测试调优

方面的实践经验和先进理念。

移动应用Crash Bug之异常输入问题描述:

今天要向大家推出一个有关异常测试用例的Bug,内容可以概括性的描述为:当输入不在预定集合里的字符后(该Bug是输入了不在映射表内的表情字符),导致程序崩溃。

那么我们试着来重现一下问题发现的过程吧。首先向大家隆重介绍Bug重现的环境,这是一款兼具音乐、社交的强大产品,上档次的推荐功能,一上手便能寻觅到让自己沉醉不已的歌曲,已经按捺不住让更多人来一起分享好音乐的冲动了,怎么办!点击分享,要说点什么?此刻的激动之情已不能用言语表达了,就以表情来承载我对这首歌的喜爱吧,输入表情[哈哈],哎呀,太激动了,手一抖改成[哈哈哈]了,没关系,这不影响我想表达的内容,点击发送,搞定!咦?啪,程序闪退了!这绝对是Bug,影响用户体验,分享的热情都被浇灭了好嘛?

崩溃原因:

既然掌握了重现过程,就要尝试分析是哪一步操作造成程序崩溃了。我们发现:关键操作在添加表情上,本应该是[哈哈]表情对应的字符,错误的输入了[哈哈哈],而这个字符并不在映射内,点击发送后,由于代码没有特殊处理此类情况,导致字符表情修改了映射内容, App程序崩溃。

想必各位测试江湖的高手们必能瞬间点出这个异常情况的元凶,没错就是:Null,众多异常测试用例中最常见的一种。在移动端测试中,App闪退和长时间无响应的问题,还会由空指针、越界、溢出等异常用例引起。解决方案:

对于Null,自然是要在程序中加入代码保护,例如一个简单的If-else判断语句,即可对Null进行特殊处理,至此一个严重程度高的Crash问题便迎刃而解,很轻松有木有!

经验分享:

这个Bug虽然在技术层面上提供的内容不多,Bug的发现、解决过程也是通俗易懂,但是却提醒我们在测试过程的规范中,需要重视异常测试用例的测试,对我们日常的开发、测试都有一定的借鉴意义:

·对于开发人员而言,编写代码需要认真仔细,充分考虑每个函数可能的输入输

出情况,完善自测。当然如果开发有足

够的时间实施单元测试,在开发自测阶

段就能发现大部分的异常用例了。

·而从QA的角度来看,测试用例的完善性就显得很重要了,无论是边界值条件

法、等价划分法等,都需要在正常测试

用例的基础上,充分考虑到可能出现的

异常用例。用户的误操作经常会产生异

常情况,而严重的Bug往往诞生在这种

异常情况下!

陆春红

2010年加入网易杭研

QA部门,有后台、算法、

C/S&B/S架构产品测试

经验,目前负责网易云

音乐产品测试。一个喜

欢折腾的人,在折腾中

把自己所有的激情投入到生活的每一个空间。

性能测试专题

专题一、响应时间过长

现象描述

不管是性能测试中,还是生产环境中,经常会遇到响应时间过长的问题。响应时间是性能评估的一个重要指标,会对最终用户产生直接影响,一个产品是快是慢,响应时间是最直观的感受。因此面对响应时间长的问题,一定要想尽办法消灭它。

以下定位方法是针对比较典型的nginx+tomcat应用架构。

排查思路及方法说明

响应时间过长问题常见有两种表现:偶现极少量的请求出现响应时间偏长,及会有大量、批量的请求响应时间长。

偶然出现少量响应时间长的现象,可能是外部影响、网络异常等因素造成,可以排查以下几个方面来定位问题:

1. 查看当时的服务器日志是否有错误;

2. 检查服务器资源使用情况是否正常,

load average、CPU使用率(尤其是单核CPU)是否有飙高现象;

3. 检查是否出现磁盘短暂负载较高,比如

iostat util%飙高等;

4. 确认当时网络情况是否正常,是否有网

络丢包等现象。

以上排查建议在有全面监控的基础上进行,偶现问题比较难定位,有全面的监控数据进行排查就方便多了。

案例1:单核CPU使用率高导致偶现响应时间长

某产品线上出现少量响应时间长的问题,定位结果发现是两个CPU密集型服务部署在同一台机器上,其中一个服务会使得单个CPU使用率100%,导致另一个服务出现少量请求响应慢。解决办法是服务隔离。

如果出现比较多的响应时间过长,首先要排查所有服务器是否存在资源使用瓶颈,如CPU使用率高、单核CPU使用率高、内存使用是否正常、是否有频繁Full GC、磁盘IO压力情况、网路时延情况等。如果不能通过以上检查发现问题所在,那就要逐步分析是系统架构中哪个环节导致的问题。

排查之:nginx排查

首先排查nginx access.log日志,分析响应时间可能慢在哪里。

·log_format中定义了$request_time字段,它指的是从接受用户请求数据到发送完回复数据的时间。那究竟是慢在了nginx 还是上游服务器?

·log_format同时提供了$upstream_ response_time字段,它是指从nginx向后端建立连接开始到接受完数据,然后关闭连接为止的时间。

也就是说:

1. 如果两者相差很大,即$upstream_

response_time数值比较小,则需要查看nginx模块配置或nginx与客户端的网络是否有性能瓶颈了。

2. 如果$request_time与$upstream_response_

time相差不大,则可能是nginx连接上游服务器比较慢,或者上游服务比较慢,需要进入下一步应用层排查。

案例2:nginx日志排查出网络问题

一线上产品出现某个操作的响应时间30%以上都大于2s,通过分析access.log发现$request_time与$upstream_response_time 相差不大,进一步检查nginx的配置,以及

nginx服务器所在的交换机流量发现,nginx 所在交换机流量基本快跑满了,导致nginx 返回数据较慢。

nginx层排查除了以上日志排查外,还需要关注nginx本身的配置,比如nginx worker_connections设置过小会导致响应时间长,TPS上不去,具体可参考上一期《TPS 上不去》。

排查之:应用层排查

排除nginx层的问题,就要着重定位应用层自身代码、第三方调用、或者数据库等其它依赖服务,是否存在响应慢的情况。

首先确认是否存在以下问题:

·确认应用服务是否有某些线程CPU使用率高,通过top -H可以方便实时查看;·确认线程是否存在异常状态,如频繁blocked、死锁等,推荐使用VisualVM、Jconsole、jstack查看线程状态,进行线程dump;

·连接数检查,应用层连接数设置过小,会导致响应时间长,tps上不去,可以参考上一期《TPS上不去》;

·如果有产品内部监控,如典型业务调用的处理时间、慢操作日志监控等,那就比较方便了。

如果很不幸,监控数据很少,且现有数据难以分析,那推荐两个百试不爽的分析工具,Nprofile和Btrace。

排查之:Btrace在线调试神器

BTrace是一款利用hotSpot虚拟机可以动态替换class的特点实现的工具,可以动态改变online程序的类的行为,进而进行线上调试。也就是说可以不需要重启服务,直接在线调试分析。关于Btrace的教程随意搜索就能找到很多。

案例3:Btrace在线分析

生产环境出现某种请求有30%比例的响应时间比较长,需要定位具体是哪个接口或调用响应时间长。

1、首先要了解应用层的调用关系,我们对https://www.doczj.com/doc/da17119964.html,ercenter.web.dwr. YYYBean进行跟踪,完成Btrace

脚本:

2、获取服务的进程PID,启动Btrace agent:btrace

查看生成的日志如下:

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 818ms

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 619ms

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 930ms

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 613ms

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 515ms

e n t e r e d c o m.n e t e a s e.X X X.u s e r c e n t e r.w e b.d w r.Y Y Y B e a n. updateVideoTime taken : 716ms

观察日志发现updateVideoTime方法大部分调用时间大于500ms,基本能判断是该方法需要进行性能优化。

排查之:Nprofile分析

Nprofile也即是AJprofile,是一个自身开销比较小,可以profile调用时间和调用热点的小工具。原理是在需要跟踪的函数调用前后通过AOP调用一些计时的代码,并进行一些简单的统计处理。(使用说明参考点击这里)

案例4: 循环调用导致响应时间长某web 应用,一个Http get 请求,性能测试最高tps240,平均响应时间接近1s,CPU 使用偏高。不满足性能测试通过条件。

对该接口进行

profile,见图 1:

图 1 请求profile 示意图

可以发现一次getMyCourse,会有十几次的getFirstLesson 和getLastestLearnedLesson 调用。经过确认,确实存在无用的循环调用问题。解决后性能有30%以上的提升。Nprofile 堪称利器,在性能问题分析和定位中非常有效,且比Jprofiler 轻便,开销小,对性能测试结果影响小。

排查之:数据库层排查

通常Web 应用会有大量的数据库操作,数据库性能对Web 应用的性能影响至关重要。如果应用层的分析发现大量线程等待数据库的响应,就需要对数据库层进行排查。最常见的数据库性能问题有:

·索引缺失或者索引建的不合理,SQL 语句不合理导致没有走索引,进而导致SQL 的执行时间长

·SQL 语句自身写的有问题,导致执行时间比较长

·锁等待和锁超时导致事务回滚以致于响应时间很长

·数据库的配置不合理,例如最大并发连接过小,bufferpool 的设置过小等引起的性能问题案例5:未创建索引导致响应时间长,CPU 飙高

某接口tps 只有150时,CPU 使用率飚满,且响应时间大于1s。通过Nprofile

分析:

图 2 Nprofile 示意图

发现其中一个方法调用消耗了99%的CPU 调用,该方法主要是进行数据库读操作,检查数据库发现未创建索引。解决后TPS 上升一倍,响应时间下降到250ms 左右。数据层性能问题可以通过Mysql 监控、或mysql-slow.log 进一步详细分析。

专题二、Java 内存泄露

现象描述

内存泄露有以下几种表现:

·响应时间变长,响应超时,甚至不响应 ·进程因OOM 而终止退出,同时服务器的日志中可以看到OMM 异常信息

·观察GC 日志,发现Full GC 频率较高,且GC 的持续时间较长

·VisualVM 监控,发现堆内存占用呈增加趋势,直至堆内存满,每次GC 基本没有回收掉

·CPU 使用率存在飙高或较大波动的现象,可能是Full GC 时导致CPU 利用率的飙高

如果发现符合以上表现的情况,则可能存在内存泄露问题。可以通过如下步骤排查。

排查步骤

备注:以下分析均基于Hotspot 虚拟机,采用默认的垃圾收集器

排查之一.检查是否有泄露

1.分析GC 日志(推荐)

直接分析GC 日志,能得到每次GC 的

详细信息,包括GC 类型、Young/Old/Perm 区的总大小及回收前后的大小、每次GC 的耗时和占用CPU 的时间等信息,对定位问题非常有帮助,缺点在于需要持续观察一段时间才能发现变化,不如VisualVM 的图形化监控界面直观。不过也可以从服务器取GC 日志,利用工具进行分析,常用的工具有GCHisto 和GCLogViewer。

分析GC 日志,主要关注以下几个方面: ·Full GC 的频率或相邻两次GC 的间隔时间

·回收的效率(每次回收完Old 区域的占用能降低多少)

·回收的开销(时间和CPU 的利用率)如果回收间隔越来越短(几分钟一次),回收的效率越来越低(回收前后堆的大小差异越来越小),回收的时间持续较长(几秒甚至十几秒),则可认为是GC 出现问题。补充:GC 日志可以通过配置JVM 参数获得:

-XX:+PrintGCDetails -Xloggc:/tmp/gc.log -XX:+PrintGCDateStamps

案例1 分析GC 日志定位问题(默认垃圾收集器)

日志见图 3。

图 3 GC 日志

分析日志可以看到,Full GC 的间隔时间很短,每隔几秒钟就触发一次,频率非常高。PSoldgen 区域的大小在FullGC 前后没任何变化(PSoldgen 1365375K->1365375K (1365376k)),回收的效率为零。堆不是很大的情况下,每次Full GC 的持续时间比较长,均在5秒以上(查看[Times: user=6.10 sys=0.00, real=6.10 sec 中的real),据此可判断

GC 出现问题。

2.VisualVM 监控(推荐)

VisualVM 是JDK 自带的监控工具,在JDK 安装目录的bin 目录下,使用VisualVM 需要配置JVM 参数,启动工具创建JMX 连接即可使用:

-Dcom.sun.management.jmxremote.port=端口-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=主机名

VisualVM 提供可视化的监控界面,能监控CPU 利用率、堆的使用情况、线程的状态等信息,同时能进行CPU 的profiling,对被监控JVM 性能影响比较小,另外可以安装VisualGC 插件,动态观察堆内存变化情况。

如果观察堆内存变化,发现已使用的堆内存不断增加,直至接近最大堆内存,且没有回收的迹象,或有回收,但回收的效率很低,回收完堆的占用依然比较大,可以怀疑存在内存泄露的情况。

案例2 VisualVM 监控的堆的使用和CPU 的利用率(默认垃圾收集器)

内存使用异常的情况:

图 4 内存异常

从该图可以看出,堆的使用不断增加,接近最大堆,每次回收后堆的占用呈增加趋势,据此可以认为出现内存泄露。

出现问题时CPU 的使用情况(见下页图 5):

图 5 CPU 异常

从图中可以看出GC 的CPU 消耗比较高,有时会突然飙高,符合出现内存泄露时CPU 利用率飙高的现象。

3.jstat 分析

jstat -gc -h 5 PID Interaval count

其中5表示每5次统计输出头部,Interaval 为采集间隔,count 为采集次数。该命令的输出结果可以显示Heap 中各区域的容量、实际使用情况,以及GC 的统计信息。jstat 的输出结果为统计信息,Full GC 的时间间隔和持续时间需要进行简单的计算,不如查看GC 日志直接。

jstat 的输出中,重点关注FGC 以及FGCT 两个指标:

·FGC:从应用程序启动到采样时发生 Full GC 的次数

·FGCT:从应用程序启动到采样时Full GC 所用的时间(单位秒)

可以通过FGC 的增加速度计算得到FullGC 的频率,由相邻两次Full GC 的FGCT 差值得到Full GC 的持续时间。

案例3 通过jstat 的输出定位问题对jstat

的输出进行分析:

图 6 jstat 输出

(1)观察Full GC 的间隔时间及消耗时间:

·37次Full GC 和第38次Full GC 的间隔为3个采样间隔(即6秒),第37次Full GC 的消耗时间为5.665s(205.317-199.652)

·38次Full GC 和第39次Full GC 的间隔为3个采样间隔(即6秒),第38次Full GC 的消耗时间为4.807s

·第39次Full GC 和第40次Full GC 的间隔为3个采样间隔(即6秒),第39次Full GC 的消耗时间为5.664s 连续观察一段时间,会发现Full GC 的间隔时间很短,持续时间比较长。

(2)通过观察每次Full GC 的统计信息,GC 完OU 的大小基本没变化,和OC 一样,回收的效率为零,通过这两个现象也可认为出现内存泄露。

确定有内存泄露问题后,就要知道是什么泄露了。

排查之二.分析是什么泄露

1.jmap -histo live PID (推荐)jmap 是JDK 自带的工具,使用简单,响应比较快,是常用的定位工具。jmap 可以生成类的统计报表,显示类对应的实例数目,总共占用的字节大小等。间隔一定时间,连续取几次数据,分析哪些对象占用字节数较多,且增长最快。排除Java 的基本数据类型,以及一些常用的数据结构类,在剩下的类中进行定位。因java 中大量使用引用,导致该方法查看内存泄露时不是很直观,但以此可以初步判断是什么类型的对象有泄露嫌疑。

案例4 利用jmap 定位问题

利用jmap 取样了两次,两次的输出如下图 7、图 8

所示——

图 7 jmap 采样

1

图 8 jmap 采样2

对比两次采样的结果,可以发现org.apache.catalina.session.StandSession 类的实例对象增加比较快,有泄露的嫌疑。

2.jmap -dump(推荐)

使用jmap 生成dump 文件,以进行后续分析。生成dump 文件的命令如下:

jmap \-F \-dump:format=b,file=temp_heapdump.hprof live PID

3.VisualVM heapdump

VisualVM heapdump 得到对应的hprof 文件(默认存放路径:监控的服务器 /tmp 下),利用HPjmeter 可以对其进行分析。

排查之三.分析内存dump

1.MAT(推荐)

相对其他分析工具,MAT 分析HeapDump 文件占用内存较小,分析结果较详细,对定位问题帮助很大,是常用的分析dump 的工具。

MAT 工具分为Linux 端和Windows 端,比较大的heapdump 先在Linux 服务器上分析,操作步骤如下:

·Step 1:下载MAT 的Stand-alone Eclipse RCP Applications,复制到Linux 服务器上

·Step 2:进入MAT 所在的目录,编辑MemoryAnalyzer.ini 文件,设置最大内存值,比如-Xmx9g

·Step 3:执行./ParseHeapDump.sh xxxx.bin 来分析dump 文件

·Step 4:将分析得到的文件包括原dump 文件下载回windows 平台 打开Eclipse 插件,使用菜单File-->Open Heap Dump 打开dump 文件,即可查看分析结果。

MAT 中我们最常用的是Dominator Tree (List the biggest objects and what they keep alive.)功能来分析较大的Objects 以及他们之间的引用关系,确定一些对象为什么不会被回收。

案例5 利用MAT 定位问题

以下为利用MAT 分析HeapDump 后的Dominator Tree

视图

图 9 Dominator Tree 视图

从图中可以看出org.apache.catalina.session.StandardManager 的Retained Heap 占用最大,进一步查看其引用链,定位到session 的内存占用量较大。

jmap \-F \-dump:format=b,file=temp_heapdump.hprof live PID

2.jhat分析

jhat可以直接在生成dump的服务器上分析,分析结果可以通过浏览器直接访问,比较方便,但jhat分析dump文件需要的内存很大,适合分析比较小的dump文件:

jhat \-J-mx3172m temp_heapdump.hprof

-mx 尽可能设置大一些,避免分析过程中出现OOM。分析完后会启动HTTP Server,端口默认7000。本地用浏览器访问,有以下几种比较重要的统计信息:

(1)All Classes (including platform)

以类为维度的统计信息,按包来分开统计,同一个类只出现一次,选择具体的类可以查看其信息,包括其父类、子类、实例的成员变量和类的静态常量,类成员变量的引用等信息。在Perm区的溢出以及出现大量class unload时,该统计信息非常有用。

(2)Heap Histogram, All Classes (excluding platform)

类的统计报表,显示类对应的实例数目,总共占用的字节大小等。类似于jmap -histo live PID的输出。如果已经配置了HeapDumpAfterFullGC和HeapDumpBeforeFullGC两个参数,则可以通过分析前后dump的Heap Histogram统计信息,获取哪些类的实例对象在回收后实例数依然很大,占用字节数依然很多。

(3)Instance Counts for All Classes(including/excluding platform)

统计类的实例数,按实例数大小降序排

列。

性能测试组

成立于2010年7月,

为杭研各产品提供性

能测试解决方案,包

括设计性能测试方案、定位产品性能问题、优化产品性能以及评估上线风险。目前致力于完善性能测试体系、推进性能测试自动化、积累和沉淀性能测试知识。

2008年6月大学英语六级考试(听力原文)

2008年6月大学英语六级考试(听力原文) Section A 11. M: Good news, I’m not going to have surgery after all. The doctor says I can start working out again soon and maybe play football like before in a few weeks. W: That’s terrific. It would be great if you coul d get back in shape in time for the World Cup. Q: What do we learn from the conversation? 12. M: I really need to make some extra money. You know I’ve practically spent my entire budget for this semester. W: Why not check out the new cafeteria at Market Street? I think there are still a few openings suitable for seniors like you. Q: What does the woman suggest the man do? 13. M: I hear John left his cat in your care while he’s on vacation abroad. How are you getting along with it? W: Well, it ne ver comes when I call it. It spills its food and sheds all over the place. I can’t wait till John gets back. Q: How does the woman find the cat? 14. W: Hello, Professor White, I got my grade in the mail this morning, but I think there might be a mistake in my mark. M: Yeah, I’ve got several calls just like yours. There must be a problem with the computing system. It should be straightened out in a couple of hours. Q: What does the man mean? 15. M: Professor Johnson, last night when I was putting the finishing touches on my paper, a computer failure completely wiped out my files, do you think I can have another day to retype it? W: I’m sorry, Rod. I’m leaving for a conference tomorrow and I’ll be away two weeks. I suppose you could send me an E-copy. Q: Why does the man say he can’t submit his assignment on time? 16. W: I just called the travel agency, it’s all set. On June l st, we are heading for the mountains and will be camping there for a whole week. M: Have you checked the academic cale ndar? My classes aren’t over until the 8th. Q: What does the man imply? 17. W: I thought there was still time for me to apply for a student loan. But someone just told me that the closing date was last Tuesday. M: Are you sure? I thought we still had another month. Wait, I’ve got a brochure right here. Last Tuesday was the opening date. Q: What does the man imply? 18. W: Look at all the pollutants going into the air from those factories. Do you think they’ll ever get that under control? M: Now with the new laws in effect and social awareness increasing, we are sure to turn things around. Q: What does the man mean? Conversation One W: Tell me, Peter, what makes Harrods so famous? M: Well, it’s the biggest department store in the UK. And its foo d hall and the Egyptian hall are very famous. People come to Harrods just to see them. W: What is special about the food hall? M: It sells many different kinds of food. For example, it has 250 kinds of cheese from all over the world and more than 180 kinds of bread. Customers also love all the different kinds of chocolate. They buy a hundred tons every year. W: That’s amazing! And why is the Egyptian hall so famous? M: Well, when people see it, they feel they are in another world. It looks like in Egyptian building from 4,000 years ago. And it sells beautiful objects. They are not 4,000 years old, of course. W: Is it true that Harrods produces its own electricity? M: Yes, it does.70%, enough for a small town. To light the outside of the building, we use 11,500 light bulbs. W: Really? Tell me, how many customers do you have on an average day? And how much do they spend? M: About 30,000 people come on an average day. But during the sales, the number increases to 300,000 customers a day. How much do they spent? Well, on average, customers spend about 1.5 million pounds a day. The record for one day is nine million pounds. W: Nine million pounds in one day?

2016年英语四级作文范文40篇(全)

英语四级作文预测范文:抢红包 Directions:For this part, you are allowed 30 minutes to write an essay based on the picture below. You should start your essay with a brief description of the picture and then give your comments. Write your essay on Answer Sheet 1. You should write at least 150 words but no more than 200 words. 【参考范文】 Grabbing red envelopes has been hogging the limelight in our daily life since the 2016 Spring Festival. At no point is it clearer that this activity has endowed our vapid life with the flavor of high-tech and fun, especially giving traditions typical of festive periods, such as the Chinese New Year and Chinese Valentine’s Day, a facelift. However, some people may be trapped in a situation where they put the cart before the horse. Disappointedly, what some people do on festivals is not to communicate with their relatives and friends but to hold their cell phones and fix their eyes on the screen all day long, just in order to grab red envelops. For my part, what really matters is the relationship instead of the money. Essentially speaking, gifting red envelopes is beyond reproach. Only in a rational way shall we not be reduced to slaves of materialism or hijacked by the high technology. Festivals offer precious opportunities for us to send good wishes to our beloved ones and what we should do is to cherish these chances rather than to ignore the essential connotation of the festivals. Anyhow, kinship, friendship and other relationships are above anything and we ought to make every endeavor lest the profound cultural atmosphere of traditional festivals should decline. 【参考译文】 从2016年的春节起,抢红包在我们的日常生活中变得越来越流行。俨然,抢红包这种现象往我们比较乏味的日常生活中添加了些许高科技的元素和乐趣,尤其使得那些传统节假日(比如说春节和七夕节,等等)的习俗变得焕然一新。 但是,有些人似乎有点本末倒置了。令人失望的是,有些人在节假日整天拿着手机,盯着屏幕不放,为的是能抢到红包,却不和家人、亲戚朋友交流。在我看来,真正重要的是人与人之间的那份感情而不是金钱。从本质上来说,发红包无可厚非。但是只有理性的做法才会让我们能免于成为物质的奴隶并且不被所谓的高科技所绑架。

体系办工作总结

体系办工作总结及2011年工作计划 体系办刚刚成立不足两个月的时间,在这两个月里,就像人们常说的 “万事开头难”,我们也遇到了很多困难,但是也得到了各级领导和同事们的 支持和帮助。在大家共同努力下,我们也做了一些工作,现将这两个月体系办的工作情况汇报如下: 一、TS工作 1、工作回顾 1)、内部质量体系审核 参加了2010年5 月份的内审,开出了86项审核发现,其中10项一般不 符合项,问题主要集中在设备管理、工装管理、安全问题、标准化的问题等基础管理方面。2010年的11月份的第二次内审,开出审核发现67项,其中包括 6 项一般不符合项,问题主要集中在指导性文件的更新、技术文件的更改控制、 数据分析、过程控制等方面。对于审核发现的一般不符合项,都进行有效的整改。审核发现除建议项外,也全部整改完毕。 在进行全面内审的同时,按照计划进行了滚动审核,即每月审核部分过 程,一年内覆盖所有过程。滚动审核的审核发现也按照内审的要求进行了有效的整改。 2)、管理评审 2010 年12月17日,体系办在总经理、管理者代表领导下,组织体系覆 盖的30个部门、车间完成了管理评审,对公司的质量方针和质量目标适宜性、充分性和有效性进行了分析,评价了体系的运行情况。并形成了管理评审报告。 3)、外部二方审核

2010 年9月公司上下其努力,顺利通过了美国都福公司的二方审核。11月份组织接待了陕西汽车集团的二方审核。都福公司和陕汽的审核人员均对我公司的现场管理给予高度评价,并对我公司体系运行情况表示认可,也给我公司的体系建设提出了改进建议。其中陕汽集团开出2 项一般不符合项,体系办已组织整改完毕。 4)供应商审核 2010 年12月份组织对四家油箱厂(临清迅力、临清万顺、蓬莱蓬翔、和 一家油管厂(河北恒宇)进行了审核,审核人员客观真实的对供应商进行了评价,出具了供应商审核报告,为公司选择合格的供应商提供依据。 2、存在问题及不足 1)各过程数据分析差距加大。 2)人员能力不足,包括内审员和开发/技术人员,主要体现在对五大核心工具的理解和应用方面。 3)人力资源管理没有从战略的的角度考虑。 4)供应商的管理需要加强。 二、精益生产 1、6S与TPM工作 在栾工的组织下,6S工作一如既往的开展着。我们的现场管理工作也得到了二方审核和来访人员的高度评价。但是也存在着很多不足之处: 1)员工在6S认识与理解上有差距,有些部门领导6S 自审力度不够。 2)有些车间的6S 现场保持的不好,出现了反复。 3)车间地面长期积累的油污没有常态方法清除干净。 4)随着车间人员的变更,不能及时的提供人员的6S培训。

机电管理考核细则(doc 54页)

机电管理考核细则(doc 54页)

华胜公司机电管理考核细则(试行) 一、华胜公司电气管理考核细则 一、电气设备领用、回收、修理验收考核管理细则 (一)、领用、发放管理考核 1、开关、移变等电气设备的领用、发放由机电部电气管理人员统一负责管理调配,各使用单位须到机电部办理相应的领用审批手续,否则不准擅自领取入井。若不按领用审批手续而擅自将电气器设备入井的,考核领取人员200元,考核使用单位500元。 2、使用单位需要领开关等电气设备时,须持领料单到机电部电气管理人员办理领用审批手续,经电气管理员审批建帐后,方可到库房领取电气设备,同时领取、发放人员现场需对电气设备防爆等各项性能进行检查试验,否则考核领取人员100元,考核使用单位负责人200元。 3、入井电气设备必须经机电部相关人员验收合格并张贴“防爆入井合格证”、“设备整定单”等相关证件后,方可入井。如发现一次未经机电部验收的,考核使用单位负责人200元,考核使用单位机电负责人100元。 4、使用单位领用的电气设备必须按指定地点安装,不准擅自变更使用地点,不准随意更改负荷,否则,每发现一次考核使用单位负

责人300元,考核机电负责人200元。 5、入井后使用的电气设备,必须按照有关规定标准将牌板悬挂,未按照有关规定标准进行牌板悬挂的电气设备,每发现一次考核使用单位负责人100元,考核使用单位机电负责人50元。 (二)、出入井管理考核 1、各使用单位需建立电气设备台账并随采掘情况及时更新,同时在每月25日将更新后的台账上报机电部电气管理人员,未建立电气设备台账的,考核使用队组负责人500元,考核机电负责人300元,考核技术员200元;未及时将台账上报的,考核使用队组负责人、机电负责人、技术员各100元。 2、机电部电气管理人员根据矿井采掘进展情况,做好电气设备回收明细,摸清各使用单位每月需回收的电气设备,若无此项,考核机电部电气管理人员200元,机电部负责人300元。 3、出入井设备由机电部电气管理人员负责指挥,各使用单位需及时将出井的电气设备交到机电部指定地点。不听指挥或不及时交到指定地点的,考核使用单位负责人300元,考核使用单位机电负责人200元。如发现出入井设备在坑口有过夜现象,考核使用单位负责人200元,考核使用单位机电负责人100元。 4、每台出井电气设备均应由机电部电气管理人员现场检查验收,若有零部件短缺、喇叭嘴及底座残损等现象的,考核使用单位负责人

英语六级听力原文完整版(沪江)学习啊

心之所向,所向披靡 学英语简单吗?肯定会有许多学生说:“难死了”。 为什么有好多学生对英语的学习都感到头疼呢?答案只有一个:“不得法。” 英语与汉语一样都是一种语言,为什么你说汉语会如此流利?那是因为你置身于一个汉语环境中,如果你在伦敦呆上半年,保准说起英语来会非常流利。但很多中学生没有很好的英语环境,那么你可以自己设置一个英语环境,坚持“多说”、“多听”、“多读”、“多写”,那么你的英语成绩肯定会很出色。 一、多“说”。 自己多创造机会与英语教师多讲英语,见了同学,尤其是和好朋友在一起时尽量用英语去问候,谈心情……这时候你需随身携带一个英汉互译小词典,遇到生词时查一下这些生词,也不用刻意去记,用的多了,这个单词自然而然就会记住。千万别把学英语当成负担,始终把它当成一件有趣的事情去做。 或许你有机会碰上外国人,你应大胆地上去跟他打招呼,和他谈天气、谈风景、谈学校……只是别问及他的年纪,婚史等私人问题。尽量用一些你学过的词汇,句子去和他谈天说地。不久你会发现与老外聊天要比你与中国人谈英语容易的多。因为他和你交谈时会用许多简单词汇,而且不太看重说法,你只要发音准确,准能顺利地交流下去。只是你必须要有信心,敢于表达自己的思想。 如果没有合适的伙伴也没关系,你可以拿过一本书或其它什么东西做假想对象,对它谈你一天的所见所闻,谈你的快乐,你的悲伤等等,长此坚持下去你的口语肯定会有较大的提高。 二、多“听” 寻找一切可以听英语的机会。别人用英语交谈时,你应该大胆地去参与,多听听各种各样人的发音,男女老少,节奏快的慢的你都应该接触到,如果这样的机会少的话,你可以选择你不知内容的文章去听,这将会对你帮助很大,而你去听学过的课文的磁带,那将会对你的语言语调的学习有很大的帮助。 三、多“读”。 “读”可以分为两种。一种是“默读”。每天给予一定时间的练习将会对你提高阅读速度有很大的好处,读的内容可以是你的课本,但最好是一些有趣的小读物,因为现在的英语高考越来越重视阅读量和阅读速度。每道题的得分都与你的理解程度有很大关系,所以经过高中三年阅读的训练后,你必定会在高考中胜券在握。另一种是“朗读”这是学语言必不可少的一种学习途径。 四、多“写” 有的同学总是抱怨时间紧,根本没时间写作文。其实“写”的形式很多,不一定就写作文才提高写作能力。比如写下你一天中发生的一些重要的事情,或当天学了某一个词组,你可以创设一个语境恰如其份地用上这个词。这样即可帮你记住这个词的用法,又可以锻炼你的写作能力,比如学“wish”一词时,可写一小段如下:

大学英语四级作文范文30篇

范例一 For this part, you are allowed 30 minutes to write a composition on the topic: Attend Your Classes Regularly。You should write at least 120 words following the outline given below in Chinese. 1. 现在大学校园里,迟到、早退、旷课是常见的现象 2. 保证学生的出勤率对大学教育的重要性 3. 作为一个大学生应该怎样做 Attend Your Classes Regularly Nowadays it is a very common phenomenon that some university students are late for or even absent from classes. And still there are some students who slip out of the classroom before the class is over. Class attendance has become a thorny problem to both the students and teachers. In fact, it is very important for the students to attend their classes regularly. First, it will ensure you to catch up with the teachers in your learning. That is very helpful to you if you want to do a good job in your study. Second, attending classes regularly is a way of showing respect to your teachers ,too. Your teachers will feel bad if the students do not attend their classes, which, in turn, will affect their teaching and be no good for the students. Third, attending classes regularly will help to form a good habit of punctuality, which is of great importance for the students to do a good job in the future. Therefore, we university students should form the good habit of attending our classes regularly from now on. And some day we’ll benefit from it. 点评:2008年元月三日,中山大学博士发帖称遭导师虐待;2008年元月四日,中国政法大学爆“杨帆门”事件;近几年,中小学老师或打学生或猥亵学生、体罚学生等各类新闻不断曝光,进而引发了师生关系的大讨论。本范例题为四级考试传统的问题解决型的写作,与校园生活密切相关。 范例二 For this part, you are allowed 30 minutes to write a composition on the topic: Students’ Rating of Their Teachers。You should write at least 120 words following the outline given below in Chinese. 1. 学生给老师打分已经普遍 2. 人们对其持不同态度 3. 我的看法 Students’ Rating of Their Teachers Nowadays, it has become as common in colleges and universities for students to grade teachers as for teachers to grade students. In some universities students’ rating has even become the only source of information on teaching effectiveness.. This, however, has caused great controversy. Some are in favor of the rating system, They hold that since students attend the teachers’ classes every day, they should have their opinion

系办公室主任工作总结样本2篇

系办公室主任工作总结样本2篇 Work summary sample of department office director 汇报人:JinTai College

系办公室主任工作总结样本2篇 前言:工作总结是将一个时间段的工作进行一次全面系统的总检查、总评价、总分析,并分析不足。通过总结,可以把零散的、肤浅的感性认识上升为系统、深刻的 理性认识,从而得出科学的结论,以便改正缺点,吸取经验教训,指引下一步工作 顺利展开。本文档根据工作总结的书写内容要求,带有自我性、回顾性、客观性和 经验性的特点全面复盘,具有实践指导意义。便于学习和使用,本文档下载后内容 可按需编辑修改及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘 Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:系办公室主任工作总结模板 2、篇章2:系办公室主任工作总结模板 篇章1:系办公室主任工作总结模板 建工系行政办公室主任年度工作总结 办公室是学校管理的枢纽,在高节奏的工作运转中每项 工作都有着很高很严的要求。作为办公室人员,需要不断强化政治意识、大局意识、奉献意识、服务意识和“实、细、快、严”的工作作风,才能符合学校快速发展的需要。一年来我始终着眼学院发展大局,时时刻刻以学院系部发展大局为工作立足点,深入群众,广泛听取学生和广大教职员工的意见和建议,

在大家的帮助和支持下,建工系办公室顺利、圆满完成了本年度的各项工作,现将具体工作汇报如下:一、办公室始终将处室队伍建设放在首位。 在学习中工作,在工作中学习,我们通过召开工作例会、随时碰头提醒提示、工作进程沟通等培养办公室人员能经得起考验的工作习惯。始终强调学习,通过学习正确把握学校整体工作的脉络,领会学校管理的思路;通过学习保证工作执行的 准确高效;通过学习提升办公室人员的业务素质和服务水平。 二、立足全局,围绕学院中心工作,积极协调,保障学 校各项重要工作和重大活动的顺利开展。 1、一年来,学校按照“教学为中心、教师是关键”的管 理思路,扎扎实实地推进教育教学质量体系的构建和教师队伍建设。在日常工作中,办公室贯彻学校决策和工作部署,做好系部、处室、各专业的工作预排整理汇总和学校每周工作安排,组织好工作例会和全体教职工大会,督查辅导员和各主要系部工作人员24小时值班制度,注重与其他职能部门的协同配合,在协调中督查,在督查中落实,保证了日常学生管理工作和教学工作体系的有序运行。

机电科内部绩效考核细则

机电科工作部内部绩效考核办法实施细则 (试行) 一、总则 1.为加强部门政治工作部内部管理,充分调动员工的积极性,提高部门每个人的工作效率,促进部门整体工作再上新台阶,提高管理水平,结合公司绩效管理考核办法,根据本部门实际情况,特制定本实施细则。 2.部门绩效考核组成员 组长:王学飞 副组长:马月明 成员:文俊红、李进彪、冯振堂 3.按照责、权、利相结合,贡献与经济利益挂钩的原则,充分发挥绩效考核工资的杠杆作用,劳者多酬、多劳多得、不劳不得,在收入分配上合理体现工作绩效。 4.加强绩效管理,按照考核指标量化、细化、操作性强的原则,月度考核奖金按照月度部门工作要求打分执行。 5.坚持原则,民主公开,实事求是,秉公考核。 二、工作职责 1.组长负责指导考核工作,每月定期召开考核会议,听取考核工作汇报,审查考核结果。 2.成员负责绩效考核具体考评,评分,汇总和核算每月的考核成绩,向考评组长汇报后根据组长意见对考核结果进行公示等工作。 三、考核对象

机电科科员以及机电科全体成员。 四、考核原则及内容 1.采取以考核科室具体工作为基准的原则。 考核相关人员与日常负责的各项工作挂钩, 2.考核指标、量化评价标准的原则。 考核分值分为组长打分和成员打分两部分,其中组长评分值占30%比例,职员整体考评分占70%比例,被考评职员考评具体主要工作目标完成进度指标、工作完成情况、劳动纪律、日常负责等各项工作进行考评打分。 五、实施细则 1.个人绩效考核细则部分参照公司绩效考核管理实施办法制定和实施。 2.绩效考核结果与个人绩效工资挂钩。根据被考核人核定对应绩效系数,根据矿对我科室进行考核后核定绩效基数,绩效工资具体发放核算办法如下: 基数=矿方发放实际绩效工资总额÷当月所有被考核人得分总和。 实领绩效工资=基数×系数×考核分数 3.部门绩效考核在每月公司绩效考核结束后进行部门内部的二次绩效考核,以部门月度考核会的形式操作。考核范围包括月度计划工作、日常工作和部门安排的临时性工作。 4.按照民主工作的原则,出现公司级奖罚后,文俊红有权在会上说明具体情况和分配意见供二次绩效考核参考。 5.每月按照部门绩效考核细则进行量化打分,按照分值比例填写部

英语四六级听力原文 4

听力原文4 11. Do you know where Lee is? Tom told me he was on the grass by the pool, but he is not there. He must be at home by now. I saw him leave on his bike half an hour ago. Where does the woman think Lee is? 12. My plane leaves at 9:50, but I think I should arrive at the airport no later than 8:30. How long is the ride from here? Let’s see. Well, since it’s rush hour, I’d say that the ride would take about one hour and a quarter. When will the woman most probably leave for the airport? 13. Speed up. You’re driving so slowly that we’ll never get where we’re going. You’re criticizing my driving so frequently that you’d better stop it. Otherwise, you might end up walking. What can you conclude form this conversation? 14. I’d like to mail this letter to German y. Is there any difference between sending it by air and sending it by regular mail? Yes. An air mail stamp will cost you 31 cents and your letter will arrive in about five days. If you send your letter by regular mail, then it will cost you only 20 cents, but it will take about six weeks to get there. How much more will it cost the man if he’d rather send his letter by air mail than by regular mail? 15. What should I do? Maybe I should learn your language. No, you’re better off with an interpreter. You can’t give a good speech unless you are fluent. But you could learn a few humorous phrases. The audience would like that. Why does the man want to learn a foreign language? 16. Are you sure you can’t stay any longer? The others are not leaving yet, you know. NO, I’m afraid I must go, but thank you very much indeed for a most enjoyable evening, and wonderful dinner. What is the probable relationship between the two speakers? 17. Dr. Hanson wanted to redecorate the patient’s waiting room. He asked me to do some research to find out what colors would be best. That sounds like quite a job. How did you research something like that? What is the woman’s opinion of the research work? 18. Have you been helping Carol organize the museum project? Well, I think it’s a marv elous idea, but unless we get some money from somewhere pretty soon, it’ll remain just an idea. What is the woman’s problem with the project? Conversation 1 I’m looking for somewhere to live and have this list, but there are one or two things I like to kno w about some of the places. Can you help? Yes, of course. Oh yes, you’ve

大学英语四级作文范文30篇99029

For this part, you are allowed 30 minutes to write a composition on the topic: Attend Your Classes Regularly。You should write at least 120 words following the outline given below in Chinese. 1. 现在大学校园里,迟到、早退、旷课是常见的现象 2. 保证学生的出勤率对大学教育的重要性 3. 作为一个大学生应该怎样做 Attend Your Classes Regularly Nowadays it is a very common phenomenon that some university students are late for or even absent from classes. And still there are some students who slip out of the classroom before the class is over. Class attendance has become a thorny problem to both the students and teachers. In fact, it is very important for the students to attend their classes regularly. First, it will ensure you to catch up with the teachers in your learning. That is very helpful to you if you want to do a good job in your study. Second, attending classes regularly is a way of showing respect to your teachers ,too. Your teachers will feel bad if the students do not attend their classes, which, in turn, will affect their teaching and be no good for the students. Third, attending classes regularly will help to form a good habit of punctuality, which is of great importance for the students to do a good job in the future. Therefore, we university students should form the good habit of attending our classes regularly from now on. And some day we’ll benefit from it. 点评:2008年元月三日,中山大学博士发帖称遭导师虐待;2008年元月四日,中国政法大学爆“杨帆门”事件;近几年,中小学老师或打学生或猥亵学生、体罚学生等各类新闻不断曝光,进而引发了师生关系的大讨论。本范例题为四级考试传统的问题解决型的写作,与校园生活密切相关。 范例二 For this part, you are allowed 30 minutes to write a composition on the topic: Students’Rating of Their Teachers。You should write at least 120 words following the outline given below in Chinese. 1. 学生给老师打分已经普遍 2. 人们对其持不同态度 3. 我的看法 Students’ Rating of Their Teachers Nowadays, it has become as common in colleges and universities for students to grade teachers as for teachers to grade students. In some universities students’ rating has even become the only source of information on teaching effectiveness.. This, however, has caused great controversy. Some are in favor of the rating system, They hold that since students attend t he teachers’ classes every day, they should have their opinion about their teachers’ effectiveness. Others, on the contrary, are strongly against it. They believe that there is much more to teaching than what is shown on students’ rating forms. Students sh ould not be expected to judge whether the materials they use are up to date or how well the teacher knows about the subject. These judgments require professional knowledge, which is best left for the teachers’ colleagues. I think students’ rating of their teachers is necessary, but it should be conducted in a way that can really shed meaningful light on teachers’ performance. Instead of rating the teachers’ knowledge on the subject, students should be asked to estimate what they have learned in a course, an d to report on such things as a teacher’s ability to communicate with students, his or her relationship with students, and his or her ability to arouse students’ interest in the subject. 点评:越来越多的高校采取让学生给老师打分的形式来了解教学反馈,并以此作为促进教学质量的有效手段。对此做法,管理部门及教学双方褒贬不一,看法迥异。本范例题为校园生活热议话题,值得关注。

相关主题
文本预览
相关文档 最新文档