摘要: 在安装xdebug之后,php原来的var_dump方法会被改变,显示效果变得更加友好。http://xdebug.org/docs/display上的说明:Xdebug replaces PHP's var_dump() function for displaying variables. Xdebug's version includes different colors for differ... 阅读全文
posted @ 2009-10-28 11:28 rethink 阅读(1123) 评论(1) 推荐(0) 编辑
摘要: mysql cache功能分析:1 mysql的cache功能的key的生成原理是:把select语句按照一定的hash规则生成唯一的key,select的结果生成value,即key=>value。所以对于cache而言,select语句是区分大小写的,也区分空格的。两个select语句必须完完全全一致,才能够获取到同一个cache。2 生成cache之后,只要该select中涉及到的ta... 阅读全文
posted @ 2009-10-09 14:15 rethink 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 在较复杂的web程序开发中,由于采用面向对象的数据操作方式,或者业务逻辑太过复杂,开发人员在开发过程中,经常会无意识的重复读取数据。比如:$result1 = tableobjectPeer::getResult($var1,$var2,$var3);开发人员在需要的该table数据的时候,经常直接调用tableobjectPeer::getResult方法。又或者程序在进行forward()的时... 阅读全文
posted @ 2009-09-21 14:23 rethink 阅读(491) 评论(0) 推荐(0) 编辑
摘要: Gearman 和 MemcacheQ。 阅读全文
posted @ 2009-09-17 11:34 rethink 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 分别使用NFS,Memcached,Tokyo tyrant来实现session共享的性能测试 阅读全文
posted @ 2009-08-27 11:29 rethink 阅读(2574) 评论(8) 推荐(4) 编辑
摘要: 关于如何建立索引,及哪些情况适合使用索引,哪些情况不适合使用索引,各种书籍资料有很多。但是最重要的原则是:实际测试。实践是检验真理的唯一标准。建立索引的时候,应进行如下测试:1 explain select语句,看看是否有使用到索引。2 运行update和insert操作,看看建立索引的负效应是否在可接受范围。3 务必在接近生产环境的数据规模下进行索引性能的测试。第三点尤为重要。因为在最近的项目优... 阅读全文
posted @ 2009-08-26 23:20 rethink 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 说明:以下是在读小骆驼书《Perl 语言入门》第十二章 目录操作 中“链接与文件”一节(P189-193)中的读书笔记。 目录是一种由系统管理的特殊文件,它基本上是一份列表。每份文件都会存储在一个编好号的inode里,我们可以把它想象成磁盘上的门牌号码。ls -l命令,硬链接的数量会显示在权限标记的右边。每个目录都会有 . 这个项目,它会指回目录本身的inode。所以任何目... 阅读全文
posted @ 2009-08-26 23:16 rethink 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 检查apache的error log和mysql slow query log,可以及时的发现问题。但在开发和运营的过程中,如果没有意识到有错误发生,我们往往不会主动的查看log的习惯,而且每天查看log也不现实。但是不明显的错误不表示没有错误,潜在的问题往往是最严重的问题。因此写个log监控程序很有必要。#!/bin/shADDRESS='email1@domain.com email2@dom... 阅读全文
posted @ 2009-08-26 23:14 rethink 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 在目前的项目中,因为涉及到一些较复杂的统计功能,我在某个表中添加了三个字段:nums1,nums2,nums3这三个字段分别为table1,table2,table3中相关的有效记录行数。添加这三个字段的原因如下:原因1: 在页面显示中,如果没有这三个字段,单纯靠sql来生成显示列表的话,需要关联三个表,这三个表都是记录较多的表,关联起来效率很低。原因2: 在网站的前台,有了这三个字段,可以减少对... 阅读全文
posted @ 2009-08-26 23:09 rethink 阅读(306) 评论(0) 推荐(0) 编辑
摘要: “PHP程序员,特别是从php4,甚至是PHP3中成长起来的程序员,很多都不习惯使用抛出异常这种错误处理方式。虽然php5引入了异常处理机制,但是很多php程序员还是没有真正的掌握并使用它。网站完全开放的特性,决定了网站比任何传统软件都更希望做到“系统看起来永远都是能够正常工作的”,所以采用正确的程序错误处理方式尤为重要。理论上来说,如果设计足够完美,开发人员足... 阅读全文
posted @ 2009-08-26 23:05 rethink 阅读(377) 评论(0) 推荐(1) 编辑