201705-17 PHP性能问题解决方法 什么情况之下,会遇到PHP性能问题?1:PHP语法使用不恰当。2:使用PHP语言做了它不擅长的事情。3:使用PHP语言连接的服务不给力。4:PHP自身的短板(PHP自身做不了的事情)。5:我们也不知道的问题?(去探索、分析找到解决办法,提升开发境界)。对线上站点做压力测试的时候,我们一定要将请求数和并发数,特别是并发数要设置的比较低,我们不能对线上的网站造成压力问题,不管是自己的还是别人的。PHP性能问题一般不会超过占整... 继续阅读 >
201510-22 PHP 性能优化 php是一个很流行的脚本语言,现在很多公司(新浪、优酷、百度、搜狐、淘宝等等)在使用这种语言进行网站开发。我的这篇文章,我只是希望能够提高你的php脚本性能。请记住你的php脚本性能,很多时候依赖于你的php版本、你的webserver环境和你的代码的复杂度。优化你代码中的瓶颈Hoare曾经说过“过早优化是一切不幸的根源”。当你想要让你的网站更快运转的时候,你才应该去做优化的事情。当你要改变你代码之前,你需要做的事... 继续阅读 >
201509-13 PHP 性能分析与实验:性能的微观分析 我们从PHP是解释性语言、动态语言和底层实现等三个方面,探讨了PHP性能的问题。本文就深入到PHP的微观层面,我们来了解PHP在使用和编写代码过程中,性能方面,可能需要注意和提升的地方。在开始分析之前,我们得掌握一些与性能分析相关的函数。这些函数让我们对程序性能有更好的分析和评测。一、性能分析相关的函数与命令1.1、时间度量函数平时我们常用time()函数,但是返回的是秒数,对于某段代码的内部性能分析... 继续阅读 >
201504-01 选择创业你的逻辑一致吗? 要能注意到未来在不断变化之中,所以才会不断校正路线,实现成功。越来越多的人都在创业,他们看到的可能是一个点子变成亿万富翁的戏剧性,或者一个成功者侃侃而谈的风光。但创业注定是孤独而艰辛的旅程。在成功之前,只有质疑,没有鲜花和掌声。那么什么时候是成功呢?就算是马化腾、马云和李彦宏,也不敢安然高卧。在你自以为成功的时候,依然随时可能失败,每个人都如履薄冰。那些风光的背后,是无时不刻的大脑高速运转。是一次... 继续阅读 >
201504-01 安装完 MySQL 后必须调整的 10 项配置 当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议。许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项。这篇文章的目的在于给你一份非常重要的配置项清单。我们曾在几年前在博客里给出了这样的建议,但是MySQL的世界变化实在太快了!写在开始前…即使是经验老道的人也会犯错,会引起很多麻烦。所以在盲目的运用这些推荐之前,请记住下面的内容:... 继续阅读 >
201503-26 MySQL大量数据插入各种方法性能分析与比较 不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1x索引)关闭:(1)... 继续阅读 >
201503-06 关于大型网站技术演进的思考(七):存储的瓶颈(7) 本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说。其实不管什么样的问题场景最后解决它都要落实到数据库的话,那么这个问题场景一定是击中了数据库的某个痛点,那么我前面... 继续阅读 >
201501-27 常见 PHP ORM 框架与简单代码实现 对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。ORM提供了所有SQL语句的生成,代码人员远离了数据库概念。从一个概念需求(例如一个HQL)映射为一个SQL语句,并不需要什么代价,连1%的性能损失都没有。真... 继续阅读 >
201501-27 如何通过命令查看CURL慢在哪里? 很多时候使用CURL发现响应不够快,想优化。但是不知道到底是慢在哪里。下面这条命令就能帮你找到哪里慢,请自行把URL替换成需要测试的URL。curl-o/dev/null-s-w%{time_connect}:%{time_starttransfer}:%{time_total}结果:0.223:1.110:1.772计时器描述:time_connect建立到服务器的TCP连接所用的时间time_starttransfer在发出请求之后,Web服务器返回数据的第一个字节所用的时间time_total完成请求所用的时间... 继续阅读 >
201411-11 Opera 16——功能优秀性能出众的小众网页浏览器 Chrome 最近春风得意,搞得Firefox和Opera显得黯淡了很多。虽然Opera并不大众,但它也并没有就此气馁,而是一直保持在创新与努力。网络在进化,你的浏览器也需要进化,你准备好了吗?Opera 是一款高性能且完全免费的浏览器,除了支持Windows之外,还支持 Linux 以及苹果 Mac 操作系统以及 Android、iOS 版本。它拥有众多创新特性,速度快、安全性高,提供了便捷的鼠标手势与快捷键,整合搜索引擎、多标签页、网页拨号... 继续阅读 >
201411-11 Linux平台Web服务性能测试工具http_load http_load的主页(实在是有点简陋):http://www.acme.com/software/http_load/下载回来一个压缩包,解压出来之后连configure都不用,直接make即可生成可执行程序http_load(视系统情况不同,可能你需要自己修改Makefile再编译)。注意:make的时候可能会有若干警告,但是可能并不影响使用生成的http_load程序,例如我在自己的机器上make,出现了这些警告:gcc-Wall-O -chttp_load.chttp_load.c:Infunction‘main’... 继续阅读 >
201411-11 程序员修炼之编程从业五年的十四条经验 排列不分先后:1.当性能遇到问题时,如果能在应用层进行计算和处理,那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL,sqlite更容易掌控。2.关于并行计算,如果能避免就尽量避免。如果无法避免,记住,能力越大,责任越大。如果有可能,尽量避免直接对线程操作。尽可能在更高的抽象层上操作。例如,在iOS中,GCD,分发和队列操作是你的好朋友。人类的大脑... 继续阅读 >
201411-07 为什么Linux不需要磁盘碎片整理 如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理。也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具。为什么会这样?为了理解为什么Linux文件系统不需要磁盘碎片整——而Windows却需要——你需要理解磁盘碎片产生的原理,以及Linux和Windows文件系统它们之间工作原理的不同之处。什么是磁盘碎片很多Windows用户,甚至是没有经验的用户,都深信经常对文件系统进行碎片整理会提高计算... 继续阅读 >
201411-07 Yii框架官方教程增补版45——专题:日志记录 Yii提供了一个灵活可扩展的日志功能。记录的日志可以通过日志级别和信息分类进行归类。通过使用级别和分类过滤器,所选的信息还可以进一步路由到不同的目的地,例如一个文件,Email,浏览器窗口等。1.信息记录信息可以通过 Yii::log 或 Yii::trace 记录。其区别是后者只在当应用程序运行在调试模式(debugmode) 中时才会记录信息。Yii::log($message,$level,$category);Yii::trace($message,... 继续阅读 >
201411-07 Yii框架官方指南系列52——专题:性能调整 网络应用程序的性能受很多因素的影响。数据库存取,文件系统操作,网络带宽等都是潜在的影响因素。Yii已在各个方面减少框架带来的性能影响。但是在用户的应用中仍有很多地方可以被改善来提高性能。1.开启APC扩展启用 PHPAPC扩展 可能是改善一个应用整体性能的最简单方式。此扩展缓存和优化PHP中间代码并避免时间花费再为每个新来的请求解析PHP脚本。2.禁用调试模式禁用调试模式是另一个改善性能的容易方式。若常量... 继续阅读 >
201411-07 PHP安全之魔术引号——什么是魔术引号以及如何使用 注:魔术引号特性已自PHP5.3.0起废弃并将自PHP5.4.0起移除。什么是魔术引号当打开时,所有的 '(单引号),"(双引号),\(反斜线)和 NULL 字符都会被自动加上一个反斜线进行转义。这和 addslashes() 作用完全相同。一共有三个魔术引号指令:magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST和COOKIE)。不能在运行时改变。在 PHP 中默认值为 on。magic_quotes_runtime 如果打开的话,大部份从外部... 继续阅读 >