读郭欣《构建高性能Web站点》笔记(1)

读郭欣《构建高性能Web站点》笔记

 

1 减少网页中的HTTP请求。

 设计更加简单的网页,使其包含较少的图片和脚本,但是这可能牺牲了美观和用户交互。

 将多个文件合并成一个文件,利用CSS背景图片的偏移技术呈现在网页中,避免了多个图片的下载。

 合并JavaScript脚本或者CSS样式表。

 

2 加快服务器脚本计算速度。

 生成中间代码的这部分时间又成为大家为获取性能提升而瞄准的一个目标。对于一些拥有较强商业支持的脚本语言,比如ASP.NET和JSP,均有内置的优化方案。对于开源类的脚本语言,也有很多第三方组件来提供此类功能,比如PHP的APC组件等。

 

3 使用动态内容缓存。

 将动态内容的HTML输出结果缓存起来,在随后的一段时间内当有用户访问时便跳过重复的动态内容计算而直接输出。

 缓存带来的性能提升恰恰与有些动态数据实时交互的需求形成矛盾。

 

4 使用数据缓存。

 很多动态内容都包含了一段公用的数据,或者关系数据库中某字段的频繁更新和读取。

 

5 将动态内容静态化。

 动态网页的静态化。

 

6 更换Web服务器软件。

Apache\Lighttpd\ngnix

 

7 页面组件分离。

根据不同组件的需求,比如下载量、文件大小、对服务器各种资源的需求等,有针对性地采用不同的并发策略,并且提供最佳的物理资源。

 

8 合理部署服务器。

 

9 使用负载均衡。

简单的HTTP重定向,或者基于DNS的轮询解析,或者反向代理服务器实现,或者通过LVS来组建服务器集群。

 

10 优化数据库。 

 

11 考虑可扩展性。

 

12 减少视觉等待。

 

测试工具

1 ab

用法: ab -n1000 -c100 http://localhost/

描述: -n后面是请求次数,-c是并发数。

页面压力测试工具,主要查看吞吐率。

 

2 strace

描述: Linux跟踪进程执行时的系统调用和所接收的信号。可以用来跟踪每个系统调用次数和执行时间百分比。

你可能感兴趣的:(优化,web服务器)