初试 LightTPD+PHP5+FastCGI

前几天重装了系统,原因很简单,为了不造成浪费:) 也许你会问重装系统和浪费有什么关系,原因是这样的,我有4G内存,可原来的系统是XP,它只支持3.5G内存,有512M就浪费掉了,所以我这次就安装了EE版的03.呼呼~~~终于认出4G内存了…爽…
装完以后,照旧配置WAMP环境,可是我上次重装系统是一年前,也就是说我有一年没有配置过环境,基本忘的差不多了…
搞了N久Apache没有搞定…后来想起以前朋友和我提过的LightTPD很不错,占用资源小,配置又简单.于是我就开始了我第一次的配置WLMP经历.
其实前面的过程还是很轻松(配置lighttpd的过程),但后来由于我不记得如何配置php了,哎…所以还是搞了蛮长时间的
经过两个小时的奋斗,终于搞定了.只是还需要对配置做一些优化,主要还是PHP,感觉有些迟顿…FastCGI也正常运行..
但还没有测试reWrite部分,有机会再说吧
配置好环境后,拿最近的一个项目测试一下…恩,看来还不错..呵呵~~~只是Ajax有些慢~~~晕~~~不知道是不是我配置有问题呢~~~

体验|Experience, 开发|Development , , , ,

Memcached深度分析

Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。关于这个东西,相信很多人都用过,本文意在通过对memcached的实现及代码分析,获得对这个出色的开源软件更深入的了解,并可以根据我们的需要对其进行更进一步的优化。末了将通过对BSM_Memcache扩展的分析,加深对memcached的使用方式理解。
本文的部分内容可能需要比较好的数学基础作为辅助。
◎Memcached是什么
在阐述这个问题之前,我们首先要清楚它“不是什么”。很多人把它当作和SharedMemory那种形式的存储载体来使用,虽然memcached使用了同样的“Key=>Value”方式组织数据,但是它和共享内存、APC等本地缓存有非常大的区别。Memcached是分布式的,也就是说它不是本地的。它基于网络连接(当然它也可以使用localhost)方式完成服务,本身它是一个独立于应用的程序或守护进程(Daemon方式)。
Memcached使用libevent库实现网络连接服务,理论上可以处理无限多的连接,但是它和Apache不同,它更多的时候是面向稳定的持续连接的,所以它实际的并发能力是有限制的。在保守情况下memcached的最大同时连接数为200,这和Linux线程能力有关系,这个数值是可以调整的。关于libevent可以参考相关文档。 Memcached内存使用方式也和APC不同。APC是基于共享内存和MMAP的,memcachd有自己的内存分配算法和管理方式,它和共享内存没有关系,也没有共享内存的限制,通常情况下,每个memcached进程可以管理2GB的内存空间,如果需要更多的空间,可以增加进程数。

学习|Learn , , , , , , , , , , , , , , ,

Yupoo! 的网站技术架构

又有机会爆料国内 Web 2.0 网站的架构了。这次是 Yupoo! 。非正式的采访了一下 Yupoo!(又拍网) 的创建人之一的 阿华(沈志华)同学,了解了一些小道消息。
作为国内最大的图片服务提供商之一,Yupoo! 的 Alexa 排名大约在 5300 左右。同时收集到的一些数据如下:

带宽:4000M/S (参考)
服务器数量:60 台左右
Web服务器:Lighttpd, Apache, nginx
应用服务器:Tomcat
其他:Python, Java, MogileFS 、ImageMagick 等

生活|Life , , , ,