为什么80%的码农都做不了架构师?>>>   

上一篇讲了 《php使用curl替代file_get_contents》, 后续贴出了curl和file_get_contents的对比结果,这边除了curl与file_get_contents的性能对比,还包含了他们的性能对比,讲之前看下如下的结果图: [caption id="attachment_1835" align="aligncenter" width="620"] php下curl与file_get_contents性能对比[/caption] curl与file_get_contents性能对比PHP源代码如下: 1829.php

<?php
/*** 通过淘宝IP接口获取IP地理位置* @param string $ip* @return: string**/
function getCityCurl($ip)
{$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;$ch = curl_init();$timeout = 5;curl_setopt ($ch, CURLOPT_URL, $url);curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);$file_contents = curl_exec($ch);curl_close($ch);$ipinfo=json_decode($file_contents);if($ipinfo->code=='1'){return false;}$city = $ipinfo->data->region.$ipinfo->data->city;return $city;
}function getCity($ip)
{$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;$ipinfo=json_decode(file_get_contents($url));if($ipinfo->code=='1'){return false;}$city = $ipinfo->data->region.$ipinfo->data->city;return $city;
}// for file_get_contents
$startTime=explode(' ',microtime());
$startTime=$startTime[0] + $startTime[1];
for($i=1;$i<=10;$i++)
{echo getCity("121.207.247.202")."</br>";
}
$endTime = explode(' ',microtime());
$endTime = $endTime[0] + $endTime[1];
$totalTime = $endTime - $startTime;
echo 'file_get_contents:'.number_format($totalTime, 10, '.', "")." seconds</br>";//for curl
$startTime2=explode(' ',microtime());
$startTime2=$startTime2[0] + $startTime2[1];
for($i=1;$i<=10;$i++)
{echo getCityCurl('121.207.247.202')."</br>";
}
$endTime2 = explode(' ',microtime());
$endTime2=$endTime2[0] + $endTime2[1];
$totalTime2 = $endTime2 - $startTime2;
echo "curl:".number_format($totalTime2, 10, '.', "")." seconds";
?>

测试访问 http://test.ttlsa.com/html/1829.php file_get_contents速度:4.2404510975 seconds curl速度:2.8205530643 seconds curl比file_get_contents速度快了30%左右,最重要的是服务器负载更低. 转载请注明出处: php下curl与file_get_contents性能对比 http://www.ttlsa.com/html/1829.html

转载于:https://my.oschina.net/766/blog/211357

php下curl与file_get_contents性能对比相关推荐

  1. curl和file_get_contents 区别以及各自的优劣

    PHP中fopen,file_get_contents,curl函数的区别: 1.fopen /file_get_contents 每次请求都会重新做DNS查询,并不对 DNS信息进行缓存.但是CUR ...

  2. iLogtail 与Filebeat 性能对比

    简介:前段时间, iLogtail 阿里千万实例可观测采集器开源,其中介绍了iLogtail采集性能可以达到单核100MB/s,相比开源采集Agent有5-10倍性能优势.很多小伙伴好奇iLogtai ...

  3. 在moon数据集上对三种聚类方法进行性能对比

    在有真实值的情况下对聚类算法性能对比 有一些指标可用于评估聚类算法相对于真实聚类的结果,其中最重要的是调整 rand 指数(adjusted rand index,ARI)和归一化互信息(normal ...

  4. php7.0和5.6哪个好,PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍

    PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍 发布时间:2020-04-24 09:49:17 来源:亿速云 阅读:131 作者:小新 这篇文章主要为大家详细介绍了PHP7.0与P ...

  5. GraphScope、Neo4j与TigerGraph单机环境下性能对比

    目前工业界和学术界已经开发出了很多图分析系统,针对图分析的计算特性提出了各种各样的优化策略,在图分析任务上取得了优异的性能.近年来,各种各样的图数据库支持了各种查询语言(例如Cypher.GSQL和G ...

  6. ptrace原理与性能对比

    strace starce在Linux上面是一个比较实用的工具,平常可以跟踪线上进程执行了哪些协同调用的工具,并在debug调试的情况下也能很好的使用,这一切的功能也都是基于Linux提供的强大的pt ...

  7. 微服务四大网关性能对比

    作者:周明辉,毕业于浙江大学,工学硕士.13年软件开发领域工作经验! 来自:聊聊架构(ID:archtime) 0 题记 前几天拜读了 OpsGenie 公司(一家致力于 Dev & Ops ...

  8. Java常用消息队列原理介绍及性能对比

    消息队列使用场景 为什么会需要消息队列(MQ)? 解耦  在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一 ...

  9. golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比

    阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...

最新文章

  1. SpirngMVC jsp页面空指针
  2. WIN7 不用格式化磁盘怎么把FAT32系统改成NTFS系统
  3. 使对象具有ES6中Iterator接口的实现方法
  4. 计算机的特别及应用,[计算机软件及应用]Excel使用技巧-非常全.doc
  5. HTTP缓存原理介绍
  6. 理解进程调度时机跟踪分析进程调度与进程切换的过程
  7. 十进制与二进制之间的转换
  8. 面试题 数组长度可否赋值
  9. 《Algorithms》—— Dijkstra 的双栈算术表达式求值算法
  10. TypeError: unorderable types: str() = int()
  11. hadoop集群环境配置成功与否查看方法
  12. mysql从一个表中拷贝数据到另一个表中sql语句
  13. java 名片通讯录,jsp实现通讯录系统
  14. 程序员高手必会的十大编程算法
  15. js删除对象的某个属性
  16. WPS添加带背景颜色的文本框
  17. python统计大写辅音字母_大写
  18. 测试每秒点击速度的软件,测试点击速度
  19. 性能测试有哪些我们测试员必须要掌握的知识点?
  20. turtle的函数及使用

热门文章

  1. 2pc oracle dba_2pc_pending,dba_2pc_pending视图中的信息不清除会对以后有影响吗?如何根本解决问题?...
  2. java非静态块,在java中使用非静态块有什么用?
  3. mysql5.7.22并行回放_MySQL 5.7并行复制时代
  4. 画出降维后的图片_有没有人能画出《三体》里太阳系被二维化的概念图?
  5. android tag 快捷_Android Studio快捷键生成TAG、Log.x日志输出介绍
  6. spring-gateway(一)Reactor编程基础
  7. 瑞丽噪声与信噪比的关系_演出扩声系统的噪声与接地
  8. 查看git是否安装_Java程序员的必备Linux运维技能-安装git
  9. python核心装饰_Python核心编程 | 装饰器
  10. 利用WiFi模块实现MicroPython远程开发