发布新日志

  • http response

    2008-01-25 13:07:14

     

    在性能测试过程中,服务器经常回给我们返回404或者500的错误;或者我们在分析测试结果时,对200、302、304这些返回代码表示什么意思弄不懂,下面是解释。

    HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
        通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。

    HTTP服务器状态代码定义(Status Code Definitions)
    1**----消息类
    该类状态代码用于表示临时回应。
    2**----成功类
    表示客户端请求被成功接收、理解、接受。
        例如:200---OK  表示请求成功。
    3**----重定向类
    该类状态码表示用户代理要想完成请求,还需要发出进一步的操作。
        例如:302---Moved Temporarily  请求到的资源在一个不同的URL处临时保存。因为重定向有时会被更改,客户端应继续用请求URI来发出以后的请求。
                304---Not Modified    如果客户端成功执行了条件GET请求,而对应文件自If-Modified-Since域所指定的日期以来就没有更新过,服务器应当回应此状态码,而不是将实体主体发送给客户端。
    4**----客户端错误类
        例如:404---Not Found    服务器没有找到与请求URI相符的资源。404状态码并不指明状况是临时性的还是永久性的.
    5**----服务器错误类
        例如:500---Internal Server Error    服务器碰到了意外情况,使其无法继续回应请求。
  • 要用LoadRunner来确定问题所在,应该用哪些计数器?

    2008-01-14 17:42:12

    Web系统执行某些操作的时候速度很慢,要用LoadRunner来确定问题所在,应该用哪些计数器?

    通用指标(指Web应用服务器、数据库服务器必需测试项):  
      *   ProcessorTime:   指服务器CPU占用率,一般   平均达到70%时,服务就接近饱和;  
      *   Memory   Available   Mbyte   :       可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;  
      *   Physicsdisk   Time     :   物理磁盘读写时间情况;  
        Web服务器指标:  
      *   Avg   Rps:   平均每秒钟响应次数=   总请求时间   /   秒数;  
      *   Avg   time   to   last   byte   per   terstion   (mstes):平均每秒业务角本的迭代次数   ,有人会把这两者混淆;  
      *   Successful   Rounds:成功的请求;  
      *   Failed     Rounds   :失败的请求;  
      *   Successful     Hits   :成功的点击次数;  
      *   Failed     Hits   :失败的点击次数;  
      *   Hits   Per   Second   :每秒点击次数;  
      *   Successful     Hits   Per   Second   :每秒成功的点击次数;  
      *   Failed     Hits   Per   Second   :每秒失败的点击次数;  
      *   Attempted     Connections   :尝试链接数;  
      数据库服务器指标:  
      *   User   0     Connections   :用户连接数,也就是数据库的连接数量;  
      *   Number   of   deadlocks:数据库死锁;  
      *   Butter   Cache   hit   :数据库Cache的命中情况;

  • 关于点击率吞吐量的曲线

    2008-01-07 10:46:40

     因为在客户端发request的时候,是不会管服务器的状态的。

            下面打个比方,具体数据,不可做任何参考,只是我临时编的。
            比如:服务器可以同时每秒处理100次点击,这时,需要调用服务器的一些资源来处理,像:JDBC连接、内存、开socket等等,其他的用户呢?应该都在排队状态,而服务器处理完了前面的用户后,需要一些时间来释放这些被占用的资源,假设为1秒,如果LR采样的时长为2秒,那么服务器处理的用户应该为50次点击/每秒,按这种理想状态,点击率的图应该是比较平稳的。
            但是,系统受的压力会随着点击的增加而增加,系统性能也就慢慢的下降,例如释放资源的速度开始变慢、换页开始频繁,那么,后面的点击造成的请求,很有可能需要等待的时间随机变长。但是采样的频率是不变的,所以后面的采样值应该慢慢的变小。
            也就是像有些图中所显示的那样:随着场景时间的持续,点击率,吞吐量等图的曲线慢慢的下降。

            而出现超时的现象也很好解释了,无非是有些请求,等待的时间太长了。

            有些图呢是比较稳定的,曲线平稳,这时可以认为,系统可以承受当前用户量的压力。

            而有些场景会出很多超时的错,这就有可能是系统承受不了这种的压力,或者配置上有些问题。

            需要综合分析了。

Open Toolbar