Archive for the ‘技术探讨’ Category

freebsd vmstat结果内容的解释

星期三, 08月 27th, 2008

top是给Linux设计的。在FreeBSD VM里面的Free概念和其他OS完全不同,使用top查看Free内存对于FreeBSD来说可以说没什么意义。正确的方法是看vmstat。

而vmstat这个指令,在linux系统,sun系统和freebsd系统中得到的结果样式和所代表的意义还很不相同。
procs memory page disk faults cpu
r b w swap free re mf mi po fr de sr f0 s0 s1 s2 in sy cs us sy id
0 0 0 14888 19120 0 4 2 11 10 0 0 0 0 0 8 198 2158 98 11 19 69
SWAP的单位应该是K,不是M。还有两个比较重要的参数是PI、PO,表示内存的调入、调出页面,单位也是K,但是多大值作为一个衡量标准,我也不清楚,不知道是否有经验值。
还有,最好使用vmstat t [n]命令,例如 vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况,试一下,看看结果就知道了。
procs:
r–>在运行队列中等待的进程数
b–>在等待io的进程数
w–>可以进入运行队列但被替换的进程
memoy
swap–>现时可用的交换内存(k表示)
free–>空闲的内存(k表示)
pages
re--》回收的页面
mf--》非严重错误的页面
pi--》进入页面数(k表示)
po--》出页面数(k表示)
fr--》空余的页面数(k表示)
de--》提前读入的页面中的未命中数
sr--》通过时钟算法扫描的页面
disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号
fault 显示每秒的中断数
in--》设备中断
sy--》系统中断
cy--》cpu交换
cpu 表示cpu的使用状态
cs--》用户进程使用的时间
sy--》系统进程使用的时间
id--》cpu空闲的时间
解释:
如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。
如果pi,po 长期不等于0,表示内存不足。
如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。

Discuz! 优化的误区

星期二, 07月 15th, 2008

很多 Discuz! 的用户在论坛规模达到一定程度上,就要经常性的考虑优化的问题。现在网络上的很多热心的技术人都分享了 Discuz! 的优化经验,应该说,很多经验还是不错的,但也有的帖子可能会让用户走入误区。

(more…)

Nginx 简单的负载均衡配置

星期四, 05月 29th, 2008

一、) 安装Nginx
1.) 安装
Nginx发音为[engine x],是由俄罗斯人Igor Sysoev建立的项目,基于BSD许可。据说他当初是F5的成员之一,英文主页:http://nginx.net。俄罗斯的一些大网站已经使用它超过两年多了,一直表现不凡。
Nginx的编译参数如下:

(more…)

MooPHP 0.91.178 alpha版本发布下载

星期四, 05月 22nd, 2008

开发简介
从整个PHP产业来看,随着PHP语言的日益流行,PHP的市场占有率不断提高,各种PHP框架也层出不穷。通过借鉴.Net、Java、Ruby On Rails等语言的开发思想,使得PHP在快速开发、企业应用等方面逐渐站在了Web开发语言的前端。

纵观国外的Zend Framework、CakePHP;国内的FleaPHP、ThinkPHP等这些优秀的PHP开源框架,我们不难发现它们对于PHP初学者还不够友 好。较高的入门难度和庞大的体系,已经不能完全满足当前PHP业界日益增长的多种多样的PHP需求。这些PHP开发框架都是非常出色的,但是由于文档、设 计思想、开发模式、入门难度中的一点或者几点降低了它们的广泛适用性,同时也为其他PHP开发框架提供了发展的机会。由此,MooPHP应运而生。

(more…)

互联网产品设计及研发团队的工作流程

星期二, 05月 20th, 2008

在这个中国互联网产业越来越趋于成熟的年代,互联网公司的产品设计和研发,在一些公司也逐步趋向于成熟和分工细化、专业化。
通过与魏姗姗同学的求证,获知了现在雅虎中国的产品设计及研发团队的工作流程。
因为雅虎是目前业内最注重产品质量和用户体验的互联网企业之一,他们的分工流程和工作态度非常值得研究学习。
在这里,我结合自己的从业经验,将产品设计的流程总结出来,与大家分享。

(more…)

PHP文件缓存的性能测试

星期三, 05月 14th, 2008

前言
在开发MooPHP的过程中,为了寻找更为高效的缓存方式,对两种最常用的缓存方式进行了测试。

PHP常用缓存方式
第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。
第二种,把需要的数据通过serialize函数序列化后直接保存到文件。在需要使用缓存数据的时候,通过反序列化读入文件内容并复制给需要的变量,然后使用。

测试结果
通过测试我们发现,第二种也就是serialize缓存数据的方式更加高效。(数据略去,最后提供了文章地址下载,大家可以自行测试)

原因分析
include方式读取缓存的时候,PHP需要执行几个过程
1.读取文件
2.解析所Include的文件
3.执行,给变量赋值

(more…)

PHP 6发布前新特性大展望

星期一, 05月 12th, 2008

PHP下一个备受关注的版本6.0,已经进入snapshot阶段,不久即将发布。PHP 6.0将包含很多新的特性、语法改进,会让面向对象编程更加简单,另外还有很多重要的改进,比如Unicode的核心支持,这将让PHP更适合全球范围支 持和更加的健康发展。PHP是已经风靡全球的脚本语言,在数以万计的网站上运行着,包括Linuxeden PHP 6.0将完全向前兼容,同时增加许多令人激动的特性。

(more…)

PHP 5.2.6 Released

星期日, 05月 4th, 2008

期待已久的PHP5.2.6终于发布了!其实几天前Released就可以下载了,但是官方网站没有更新,怕有变动一直没有下载。这次对比PHP5.2.5的更新,是非常有意义的一次变动。

The PHP development team would like to announce the immediateavailability of PHP 5.2.6. This release focuses on improving the stability ofthe PHP 5.2.x branch with over 120 bug fixes, several of which are security related.All users of PHP are encouraged to upgrade to this release. Further details about the PHP 5.2.6 release can be found in the release announcement for 5.2.6, the full list of changes is available in the ChangeLog for PHP 5. Security Enhancements and Fixes in PHP 5.2.6:

  • Fixed possible stack buffer overflow in the FastCGI SAPI identified by Andrei Nigmatulin.
  • Fixed integer overflow in printf() identified by Maksymilian Aciemowicz.
  • Fixed security issue detailed in CVE-2008-0599 identified by Ryan Permeh.
  • Fixed a safe_mode bypass in cURL identified by Maksymilian Arciemowicz.
  • Properly address incomplete multibyte chars inside escapeshellcmd() identified by Stefan Esser.
  • Upgraded bundled PCRE to version 7.6

Downloads:http://www.php.net/downloads.php

CentOS 5.1部署L.A.M.P环境配置手册

星期三, 04月 30th, 2008

刚刚为公司的系统部门编写的公司LAMP部署标准,基于CentOS5.1 32/64位系统。

一、系统约定
软件源代码包存放位置        /usr/local/src
源码包编译安装位置(prefix)        /usr/local/software_name
脚本以及维护程序存放位置        /usr/local/sbin
MySQL 数据库位置        /var/lib/mysql(可按情况设置)
Apache 网站根目录        /www/domain.com(可按情况设置)
Apache 虚拟主机日志根目录        /var/logs/www(可按情况设置)
Apache 运行账户        www:www

(more…)

Flickr Stats 功能的设计经验

星期三, 04月 30th, 2008

继续我的学习笔记之旅。Flickr 的 DBA Dathan Pattishall 在前几天的 MySQL 大会上分享了 Scaling Heavy Concurrent Writes In Real Time (Record every Referral for Flickr Realtime) ,其中介绍了 Flickr Stats 的设计经验。国内好多 Web 站点其实也在设计类似的功能,只是不知道细节罢了。

(more…)