性能测试基础

作者: 哈喽龙 | 来源:发表于2016-08-30 11:58 被阅读139次

    一 网页文件的元素构成

    • 文本
    • JS
    • css
    • 多媒体文件(图片、视频、语音)

    二 http的请求原理

    http请求之旅

    1. 浏览器输入请求的url
    2. 将域名做dns解析
    3. 请求发送到服务器
    4. 服务器获得响应数据返回
    5. 到浏览器上解析渲染显示

    这几个点我们要清楚

    • 浏览器的并发请求


    • 浏览器的并发请求数是针对域名维度
    • 图片请求是不需要cookie信息的
    • CSS和JS的加载是阻塞性的加载
    • 页面要显示,必须要求CSS要加载解析完成

    http请求头和响应头的认识

    请求头Request Headers
    响应头reponse Headers

    怎么能够让页面今早的显示出来呢

    1. 减少http请求次数应该是一个办法
      1.1 合并一些请求 css文件、JS文件是否可合并
      1.2 页面上有多个图片,是否可生成一张图片地图

    2. 增加域名
      我们知道一个浏览器针对单个域名是有并发数限制的,那么我可否增加多个域名呢

    3. 数据空间压缩
      3.1 源码中不必要的空格,不必要的标签都去掉,增加代码规范
      3.2 引用的JS或者css等文件,只要需要的那一部分就可以了,不要全部放进来
      3.3 图片这类文件,在不影响用户体验的基础上,尽量做到压缩处理
      3.4 数据在网络中传输,数据量越小耗时越小,在服务端配置返回文件为gzip形式

    4. 缓存
      4.1 那些不是经常改变的数据,我们加缓存,这样避免重复去请求数据

    5. ...

    测试工具

    Yslow

    扩展阅读:

    书籍:《构建高性能web站点

    后端性能

    一套服务器的通用性架构

    关注指标

    1. 网络(用户端到机房入口)
      1.1 多线机房
      北网通南电信,或者说如果我们的服务要提供给学校,就需要考虑到教育网专线
      1.2 网络带宽
      机房的网络的出口带宽是否足够支撑我们的并发业务,特别是涉及到流媒体业务带宽消耗比较高的服务
    2. 服务器资源
      2.1 CPU
      2.2 内存
      2.3 磁盘
      2.4 文件句柄
    3. 中间件
      3.1 tomcat\nginx http连接数、JVM的参数配置、开启gzip等
      3.2 memcache\redis
      3.3 activemq\hornetq
      3.4 mysql 缓存配置、连接数配置
    4. 数据指标
      4.1 单场景下90%用户的响应时间
      4.2 TPS

    测试工具

    • loadrunner\jmeter 压测工具
    • nomn 服务器资源数据收集工具
      服务器上运行界面


    生成的报告文件csv格式


    • jvisualvm分析程序资源消耗
      jvisualvm

    • datafactory 批量写入数据工具



    测试时,我们要关注什么

    1. 查看服务器日志,是否有报错
    2. 数据库慢日志
    3. 关注网络带宽瓶颈

    扩展阅读

    站点:7点测试
    书籍:
    MySQL性能调优与架构设计》
    性能之巅:洞悉系统、企业与云计算》

    相关文章

      网友评论

        本文标题:性能测试基础

        本文链接:https://www.haomeiwen.com/subject/lcffettx.html