性能测试基础知识

性能测试基础知识

ID:8388657

大小:54.00 KB

页数:18页

时间:2018-03-24

性能测试基础知识_第1页
性能测试基础知识_第2页
性能测试基础知识_第3页
性能测试基础知识_第4页
性能测试基础知识_第5页
资源描述:

《性能测试基础知识》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、性能测试基础知识-处理器调度程序性能处理器调度程序性能概述线程支持线程可看作开销低的进程。它是一个可分派实体,创建它需要的资源比创建一个进程需要的资源少。进程由一个或多个线程组成。事实上,操作系统的早期发行版中负载的直接迁移就是继续创建和管理进程。每个新进程在创建时只带有单一的线程,该线程具有其父进程的优先级并与其它进程中的线程争用处理器。进程在执行时拥有它所使用的资源,而线程仅仅拥有它的当前状态。当新的或修改的应用程序利用操作系统的线程支持创建额外的线程时,那些线程在该进程的上下文中创建。它们共享进程的私有段和其它资源。进程中的一个用户线程有一个特定的争用作用域。如果争用作用域是全局的,则

2、该线程与系统中所有其它线程一起争用处理器时间。在进程创建时产生的线程具有全局争用作用域。如果争用作用域本地的,则该线程与进程中的其它线程竞争以成为进程共享的处理器时间的接收方。决定接下来应该运行哪个线程的算法叫调度策略。进程和线程进程是系统中的一个活动,它由某个命令、shell程序或另一进程启动。进程的属性如下:pidpgiduidgid环境cwd文件描述符信号操作进程统计信息nice线程的属性如下:堆栈调度策略调度优先级暂挂信号阻塞信号线程特定的数据每个进程由一个或多个线程组成。线程是一个单独的控制序列流。多个控制线程允许应用程序进行重叠操作,例如读取终端和写文件。多个控制线程也允许应用程

3、序同时为来自多个用户的请求服务。线程提供了这些能力而不需多个进程那样的额外开销,例如要通过fork()系统调用创建多个进程。AIX4.3.1中引入了一个快速的fork例程f_fork()。该例程对多线程应用程序非常有用,它们将立刻调用exec()子例程,前提是之前应先调用fork()子例程。fork()子例程运行起来较慢,因为在实际派生及让其子例程运行全部子处理程序来初始化所有锁之前,它必须调用fork处理程序获得所有的库锁。f_fork()子例程忽略这些处理程序并直接调用kfork()系统调用。Web服务器是一个可以使用f_fork()子例程的很好的应用程序示例。进程和线程的优先级优先级管

4、理工具处理进程的优先级。在AIXV4中,进程优先级只是线程优先级的前驱。当调用fork()子例程时,会创建一个进程和一个要在其中运行的线程。线程的优先级归结于进程。内核为每个线程维护一个优先级值(有时称为调度优先级)。优先级值是一个正整数且与关联线程的重要性的变化方向相反。也就是说,较小的优先级值表示一个相对重要的线程。当调度程序寻找线程进行分派时,它选择具有较小优先级值的可分派线程。线程可以有固定的优先级或不固定的优先级。优先级固定的线程的优先级值是一个常量,而优先级不固定的线程的优先级值根据用户线程最小优先级级别(常量40)、线程的nice值(缺省值是20,可随意由nice或renice

5、命令进行设置)和其处理器使用的损失而变化。线程的优先级可以固定成某个值,如果用setpri()子例程设置(固定)它们的优先级的话,它们可以具有小于40的优先级值。这些线程不会受到调度程序重算算法的影响。如果它们的优先级值固定且小于40,这些线程将在可以运行所有用户线程之前运行和完成。例如,一个具有固定值10的线程将在具有固定值15的线程之前运行。用户可以应用nice命令使线程的不固定优先级变低。系统管理员可将一个负的nice值应用给线程,这样就给了它较好的优先级。下图显示了一些可以更改优先级值的方法。图6.如何确定优先级值。插图显示了如何能在执行过程中或应用了nice命令之后更改线程调度优先

6、级值。优先级值越小,线程优先级越高。开始时,nice值缺省为20而基本优先级缺省为40.在执行一些操作及处理器损失后,nice的值仍为20且基本优先级仍为40.在运行renice——5命令后及使用和以前相同的处理器的情况下,nice值现在是15而基本优先级仍为40.在以50的值发出子例程setpri()之后,固定优先级现在是50而nice值和处理器的使用无关。线程的nice值在创建线程时设置并且在线程的整个生命期中都是常量,除非用户通过renice命令或setpri()、setpriority()、thread_setsched()或nice()系统调用明确更改了它的值。处理器损失是一个整数

7、,它通过线程最近的处理器使用来计算。如果每次在一个10ms的时钟滴答结束时线程受处理器控制,则最近的处理器使用值近似加1,直到达到最大值120.每个滴答的实际优先级损失随着nice的值增加。所有线程的最近处理器使用值每秒重算一次。结果如下:不固定优先级的线程的优先级随着其最近处理器使用的增加而变低,反之亦然。这暗示一般来讲,某线程最近被分配的时间片越多,则它被分配下一个时间片的可能性越小。不固定优先级的线程的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。