经验总结

经验总结:成为“尖子生”的十大秘诀

尖子生这个群体有着共同的优点,那就是聪明和爱做题。聪明体现在记忆力好和思维敏捷,只要经过他们做了的、老师讲解过的题目,他们很快地写出答案来,只要老师把将题目读完,就有了解决的思路,不需要老师太多的点拨。爱做题,是尖子生优秀的根本原因,有大量的实践练习,做题的速度飞快,中档题对他们来说是小菜一碟。除上述优点外,他们在学习过程中还具有下列特点:

1、以学为先

一旦打开书本,尖子生绝大多数都能做到电视不看、电话不接、零食不吃。精力高度集中,有一种投入其中、自得其乐的状态。他们目标高远,思想单纯,不胡思乱想。在他们心目中,学习是正事,理应先于娱乐,一心向学,气定神闲,心无旁骛,全力以赴,忘我备战。

2、分秒必争

尖子生学习十分自觉,有的在夜深人静时勤奋学习;有的鸡鸣即起刻苦用功;有的放学回家就趁热复习。能够闹中求静,不会太多地受环境干扰,他们坚持不懈,做事专一,始终如故。绝不把时间浪费在无谓的事上,显示出独特的处事方法。善用零碎时间,每天在晨跑中、吃饭时、课间、课前、休息前等零碎时间里记忆词语,背诵公式,破解疑难,调整情绪。无论怎样各具特色,有一点他们是一致的:保证学习时间,学会见缝插针利用好空余时间,经过日积月累,效果很可观。

3、阅读有方

学会了速读和精读,阅读前先看目录、图表及插图,先有初步了解后再阅读正文就能学到更多的知识。当积极的阅读者,不断的提问,直到弄懂字里行间的全部信息为止,特别是弄懂知识的起点和终点,梳理好知识要点。一有空时间,就广泛涉猎课外其他领域的知识。

4、合理安排

把常用的与学习有关的东西都放在伸手可及的位置,做事有主见、有策略,每天有天计划,每周有周计划,按计划有条不紊地做事,不一暴十寒。在合理的时候做合理的事情,该做啥时就做啥,不背道而驰。比如抓课堂效率,当堂听,当堂记,当堂理解,不理解的话课下或者当天找时间主动找老师请教,做到堂堂清。比如利用好时间,勉励自己完成当天的学习任务,做到日日清。比如能够劳逸结合,张弛有度,动静相宜。比如坚持紧跟老师步伐复习,不误入歧途。比如坚持勤睁眼常开口,对课本上的东西多看,对未懂的内容能多问。总之做好学习、工作、生活的“司令员”,从容做事。

5、勇于提问

课堂上勇于提问是尖子生渴望和追求知识的表现,他们知道高分是来自对知识的透彻理解和掌握。在学习的过程中,把没有弄懂的问题通过提问,通过爱问,达到深入研究,仔细体会的目的。所以在学生群体中间,好问的学生占有老师大量的资源,有一种得天独厚的优势,而不爱问的学生,就主动放弃了别人的帮助,让自己在困境中越陷越深。

6、善做笔记

尖子生往往一边听课一边记重点,不是事无巨细全盘记录,特别善于记下老师补充的东西,课本上没有的东西,特别是思维方法更是认真记录。老师在课堂上强调的重点,在他的笔记本里都应该找到。有位尖子生在自己笔记中间画一条线,一边记老师的重点,一边写课文里的注释,复习一举两得。能及时整理自己平时细心积累的笔记本和错题集,特别注意让知识系统化,积极思考能解决什麼问题。

7、勤于思考

这一条贯穿于听课、做作业、复习等各个阶段。比如:做完一道题后,要对答案,这里他们会有一个反思的过程,弄清这道题考的是什么,用了哪些方法,为什么用这样的方法,做到举一反三、触类旁通的效果。又如:学习时不仅将课本中各知识点记住,还通过思考,抓住各知识点之间的内在联系,甚至注意到不同学科之间的渗透,以便形成清晰的知识网络。

8、书写整洁

通常,书写整洁的解答比潦草乱画的得分高。大家都有体会,乳白的鲜牛奶装在脏兮兮的杯子里,谁喜欢喝?其实不是老师在试卷评判过程中有多大的随意性,工整地书写便于让老师判断解题的过程,也是培养一种很好的书写习惯。尖子生作业规范,审题认真,冷静应答,把每次作业当作高考,作业工整,步骤齐全,术语规范,表述严谨。规范不仅训练仔细认真品质,更能养成细心用心习惯,从而激发学习潜能。

9、自我调整

不回避问题,遇到问题能通过找老师或者同学或者自我反思进行自我调节,摒弃外界和自身的压力,自觉地放下思想包袱,化压力为动力,不管是课业繁重还是轻松顺利时,都保持一颗平常心。不断地对自己进行积极的心理暗示,在这样不断的积极心理暗示下,信心值就不断上升,通过努力,去想了、去做了,没有什么不可能的。一旦在学习中遇到了挫折,心情变得非常急躁时,就暂时停止学习,一个人静静地思索,进行心态的调整,不断地在告

诫自己——“宁可不打仗,绝不打乱仗”。备考阶段与前期一样,每一天都努力学习,完成当天的学习任务,追求高效每一天,不把时间浪费在焦虑上。

10、学习互助

与同学开心地相处,遇事不斤斤计较,宽容豁达;珍视同学间的友谊,在学习中互相支持和帮助,经常一起讨论学习中的问题,使用不同的解题方法并相互交流心得。有了这种和谐的同学关系,才能全身心地投入到学习中,从而保持较高的学习效率。

除此以外,绝大多数尖子生还有一条无密可言的“秘诀”,那就是:父母熏陶。他们的父母对孩子高标准严要求,不娇惯,使父母用以教育孩子的使命感,在孩子身上得到了延伸。许多尖子生从小就是在父母熏陶下热爱学习、善于学习,对学习充满激情,在学习中体验乐趣,在学习中增长见识,在成功中充满自信。

获得高分最可靠的因素是懂得怎样开发本人的潜力。“尖子”生名列前茅的技巧,其他人并不难学到手。相信同学们通过规范习惯、调整心态、训练技巧、利用环境,能够提高学习效率,最终成为真正的尖子。

 

第二篇:经验总结

大家好,今后,我们将以专题的方式展开对LR监视的性能计数器及LR的场景设计设计的讨论,欢迎大家涌跃发言。

今天,我先把我整理的一些计数器及其阈值要求等贴出来,这些计数器是针对我对windows操作系统,C/S结构的sql server数据库及WEB平台.net产品测试时的一些计数器;大家可以继续补充,作过unix平台上oracle数据库测试及J2EE架构及WEBLOGIC方面测试的朋友,也希望把自己使用的计数器贴出来,让大家分享。

好了,先说这些了,希望通过这个专题,最终能让大家对自己的测试结果进行分析。

Memory: 内存使用情况可能是系统性能中最重要的因素。如果系统“页交换”频繁,说明内存不足。“页交换”是使用称为“页面”的单位,将固定大小的代码和数据块从 RAM 移动到磁盘的过程,其目的是为了释放内存空间。尽管某些页交换使 Windows 20xx 能够使用比实际更多的内存,也是可以接受的,但频繁的页交换将降低系统性能。减少页交换将显著提高系统响应速度。要监视内存不足的状况,请从以下的对象计数器开始:

Available Mbytes:可用物理内存数. 如果Available Mbytes的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。

page/sec: 表明由于硬件页面错误而从磁盘取出的页面数,或由于页面错误而写入磁盘以释放工作集空间的页面数。一般如果pages/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec 的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。

page read/sec:页的硬故障,page/sec的子集,为了解析对内存的引用,必须读取页文件的次数。阈值为>5. 越低越好。大数值表示磁盘读而不是缓存读。

由于过多的页交换要使用大量的硬盘空间,因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆。因此,在研究内存不足不太明显的页交换的原因时,您必须跟踪如下的磁盘使用情况计数器和内存计数器:

Physical Disk\ % Disk Time

Physical Disk\ Avg.Disk Queue Length

例如,包括 Page Reads/sec 和 % Disk Time 及 Avg.Disk Queue Length。如果页面读取操作速率很低,同时 % Disk Time 和 Avg.Disk Queue Length的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。

要确定过多的页交换对磁盘活动的影响,请将 Physical Disk\ Avg.Disk sec/Transfer 和 Memory\ Pages/sec 计数器的值增大数倍。如果这些计数器的计数结果超过了 0.1,那么页交换将花费百分之十以上的磁盘访问时间。如果长时间发生这种情况,那么您可能需要更多的内存。

Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用。

Cache Bytes:文件系统缓存(File System Cache),默认情况下为50%的可用物理内存。如IIS5.0 运行内存不够时,它会自动整理缓存。需要关注该计数器的趋势变化

如果您怀疑有内存泄露,请监视 Memory\ Available Bytes 和 Memory\ Committed Bytes,以观察内存行为,并监视您认为可能在泄露内存的进程的 Process\Private Bytes、Process\Working Set 和Process\Handle

Count。如果您怀疑是内核模式进程导致了泄露,则还应该监视 Memory\Pool Nonpaged Bytes、Memory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes。

Pages per second :每秒钟检索的页数。该数字应少于每秒一页。

Process:

%Processor Time: 被处理器消耗的处理器时间数量。如果服务器专用于sql server,可接受的最大上限是80-85%

Page Faults/sec:将进程产生的页故障与系统产生的相比较,以判断这个进程对系统页故障产生的影响。 Work set: 处理线程最近使用的内存页,反映了每一个进程使用的内存页的数量。如果服务器有足够的空闲内存,页就会被留在工作集中,当自由内存少于一个特定的阈值时,页就会被清除出工作集。

Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量。如果系统性能随着时间而降低,则此计数器可以是内存泄漏的最佳指示器。

Processor:监视“处理器”和“系统”对象计数器可以提供关于处理器使用的有价值的信息,帮助您决定是否存在瓶颈。

%Processor Time:如果该值持续超过95%,表明瓶颈是CPU。可以考虑增加一个处理器或换一个更快的处理器。

%User Time:表示耗费CPU的数据库操作,如排序,执行aggregate functions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值。

%Privileged Time:(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比。如果该参数值和"Physical Disk"参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统。另外设置Tempdb in RAM,减低"max async IO","max lazy writer IO"等措施都会降低该值。

此外,跟踪计算机的服务器工作队列当前长度的 Server Work Queues\ Queue Length 计数器会显示出处理器瓶颈。队列长度持续大于 4 则表示可能出现处理器拥塞。此计数器是特定时间的值,而不是一段时间的平均值。

% DPC Time:越低越好。在多处理器系统中,如果这个值大于50%并且Processor:% Processor Time非常高,加入一个网卡可能会提高性能,提供的网络已经不饱和。

Thread

ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小,你应该监视这三个计数器(包括上面的一个)。增加线程数可能会增加上下文切换次数,这样性能不会上升反而会下降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。

Physical Disk:

%Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈。在记录该计数器之前,请在Windows 20xx 的命令行窗口中运行diskperf -yD。若数值持续超过80%,则可能是内存泄漏。

Avg.Disk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。该值应不超过磁盘数的1.5~2 倍。要提高性能,可增加磁盘。注意:一个Raid Disk实际有多个磁盘。

Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数。

Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读、写的次数。两者相加,应小于磁盘设备最大容量。 Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间。

Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间。

Network Interface:

Bytes Total/sec :为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较

SQLServer性能计数器:

Access Methods(访问方法) 用于监视访问数据库中的逻辑页的方法。

. Full Scans/sec(全表扫描/秒) 每秒不受限的完全扫描数。可以是基本表扫描或全索引扫描。如果这个计数器显示的值比1或2高,应该分析你的查询以确定是否确实需要全表扫描,以及S Q L查询是否可以被优化。

. Page splits/sec(页分割/秒)由于数据更新操作引起的每秒页分割的数量。

Buffer Manager(缓冲器管理器):监视 Microsoft® SQL Server? 如何使用: 内存存储数据页、内部数据结构和过程高速缓存;计数器在 SQL Server 从磁盘读取数据库页和将数据库页写入磁盘时监视物理 I/O。 监视 SQL Server 所使用的内存和计数器有助于确定: 是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。 是否可通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。

SQL Server 需要从磁盘读取数据的频率。与其它操作相比,例如内存访问,物理 I/O 会耗费大量时间。尽可能减少物理 I/O 可以提高查询性能。

.Page Reads/sec:每秒发出的物理数据库页读取数。这一统计信息显示的是在所有数据库间的物理页读取总数。由于物理 I/O 的开销大,可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,使开销减到最小。

.Page Writes/sec (.写的页/秒) 每秒执行的物理数据库写的页数。

.Buffer Cache Hit Ratio. 在“缓冲池”(Buffer Cache/Buffer Pool)中没有被读过的页占整个缓冲池中所有页的比率。可在高速缓存中找到而不需要从磁盘中读取的页的百分比。这一比率是高速缓存命中总数除以自 SQL Server 实例启动后对高速缓存的查找总数。经过很长时间后,这一比率的变化很小。由于从高速缓存中读数据比从磁盘中读数据的开销要小得多,一般希望这一数值高一些。通常,可以通过增加 SQL Server 可用的内存数量来提高高速缓存命中率。计数器值依应用程序而定,但比率最好为90% 或更高。增加内存直到这一数值持续高于90%,表示90% 以上的数据请求可以从数据缓冲区中获得所需数据。

. Lazy Writes/sec(惰性写/秒)惰性写进程每秒写的缓冲区的数量。值最好为0。

Cache Manager(高速缓存管理器) 对象提供计数器,用于监视 Microsoft® SQL Server? 如何使用内存存储对象,如存储过程、特殊和准备好的 Transact-SQL 语句以及触发器。

. Cache Hit Ratio(高速缓存命中率,所有Cache”的命中率。在SQL Server中,Cache可以包括Log Cache,Buffer Cache以及Procedure Cache,是一个总体的比率。) 高速缓存命中次数和查找次数的比率。对于查看SQL Server高速缓存对于你的系统如何有效,这是一个非常好的计数器。如果这个值很低,持续低于80%,就需要增加更多的内存。

Latches(闩) 用于监视称为闩锁的内部 SQL Server 资源锁。监视闩锁以明确用户活动和资源使用情况,有助于查明性能瓶颈。

. Average Latch Wait Ti m e ( m s ) (平均闩等待时间(毫秒)) 一个SQL Server线程必须等待一个闩的平均时间,以毫秒为单位。如果这个值很高,你可能正经历严重的竞争问题。

. Latch Waits/sec (闩等待/秒) 在闩上每秒的等待数量。如果这个值很高,表明你正经历对资源的大量竞争。 Locks(锁) 提供有关个别资源类型上的 SQL Server 锁的信息。锁加在 SQL Server 资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。例如,如果一个排它 (X) 锁被一个事务加在某一表的某一行上,在这个锁被释放前,其它事务都不可以修改这一行。尽可能少使用锁可提高并发性,从而改善性能。可以同时监视 Locks 对象的多个实例,每个实例代表一个资源类型上的一个锁。

. Number of Deadlocks/sec(死锁的数量/秒) 导致死锁的锁请求的数量

. Average Wait Time(ms) (平均等待时间(毫秒)) 线程等待某种类型的锁的平均等待时间

. Lock Requests/sec(锁请求/秒) 每秒钟某种类型的锁请求的数量。

Memory manager:用于监视总体的服务器内存使用情况,以估计用户活动和资源使用,有助于查明性能瓶颈。监视 SQL Server 实例所使用的内存有助于确定:

是否由于缺少可用物理内存存储高速缓存中经常访问的数据而导致瓶颈存在。如果是这样,SQL Server 必须从磁盘检索数据。

是否可以通过添加更多内存或使更多内存可用于数据高速缓存或 SQL Server 内部结构来提高查询性能。 Lock blocks:服务器上锁定块的数量,锁是在页、行或者表这样的资源上。不希望看到一个增长的值。 Total server memory:sql server服务器当前正在使用的动态内存总量.

监视IIS需要的一些计数器

Internet Information Services Global:

File Cache Hits %、File CacheFlushes、File Cache Hits

File Cache Hits %是全部缓存请求中缓存命中次数所占的比例,反映了IIS 的文件缓存设置的工作情况。对于一个大部分是静态网页组成的网站,该值应该保持在80%左右。而File Cache Hits是文件缓存命中的具体值,File CacheFlushes 是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过比较File Cache Hits 和File Cache Flushes 可得出缓存命中率对缓存清空率的比率。通过观察它两个的值,可以得到一个适当的刷新值(参考IIS 的设置ObjectTTL 、MemCacheSize 、MaxCacheFileSize)

Web Service:

Bytes Total/sec:显示Web服务器发送和接受的总字节数。低数值表明该IIS正在以较低的速度进行数据传输。 Connection Refused:数值越低越好。高数值表明网络适配器或处理器存在瓶颈。

Not Found Errors:显示由于被请求文件无法找到而无法由服务器满足的请求数(HTTP状态代码404)

LoadRunner学习笔记积累(五)

LoadRunner学习笔记积累(五)次系列主要是名词方面的解释:

迭代(Iterate)设计,或者我们称之为增量(Incremental)设计的思想和XP提倡的Evolutionary Design有异曲同工之妙。

注意:

1、 参数类型:

在创建参数的时候,我选择了参数类型为File。参数类型共有9 种,现在来简单介

绍一下所有的参数类型以及意义。

1.1、 DateTime:在需要输入日期/时间的地方,可以用 DateTime 类型来替代。其属 性设置也很简单,选择一种格式即可。当然也可以定制格式。

1.2、 Group Name:很少用到。在实际运行中,LoadRunner 使用该虚拟用户所在的

Vuser Group 来代替。但是在 VuGen 中运行时,Group Name将会是None。

1.3、 Load Generator Name :在实际运行中, LoadRunner 使用该虚拟用户所 在 LoadGenerator 的机器名来代替。

1.4、 Iteration Number :在实际运行中,LoadRunner 使用该测试脚本当前循环的次

数来代替。

1.5、 Random Number:随机数。很简单。在属性设置中可以设置产生随机数的范围。

1.6、 Unique Number:唯一的数。在属性设置中可以设置第一个数以及递增的数的大 小。注意:使用该参数类型必须注意可以接受的最大数。例如:某个文本框能接

受的最大数为99。当使用该参数类型时,设置第一个数为 1,递增的数为1,但

100 个虚拟用户同时运行时,第100 个虚拟用户输入的将是 100,这样脚本运行

将会出错。这里说的递增意思是各个用户取第一个值的递增数,每个用户相邻的两次循环之间的差值为 1。举例说明:假如起始数为 1,递增为 5,那么第一个

用户第一次循环取值 1,第二次循环取值 2;第二个用户第一次循环取值为 6,

第二次为 7;依次类推。

1.7、 Vuser ID:设置比较简单。在实际运行中,LoadRunner 使用该虚拟用户的 ID 来 代替,该 ID 是由 Controller 来控制的。但是在 VuGen 中运行时,Vuser ID 将 会是 –1。

1.8、 File:需要在属性设置中编辑文件,添加内容,也可以从现成的数据库中取数据

1.9、 User Defined Function:从用户开发的 dll 文件提取数据。

LoadRunner学习笔记积累(七)

回到增加Oracle 资源监视器页面中,点击资源度量区域内的添加按钮。弹出一个 Oracle登录窗口,输入对应实例的“登录名”、“密码”和“服务器名”(这里应该是“服务名”,中文包翻译出错)。点击确定,如果输入正确的话能够成功打开Oracle各项度量和实例的列表,可根据需要选择监控的对象。需要注意的是,这里的“服务器名”是指本地 Oracle 的tnsnames.ora 文件中配置的对应数据库实例的服务名。(详细的度量含义见附件)

注意:

在添加 UNIX 资源监视器以前,一定要确保被监视对象的 rstat 守护进程打开。确认方法可以使用rup host命令检验。如果该命令返回有意义的统计信息,则 rstatd 守护程序已经被配置并且被激活。若未返回有意义的统计信息,或者出现一条错误消息,则 rstatd 守护程序尚未被配置。打开进程的方法是,修改被监视主机的/etc/inetd.conf 文件,将以 rstat 开头那行的注释去掉。然后运行 kill -1 inet_pid 其中inet_pid 为 inetd 进程的 PID 。

在虚拟用户监视窗口中选中某一个虚拟用户,点击窗口左上角的 按钮,能够打开该虚拟用户的日志窗口(如果有日志)。使用这个方法可以比较方便的定位大多数脚本运行中的问题。

± 注意:

个人理解,并不是所有的错误都会造成事务的失败。所以,不用一碰到错误就停止运行正在运行的脚本。

从“运行Vuser”报告图中可以看出,虚拟用户并不是一直在指定的压力值运行数下运行的。在开始和结束的阶段,Vuser的数量并没有达到最大值。但是所有统计度量的平均值,是包含了这些未达到最大负载的值的。所以得到的结果,并不是最准确的负载压力值。要的到比较准确的压力结果,需要对测试结果进行一定的截取和筛选。

性能测试的工作是否包括对问题的准确定位和提供系统优化的方案。论坛上各位朋友意见不一。我个人认为,作为专业的测试人员,不管是功能测试还是性能测试,都不需要准确的定位问题和提出系统优化方案。测试的职责是发现问题,而不应该是定位问题甚至修改问题。我以为,定位问题和解决问题的工作应该由开发或系统设计的人去完成。测试只需要指出哪儿错了,不需要研究怎么错的和如何修改的问题。当然,作为提高测试人员的技术水平和经验,完成这些工作也无可厚非,但是这些不应该是测试人员必须的任务。测试人员可以协助开发人员定位和修改这些问题。

相关推荐