您的位置:

php7性能测试,PHP性能

本文目录一览:

php7调试怎么在phpstorm中设置

在max上用phpstorm里debug调试php

背景

最近为了完成某个需求,在看`smarty`源码,当我尝试直接看,痛苦的快吐血,工欲善其事必先利器,虽然之前一直使用phpstorm调试nodejs,但是还没有用phpstorm来debug过php。

建议

先看看这个:PhpStorm 8.0.2 Help :: Configuring Xdebug

## 安装xdebug

1. 打开:Xdebug: Downloads 点击source来下载源码包

2. 然后安装

```bash

解压tar包

tar -xzf xdebug-2.2.5.tgz

进入根目录

cd xdebug-2.2.5

执行phpize

phpize

编译安装xdebug

./configure --enable-xdebug

make

make install

```

配置到php

1. 打开php.ini文件

```bash

cd /private/etc/

#默认没有php.ini,需要拷贝一下

sudo cp php.ini.default php.ini

sudo vi php.ini

```

2. 在下面加入

```bash

[Xdebug]

zend_extension="/usr/local/php_user/xdebug.so"

xdebug.remote_enable = on

;xdebug.remote_handler=dbgp

xdebug.remote_host="127.0.0.1"

xdebug.remote_port=9000

xdebug.profiler_enable = 1

xdebug.profiler_enable_trigger = off

xdebug.profiler_output_name = cachegrind.out.%t.%p

xdebug.remote_autostart = on

```

3. 重启`apache`

```bash

sudo apachectl restart

```

4. 查看phpinfo()信息里面搜索一下`debug`如果有,成功。

配置phpstorm

1. 打开phpstorm,进入顶部导航`phpstrom-perferences..`

2. 点击`php`项,点击`interpreter`后面的`...`按钮

3. 点击`php home`后面的刷新(`...`后面)按钮

4. 这时候你将看到`Debugger: Not installed`变成`Xdebug 2.3.2`(版本号可能不同)

6. 进入`php`栏目下的`Server`,点击`+`新建一个server:host填写你本地的host(如127.0.0.1),点击`apply`保存,并退出`perferences`对话框。

7. 点击顶部导航`run`-点击`+`-选择`PHP Web Application`-选择上一步新建的`server`,`start URL`填入,你要debug的php文件地址,下面会生成一个地址,这个地址在浏览器应该能正常浏览测试的;点击`apply`进行保存。

开始愉快的使用

1. 在你要debug的文件行数字右侧一列,点击一下就会有一个断点。

2. 点击顶部导航`run`-debug,选择你刚刚新建的`debug`名称,这时候会弹出浏览器加载这个php文件了

php7与php5的区别

php5与php7之间的区别:

1、性能提升:PHP7比PHP5.0性能提升了两倍。

2、以前的许多致命错误,现在改成抛出异常。

3、PHP 7.0比PHP5.0移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。

4、PHP 7.0比PHP5.0新增了空接合操作符。

5、PHP 7.0比PHP5.0新增加了结合比较运算符。

6、PHP 7.0比PHP5.0新增加了函数的返回类型声明。

7、PHP 7.0比PHP5.0新增加了标量类型声明。

8、PHP 7.0比PHP5.0新增加匿名类。

9、错误处理和64位支持

php写的程序,进行性能测试,各项资源都正常,增加并发,tps不增长,响应时间增长,您觉得瓶颈在哪?

问题没说清楚,也不好下定论啊,如果性能测试就压100个用户,在没达到瓶颈的情况,各项指标应该都是平稳的,波动起伏不会太大,只有慢慢增加用户,才会知道瓶颈所在随着用户的增加,下面各值会跟随增加吞吐量,CPU,点击率。。。等事务响应时间(这个系统一般没达到极限是不变的)当事务响应时间开始明显变长,说明系统达到了极限可以是CPU极限,可能是点击率极限,可能是网络极限。。。你继续增加用户了,响应时间变长,吞吐量点击开始明显下降,说明就到瓶颈了,然后在看是什么地方的瓶颈如果单一的吞吐量上不去,也可能是用户访问不多,吞吐量当然上不去

鸟哥:让php7达到最高性能的几个tips

1. Opcache

记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入:

zend_extension=opcache.so

opcache.enable=1

opcache.enable_cli=1"

2. 使用新的编译器

使用新一点的编译器, 推荐GCC 4.8以上, 因为只有GCC 4.8以上PHP才会开启Global Register for opline and execute_data支持, 这个会带来5%左右的性能提升(Wordpres的QPS角度衡量)

其实GCC 4.8以前的版本也支持, 但是我们发现它支持的有Bug, 所以必须是4.8以上的版本才会开启这个特性.

3. HugePage

前面文章介绍过

4. Opcache file cache

开启Opcache File Cache(实验性), 通过开启这个, 我们可以让Opcache把opcode缓存缓存到外部文件中, 对于一些脚本, 会有很明显的性能提升.

在php.ini中加入:

opcache.file_cache=/tmp

这样PHP就会在/tmp目录下Cache一些Opcode的二进制导出文件, 可以跨PHP生命周期存在.

5. PGO

如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.

具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:

$ make prof-gen

然后用你的项目训练PHP, 比如对于Wordpress:

$ sapi/cgi/php-cgi -T 100 /home/zk/local/www/htdocs/ wordpress/index.php /dev/null

也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息.

最后:

$ make prof-clean$ make prof-use make install

这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本.