目前:维基百科建立在LAMP上,因为是非盈利的网站,尽量使用免费软件和廉价服务器。
GeoDNS:基于开源域名服务器软件BIND的增强版本
LVS:基于Linux的开源负载均衡服务器
Squid:基于Linux的开源反向代理服务器
Lighttpd:开源的应用服务器,比Apache服务器更轻量,更快速
PHP:web开发语言
Memcached:无中心,高性能的开源分布式缓存系统
Lucene:Apache出品,Java开发的开源全文搜索引擎
MySQL:开源的关系型数据库
前端优化:DNS,CDN,反向代理,静态资源服务,
CDN缓存的准则:
1.页面内容不包含动态信息,以免页面缓存很快失效或包含过期信息
2.每个内容页面有唯一的REST风格的URL,CDN快速查找并避免重复
3.HTML头写入缓存控制信息,控制是否缓存 和缓存有效期
服务端性能优化:最好的硬件资源
1.使用APC,一个PHP字节码缓存模块,加速代码执行,减少资源消耗
2.Imagemagick:图片处理,转化。
3.Tex进行文本格式化,特别是将科学公式化内容转换成图片格式
4.替换PHP字符串查找函数strtr(),使用更优化的算法重构
后端性能优化:缓存,存储,数据库
缓存:热点特别集中的数据直接写到应用服务器本地缓存
缓存内容尽量是应用服务器可直接使用的格式,如HTML格式
使用缓存服务器存储session对象
memcached的持久化连接非常廉价,如有需要就创建
Mysql:使用较大的服务器内存
使用RAID0磁盘阵列加速磁盘访问
将数据库事务设置在较低水平,加速宕机回复
主从备份。主库宕机,关闭写功能