md_xhprof

PHP7 性能测试工具
授权协议 MIT
开发语言 C/C++ PHP
所属分类 开发工具、 性能测试和优化
软件类型 开源软件
地区 国产
投 递 者 金高轩
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

md_xhprof 是 PHP性能测试工具 xhprof 的升级版,与 PHP7 配合使用。

#使用时需要设置环境变量
export USE_ZEND_DTRACE=1

 

安装

# 快速安装
curl -fsSL  https://raw.githubusercontent.com/midoks/md_xhprof/master/scripts/install.sh | sh


cd ~~/md_xhprof/src
$DIR/php/$PHP_VER/bin/phpize
./configure \
--with-php-config=~~/php7/bin/php-config --enable-debug
make && make install

使用方法及原因

调试

  • export USE_ZEND_ALLOC=0 #关闭内存管理

  • export USE_ZEND_DTRACE=1 #开启DTRACE调试

  • yum install valgrind

  • valgrind --leak-check=full php leak.php

  • php -dvld.active=1 leak.php

  • XHProf 简要概念 重新封装zend的原生方法 如果要检测CPU的话,会有5ms的延迟,因为需要计算cpu频率 内部使用了链表 源码地址:/root/Downloads/xhprof/extension/xhprof.c 最重要的两个结构体 /* Xhprof's global state. * * This structure is instantiated once. Initial

  • 地址 https://github.com/midoks/md_xhprof md_xhprof 为xhprof升级版,与PHP7配合使用 安装 # 快速安装 curl -fsSL https://raw.githubusercontent.com/midoks/md_xhprof/master/scripts/install.sh | sh cd ~~/md_xhprof/src $DI

  • 制作一个自己的xhprof测试平台 1、首先安装php开发环境,比如lnmp。 2、安装xhprof,记住从github上面下载(https://github.com/phacility/xhprof),不要从pecl.php.net站点下载,可能不支持高版本(比如本人使用的php5.4)。          安装步骤:                    1       解压文件       

  • #官网下载 http: //pecl .php.net /package/xhprof tar  zxf xhprof-0.9.2.tgz   cd  xhprof-0.9.2 /extension/   sudo  phpize . /configure  --with-php-config= /usr/local/php/bin/php-config sudo  make sudo  make

  • 选择一个工具分析PHP函数调用的资源耗用明细,以图表化的形式展现,方便优化代码。 安装xhprof $ pecl install xhprof-beta
  在php.ini引用的extension中添加extension=xhprof.so
 GUI 这里选择了xhgui,它的原理是在需要测试性能的脚本前加上PHP的一段代码,将收集到的性能数据存储到文件或者mongodb等存储介质中去。 Mon

  • Laravel改造完整版传送门 PHP安装Xhprof 先下载Xhprof 下载地址:http://pecl.php.net/package/xhprof 编译扩展 cd xhprof/extension/ phpize ./configure make make install 修改php.ini配置 [xhprof] extension=xhprof.so; xhprof.output_d

 相关资料
  • 目录 http_load webbench ab siege http_load 程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。 但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。 还可以测试HTTPS类的网站请求。 下载地址:http_load-12mar2006.tar.gz 安装很简单 tar z

  • 性能测试应该有两个方向: 单接口压力测试 生产环境模拟用户操作高压力测试 生产环境模拟测试,目前我们都是交给公司的 QA 团队专门完成的。这块我只能粗略列举一下: 获取 1000 用户以上生产用户的访问日志(统计学要求 1000 是最小集合) 计算指定时间内(例如 10 分钟),所有接口的触发频率 使用测试工具(loadrunner, jmeter 等)模拟用户请求接口 适当放大压力,就可以模拟

  • 目标 对ShardingSphere-JDBC,ShardingSphere-Proxy及MySQL进行性能对比。从业务角度考虑,在基本应用场景(单路由,主从+加密+分库分表,全路由)下,INSERT+UPDATE+DELETE通常用作一个完整的关联操作,用于性能评估,而SELECT关注分片优化可用作性能评估的另一个操作;而主从模式下,可将INSERT+SELECT+DELETE作为一组评估性能的

  • go1.6.2 linux/amd64 Ubuntu 16.04 amd64 虚拟机 2 个处理器核心 2 GB 内存 并行测试 BenchmarkParallelHprose2-2 200000 9239 ns/op 789 B/op 25 allocs/op BenchmarkParallelHprose2Unix-2

  • 主要内容:测试命令格式,执行测试命令为了解 Redis 在不同配置环境下的性能表现,Redis 提供了一种行性能测试工具 redis-benchmark(也称压力测试工具),它通过同时执行多组命令实现对 Redis 的性能测试。 性能测试的作用是让我们了解 Redis 服务器的性能优劣。在实际的业务场景中,性能测试是必不可少的。在业务系统上线之前,我们都需要清楚地了解 Redis 服务器的性能,从而避免发生某些意外情况,比如数据量过

  • Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 实例 测试存取大小为100字节的数据包的性能。 $ redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100 PING_INLINE: 85910.65 requests per se

  • 环境 推荐硬件环境 CPU: 32 Cores RAM: 128 GB NIC: 10Gb Ethernet 至少需要5台机器: Jenkins * 1: ${host-jenkins} Sysbench * 1: ${host-sysbench} ShardingSphere-Proxy * 1: ${host-proxy} MySQL Server * 2: ${host-mysql-1},

  • 测试方式 通过 apache benchmark 工具进行压力测试 测试环境 JDK信息: java version "1.8.0_25" Java(TM) SE Runtime Environment (build 1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode) 硬件信息 处理器:2.3