zoukankan      html  css  js  c++  java
  • php 性能测试

     PHP测试方案
    一、    性能测试(xhprof)
    1)、安装
    Wget http://pecl.php.net/get/xhprof-0.9.2.tgz
    tar xzvf xhprof-0.9.2.tgz
    cd xhprof-0.9.2/extension
    /usr/local/php-5.3.5/bin/phpize
    ./configure –with-php-config=/usr/local/php-5.3.5/bin/php-config
    make && make install

    2)、配置PHP
    在php.ini文件中加入xhprof.so模块
    extension = /usr/local/php-5.3.6/lib/php/extension/xxxx/xhprof.so

    保存并关闭,然后重启PHP

    把xhprof_lib和xhprof_html两个目录拷贝到网站的根目录”xxx.xxxx.com/xhprof/”下,

    2、使用
    在需要做性能测试的地方加入
    开始:
    // XHPROF_FLAGS_CPU
    // XHPROF_FLAGS_MEMORY
    // XHPROF_FLAGS_NO_BUILTINS 跳过内置函数
    // 要设定要忽略的函数列表,可以在分析时给xhprof_enable函数 指定第二个参数[是个可选参数], 如:
    xhprof_enable(XHPROF_FLAGS_MEMORY,
            array(
    'ignored_functions' => array(
    'call_user_func',
    'call_user_func_array'
        )
        )
    );

    xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY); 
    结束:
    $xhprofData = xhprof_disable();
    define('XHPROF_ROOT', Yii::getPathOfAlias('webroot.xhprof'));

    include_once(XHPROF_ROOT . '/xhprof_lib/utils/xhprof_lib.php');
    include_once(XHPROF_ROOT . '/xhprof_lib/utils/xhprof_runs.php');
    $xhprofRuns = new XHProfRuns_Default();
    $runId = $xhprofRuns->save_run($xhprofData, ' <namespace>');
    echo "http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run={$runId}&source= <namespace>";

    然后就可以根据上面的地址查看

    这样就可以查看到每个函数调用所消耗的CPU、内存、执行时间等

    查看单一报告:
    http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run={$runId}&source= <namespace>
    查看对比报告:
    http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run1=xxxx&run2=xxx&source=<namespace>
    查看汇总报告:
    http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run=1,2,3&source= <namespace>
    加权汇总 :进一步假设,上述3个运特分别对应三种程序,p1.php,p2.php和p3.php ,通常以20%,30%,50%概率混合:要查看汇总报告所对应的加权平均数这些运行使用:
    http://xxx.xxx.xxx/xhprof/xhprof_html/index.php?run=1,2,3 &wts=20,30,50&source= <namespace>


    二、    压力测试
    命令:
    ab –c 256 –n 100000 http://iploc.kuaibo.com/ip/weather

    -c  并发数
    -n  总请求次数
    -t  总请求时间,超过5万次结束


    服务器压力测试参考数据:
    1、    CPU (nginx、PHP、MYSQL)   top
    2、    内存(nginx、PHP、MYSQL)    free
    3、    队列
    4、    I/O
    5、    网络流量


    两种测试结合进行, 压力测试由低到高, 并且观察服务器的资源占用情况。 在压力测试的同时, 使用性能测试工具xhprof结合起来测试, 看看瓶颈是在哪里, 什么地方比较占用资源等。

    aliyun活动 https://www.aliyun.com/acts/limit-buy?userCode=re2o7acl
  • 相关阅读:
    使用math.js进行javascript精确计算
    SpringMVC java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name
    MAC系统下配置环境变量
    javaURL中文乱码的问题
    Mac系统搭建java开发环境
    mysql 删除重复数据保留只保留一条
    SSM 加载配置文件
    CSS3实现元素旋转
    CSS3实现圆角效果
    CSS3 -web-box-shadow实现阴影效果
  • 原文地址:https://www.cnblogs.com/wangbin/p/2173688.html
Copyright © 2011-2022 走看看