分类目录归档:php性能

稍显寒酸的一个PHP框架:supermin

我曾经很长时间不搞什么PHP框架(框架神马的最讨人厌鸟) 我身边很多哥们,都是PHP大牛,所以,每人都写了自己的PHP框架,所以,其实我用不管谁的框架看上去都挺得罪人的,嗯,于是我只能是啥框架也不用了. 不过前一阵团队某个人自己引入了一个框架,然后做完了一个项目,接下来就拍拍屁股走人鸟~~ 于是我总结了几个规律,我称之为徐氏定律: 如果一个项目只有一个人全盘负责,这个人一定会离职; 如果一个项目你不盯着,一定会出问题; 如果让一个人自己负责一个东西,不搞个需求评审过一下,他肯定会假想一堆需求; 如果一个程序员去设计一个框架,他肯定想着跨平台,多引擎支持,肯定想着做到老少咸宜男女通吃. 于是我决定写一个真正够用的好用的框架,在公司内部强行推介一下,你可以不用框架,但是如果你要用的话必须用我的框架;没有经过一大堆同事的评审和我的许可,你不可以使用自己写的框架,尤其是,我们基本没有工夫让谁写个牛B的框架…. 嗯,于是回家我就开始搞,用了两个晚上,加起来一共不到20个小时的时间,我的超小精框架出厂了,我一向猥琐,嗯,也给起了个猥琐的名字:SM.嗯,全称是:supermini. 几百行代码而已,但是我觉得已经够用了,主要封装两个东西,一个是数据库访问,可以帮您连数据库和拼凑sql语句,另一个东西是一个Form表单生成工具. 这是一个很有特色的框架,嗯,其实连框架都称不上,就一个600来行的小lib而已,都还没有在生产环境上进行过实验,所以暂时不放代码出来.不过这个小框架包含了我对PHP的理解,嗯,每一种框架都是作者的程序哲学的体现.先来个PPT介绍一下基本逻辑.这个PPT是HTML5做的,请用chrome观看. 详情请参见:”迷你PHP框架supermini简介”. 本文由蝌蚪安尼友情赞助.相关文章CakePHP入门…译文,请勿转载.开源项目寻求协助:今天很开心什么样的Ajax框架是一个好框架?google排名内部优化攻略动网论坛的影响和事物的连锁效应为什么我认为每个穷网站开发程序员都应该用Linux[工具篇]跟覃总聊了好久php高手之路之—返樸归真web开发中几个你可能不曾想到的要点:

发表在 php性能, php技术 | 3 条评论

用PHP和xapian构建全文检索[转]

大约从07年起,本博客就不转载了; 这篇算是以译文发的,原文在:http://www.contentwithstyle.co.uk/content/searching-with-xapian-and-php ========邪恶的分割线============ 有的时候呢,嗯 ,mysql 就是不够快;尤其是在做全文检索的时候.各个字段都得正确地检索才行,而当我们的各个字段带有不同的权重时,事情就马上变得特别复杂了,这时你就需要xapian来救急了. Xapian是什么东东 xapian是一个全文检索库,就和lucene和sphinx一样;它需要从c++代码编译,比较底层;现在已经有直接可用的php,perl,python绑定可以用了.目前提供了redhat和ubuntu的包;你可以在Mac os上编译,还可以通过cygwin来在windows下运行. 示例脚本 我不想去解释why和how,我只想展示一个简单的脚本;我封装的php文件有点大,读者可以从这下载; db.sql CREATE DATABASE `demo`;   CREATE TABLE `demo`.`demo` ( `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `unique_key` VARCHAR( 255 ) NOT NULL , `name` VARCHAR( 255 ) NULL DEFAULT … 继续阅读

发表在 php性能, 译文 | 3 条评论

PHP版的slow-query

slowphp是由本人开发的一个简单的PHP扩展。目的在于记录web server上执行时间过长的php脚本。用法和mysql上的slow query极为相似。 代码地址:http://github.com/xurenlu/slowphp/.本周内即可完成全部功能。 版本: 1.0 示例:在php.ini中加入: extension=slowphp.so [slowphp] slowphp.long_query_time=3 slowphp.long_query_log="/var/log/php_long_query.log" 然后重启yapache,运行一段时间后即可查看/var/log/php_long_query.php中记录下了慢脚本的启动时间,消耗时间和脚本路径。 下一步功能: 为了方便调试,下一步将在ini中多加这样两项配置: slowphp.long_query_log_probability=0.0001 slowphp.long_query_lock_file="/tmp/open_long_query" 功能分别为: 1.有0.0001的概率记录当前脚本执行时间。 2.有/tmp/open_long_query文件存在时才记录脚本运行文件。 这样一来能极大地方便线上脚本运行效率的监控。 本文由蝌蚪安尼友情赞助.相关文章缓慢的drop table 操作请大家悄悄地推一份工作,谢谢~outlook express/foxmail 邮件转入evolution的方法为什么我认为每个穷网站开发程序员都应该用Linux[工具篇]通过XOOPS模块整合Mu.wordpress的完整方案(一)Perl常见错误小钱包网站上新版了更改字符集设置[译文]珍爱生命,远离IT之-艾滋病

发表在 php性能, php技术 | 留下评论

整理了一份招PHP高级工程师的面试题

嗯,基本上这些题都答得好 那就… 直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503 500 401 200 301 302。。。 Include require include_once require_once 的区别. PHP/Mysql中几个版本的进化史,比如mysql4.0到4.1,PHP 4.x到5.1的重大改进等等。 HEREDOC介绍 写出一些php魔幻方法; 一些编译php时的configure 参数 向php传入参数的两种方法。 (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别; error_reporting 等调试函数使用 您是否用过版本控制软件? 如果有您用的版本控制软件的名字是? posix和perl标准的正则表达式区别; Safe_mode 打开后哪些地方受限. 写代码来解决多进程/线程同时读写一个文件的问题。 写一段上传文件的代码。 Mysql 的存储引擎,myisam和innodb的区别。 … 继续阅读

发表在 js, linux/unix, mysql, php性能, 未分类 | 标签为 , , | 8 条评论

用fastCGI协议进行RPC调用

近来由于业务量急剧增长,业务种类越来越多,RPC混乱问题就凸现出来. 具体表现是: a1,a2,a3,a4 为一组服务器,为用户提供A服务. b1,b2,b3为一组服务器,为用户提供B服务. c1,c2,c3为一组服务器,为用户提供C服务. 最初各服务器各自服务是不太相关的.随着业务拓展,用户提出新的需求,我们需要 在A服务中调用B组服务器的API接口. …. 最后我们发现这样一个现象: 用户请求a1 提供服务.a1发现他需要知道另一些数据,于是调用b2的rpc服务.但是b2 上这个数据又需要c3的RPC.结果c3又需要a2来提供一些数据…. 我们的远程调用调来调去,最后把自己调晕了. 于是我开始考虑一种解决方案。 首先当然是:对远程调用加以控制和规范,避免不必要的远程调用。 接着我注意到,我们利用CURL来通过http通道进行远程调用其实是没必要的。我可以在做远程调用时,走FastCGI协议。 说干就干: 第一步:建立一个fastCGI:spawn-php #!/bin/bash   ## ABSOLUTE path to the spawn-fcgi binary SPAWNFCGI="/home/y/opt/lighttpd/bin/spawn-fcgi"   ## ABSOLUTE path to the PHP binary FCGIPROGRAM="/home/y/opt/php/bin/php-cgi"   ## … 继续阅读

发表在 php性能, php技术 | 标签为 , , | 3 条评论

php文章收集贴

ab测试数据会跳舞 *php中静态方法,函数,对象方法性能测试 *php-APC介绍 *利用web应用中的不均衡性重构你的技术细节 *把握web 开发的平衡与不平衡 *php高手之路之—狐假虎威 *PHP高手之路之—折柳为剑 *php高手之路之—纵横天下 *php高手之路之—万人之术 *php高手之路之—屠龙宝刀 *php高手之路之—绝世秘籍 *php高手之路之—返樸归真 *用PHP5.2+APC实现超酷的PHP进度条 *道可道,非常道—PHP模板技术 select id,title from * 与select * from **的速度测试。 *为什么SELECT col1,col2,col3,col4 会比SELECT * 慢? 本文由蝌蚪安尼友情赞助.相关文章如何用php和AJAX来创建mailing List (译文,勿转载。)实例解说网站优化–全过程详解(不定期更新)sohu的文品测试试用手记项目进度史记-华南虎列传基于cloudapi.info的wordpress 相关文章插件博客的传播能力测试:从搜狐久我100块钱说起利用web应用中的不均衡性重构你的技术细节文本挖掘,构造垃圾站[一]php高手之路之—绝世秘籍

发表在 php性能, 未分类 | 标签为 | 留下评论

用ab来做性能测评好像不公平吧?

我的师兄,从某种程度上说也是我php方面的师父,和他的同事做了测评,分别是针对php4,php5的性能对比和function,class的性能对比的。 这里是师兄的对比结果 师兄的同事做的测评 但是我不认为用ab来做出的测试是合理的.理由:用ab来测试时,结果好像总似是在跳舞一样.做为证据,我将我的notebook依文本方式重启,用ab来测lighttpd的表现. 具体环境: Haier H40S Notebook RAM:1.5G CPU:CY 1.6GHz 硬盘:60G,(具体型号什么的不清楚,列个60G表示不是SCSI硬盘) OS:Fedora Core 7.0(Moonshine) web server:lighttpd 1.4.15 测试工具:ab X环境:未运行X server 命令:ab -n 10000 -c 50 http://localhost:8181/ 第一份结果: This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0 Copyright 1996 Adam … 继续阅读

发表在 php性能, php技术 | 标签为 , , , | 2 条评论