《大型网站技术架构:核心原理与案例分析》拜读总结,第十章——随需应变:维基百科高性能架构设计分析

来源:互联网 发布:suse linux 网关配置 编辑:程序博客网 时间:2024/04/30 20:50

目前:维基百科建立在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磁盘阵列加速磁盘访问

    将数据库事务设置在较低水平,加速宕机回复

   主从备份。主库宕机,关闭写功能

阅读全文
0 0
原创粉丝点击