随笔 - 470
文章 - 0
评论 - 176
阅读 -
511万
随笔分类 - ~调优~
大话PHP之性能
摘要:1 缘起 关于PHP,很多人的直观感觉是PHP是一种灵活的脚本语言,库类丰富,使用简单,安全,非常适合WEB开发,但性能低下。PHP的性能是否真的就 如同大家的感觉一样的差呢?本文就是围绕这么一个话题来进行探讨的。从源码、应用场景、基准性能、对比分析等几个方面深入分析PHP之性能问题,并通过真 实的数据来说话。 2 从原理分析PHP性能 从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、运行机制来进行分析。 2.1内存管理 类似Nginx的内存管理方式,PHP在内部也是基于内存池,并且引入内存池的生命周期概念。在内存池方面,PHP对PHP脚本和扩展的所有内存相关操作都进行...
阅读全文
Apache的prefork模式和worker模式
摘要:prefork模式这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。worker模式此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开
阅读全文
apache优化之keepalive
摘要:在说apache的keepalive之前,我们需要对web数据的加载过程有些简单的了解这里先介绍一个测试网站加载工具:Pingdom Tools ,在这个工具中,我们输入一个网址来测试下加载速度,同时最重要的是观察加载过程:其中每块的含义是:黄色是http的启动时间,绿色是http请求的链接时间,蓝色是加载时间;从这个结果图中,我们可以看到:1)所有的请求,这里指的是http请求,都是分为三步走的,第一步启动,第二步链接,第三步正式下载2)所有的网页,首先启动首页的http请求,链接请求,并且下载主页上部的数据,下载这部分数据是只能有一个http请求下载3)当主页中上部分数据下载完成之后,会下
阅读全文
经典分享MySQL的limit查询优化
摘要:以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要优化的就是limit。MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。 同样是取10条数据select*fromyanxue8_visitlimit10000,10select*fromyanxue8_visitlimit0,10就不是一个数量级别的。 网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用。今天发现一篇文章写了些关于limit优化的,很不错。 文中不是直接使用li.
阅读全文
PHP性能优化技巧五条
摘要:1. 不要随便就复制变量 有时候为了使 PHP 代码更 加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子 中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗! BAD: $description=$_POST['description'];echo$description; GOOD: echo$_POST['description']; 2. 对字符串使用单引号 PHP 引擎允许使用单引号和双引号来封装
阅读全文
mysql explain的用法 和分析
摘要:http://dev.mysql.com/doc/refman/5.1/zh/optimization.html#explain
阅读全文
如何查看mysql运行、访问记录等日志
摘要:1.首先确认你日志是否启用了mysql>showvariableslike'log_bin';2.如果启用了,即ON那日志文件就在mysql的安装目录的data目录下3.怎样知道当前的日志mysql>showmasterstatus;4.看二进制日志文件用mysqlbinlogshell>mysqlbinlogmail-bin.000001或者shell>mysqlbinlogmail-bin.000001|tail Windows 下用类似的命令。
阅读全文
Apache附带的一个小工具ab
摘要:ab的全称是ApacheBench,是Apache附带的一个小工具,专门用于HTTP Server的benchmark testing,可以同时模拟多个并发请求。 在这个例子的一开始,我执行了这样一个命令ab -n 10 -c 10 http://www.google.com/。这个命令的意思是启动ab,向www.google.com发送10个请求(-n 10) ,并每次发送10个请求(-c 10)——也就是说一次都发过去了。跟着下面的是ab输出的测试报告,红色部分是我添加的注释。* D:\apahce\bin>ab.exe-n10-c10http://www.google.com/Th
阅读全文
如何加速你的PHP程序
摘要:我一直认为PHP的运行速度是非常的理想的,尤其是Zend引擎的加速之后。但是PHP仍然有加速的可能,你知道吗? 所有的一切都始于如何优化PHP的编译尝试使用针对CPU型号的特殊编译参数 -msse -mmmx -mfpmath=sse 在编译的时候添加 -03参数编译的时候调节CPU的参数 -march -mcpu Use Caution 尽量只编译你需要的模块,避免无用的扩展加载对于很少使用的扩展模块,应该编译成共享模式,便于在运行的时候动态加载也许有些时候--disable-all 会是你的好朋友把PHP静态编译到Apache可以提速20%# PHP ./configure --with-
阅读全文
php程序效率优化的一些策略小结
摘要:1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题; 2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 3.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过); 4.尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!); 5.循环内部不要声明
阅读全文