function microtimeFloat() { list($usec,$sec) = explode(" ", microtime()); return((float)$usec + (float)$sec);}1.测试file_put_contents复制代码 代码如下:<?php$userCount = 1000;$itemCount = 1000;$file = ‘ratings.txt‘;file_exists($file) &&unlink($file);
$timeStart = microtimeFloat();for ($i = 0; $i < $userCount; $i++) { $uid =random(32); for ($j = 0;$j < $itemCount; $j++) { $itemId...
最近需要对大数组做存储,需要在serialize序列化和json之间做了选择。因此需要做了性能测试。在php5.2之前对数组存储的时候,大都使用serialize系列化。php5.2之后,开始内置了 JSON 的支持。在网上看到有些资料说:json_encode和json_decode比内置的serialize和unserialize函数要高效。耳闻不如眼见,眼见不一定为实。那就用实际数据测试吧.....我们先理解概念:一、 序列化序列化是将对象状态转换为可保持或可传输的格式的过程。...
PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。
测试结果:通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)
原...
PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。
测试结果:通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)
原...
PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。
测试结果:通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)
原...
PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。
测试结果:通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)
原...
今天偶然在想,如果用PHP写一个类似BDB的基于文件的Key-Value小型数据库用于存储非结构化的记录型数据,不知道效率会如何?于是便联想到PHP中的对象怎么样序列化存储性价比最高呢?接着想到了之前同事推荐的JSON编码和解码函数。 据他所说,json_encode和json_decode比内置的serialize和unserialize函数要高效。 于是我决定动手实验,证实一下同事所说的情况是否属实。 实验分别在PHP 5.2.13和PHP 5.3.2环境下进行。 用同一个变量,...
这篇文章主要介绍了关于PHP归档phar的性能测试,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java? 技术的 JAR 归档,它允许使用单个文件打包应用程序,这个文件中包含运行应用程序所需的所有东西。该文件不同于单个可执行文件,后者通常由编程语言生成,比如 C,因为该文件实际上是一个归档文件而非编译过的应用程序。因此 JAR 文件实际上包含组成应用程序的文件...
用于观察drupal的模块多少对性能的影响,模块多少直接影响钩子函数的查找次数,函数查找速度影响性能,本文主要和大家分享php函数的查找性能测试,希望能帮助到大家。注意模块多少对整体性能的影响中,钩子只是其中一项:<?php
$php = "<?php\r\n";
for ($i = 0; $i < 10000; $i++) {$function_name = "f" . bin2hex(random_bytes(16));$php .= function . $function_name . ($msg){echo $msg;} . "\r\n";
}
file_put_contents("y...
前言我之前使用的是xhprof+xhgui分析线上环境的性能,然而PHP版本升级到PHP 7之后,xhprof已经不可用,于是改用tideways+xhgui,这实际上也是PHP7下开源方案的唯一选择,有兴趣的可看下参考资料,有详细说明。本文主要根据参考资料[1]配置,因此会有大量重复的地方,我主要其基础上根据实际生产环境的要求多添加了以下额外配置:mongodb只绑定到本地xhgui开启HTTP Basic认证xhgui在mongodb中只保留最近14天的数据系统环境CentOS 7....
本文实例对比分析了php中随机函数mt_rand()与rand()性能问题。分享给大家供大家参考。具体分析如下:在php中mt_rand()和rand()函数都是可以随机生成一个纯数字的,他们都是需要我们设置好种子数据然后生成,那么mt_rand()和rand()那个性能会好一些呢,下面我们带着疑问来测试一下.例子1. mt_rand() 范例,代码如下:<?php
echo mt_rand() . "n";
echo mt_rand() . "n";
echo mt_rand(5, 15);
?>结果如下:1604716014
1478613278
6...
测试版本:旧版 PHP 5.5.29 ,新版 PHP 7.0.0测试方法:class PerformanceTest
{private $time;private $memory;public function begin(){$this->time = $this->getTime();$this->memory = $this->getMemory();}public function end(){$this->time = $this->getTime() - $this->time;$this->time = round($this->time,7);//在这里才能格式化时间$this->memory = $this->getMemory() - $this->memory;$this->memory = $this->...
在PHP中,我们可以使用3种方式将字符串转化为整数。 1.强制类型转换方式 强制类型转换方式,就是“在要转换的变量之前加上用括号括起来的目标类型”的方式。 <?php
$foo = "1"; // $foo 是字符串类型
$bar = (int)$foo; // $bar 是整型
?>对于整型来说,强制转换类型名称为int或者integer。 2.内置函数方式 内置函数方式,就是使用PHP的内置函数intval进行变量的转换操作。 <?php
$foo = "1"; // $foo 是字符串类型
$bar = in...
XHProf是Facebook开发的性能调试工具,帮助我们的PHP程序性能调优,更加健壮。XHProf安装和使用方法将在本章讲解。XHProf是PHP的PECL扩展。没有XDeBug那些耗费资源,更加的小巧。流程:程序开头打点,结尾打点。那么XHProf机会记录在两个点之间的所有代码响应时所耗费的时间、内存、CPU等各项指标,我们也可以知道一次请求调用了多少次MySQL,多少次Memcache,更加直观的指明优化道路。安装:
------------下载并编译PHP-XHProf源码...
本篇文章是对在生产环境中使用php性能测试工具xhprof进行了详细的分析介绍,需要的朋友参考下xhprof 是facebook开源出来的一个php性能测试工具,也可以称之为profile工具,这个词不知道怎么翻译才比较达意。跟之前一直使用的xdebug相比,有很多类似之处。以前对xdebug有一些记录还可以供参考,但是它的缺点是对性能影响太大,即便是开启了profiler_enable_trigger参数,用在生产环境中也是惨不忍睹,cpu立刻就飙到high。而xhprof就...