国庆k书了...

国庆感冒

悲剧

只能窝在宿舍k书了

然后就是悠哉悠哉...

书也没仔细k

-----------------------------------------------------------------------------------------------------------------------------------

《构建高新能web站点》

作者以大量的实战经验为基础,对web性能优化技术进行很广的探讨,并提供了大量的测试数据

- 数据的网络传输

讲的是web站点呢,当然要通过网络,刚入手介绍的就是网络模型,讲的很通俗,重点对带宽进行了介绍。阅读完可以对网络传输有个形而上的认识,如果想要更进一步的认识,需要阅读更专业的网络上书籍。

- 服务器并发处理能力

吞吐率

鸭梨测试

并发用户数,注意这个并发请求数是不同的概念,因为一个用户可以同时发出多个请求

Apache ab

ab -v

ab -n 1000 -c 10 http://localhost/test.html

进程

轻量级进程 Linux2.0支持

线程 pthread linuxthreads glibc libc

进程调度器 top命令使用

查看运行队列: cat /proc/loadavg

Linux的top w等

持久连接:长连接

另外一块重要的内容是I/O模型:

pio dma(直接内存访问)

同步阻塞io

同步非阻塞io

多路io(这个跟Java中的nio类似)

在下面是Unix或Linux得网络io处理了,需要进一步阅读《Unix网络编程》

省略掉这些简介.....看不太懂

异步i/o的介绍不太多,而异步io是实现高性能web服务器的方向,本书未对此详细介绍

然后是服务器的并发策略(窃以为本章内容组织的有点乱,不过这些内容的关系本就错综复杂,难以理清)

1进程 1连接 非阻塞io

1线程 1连接 非阻塞io

1进程 多连接 非阻塞io

一个线程多个连接 异步io(这个应该是性能最高的) 不过目前貌似没有完善的解决方案,本书只是简单一提

java7会提供aio,期待...

- 动态内容缓存

缓存

Smarty缓存 http://zh.wikipedia.org/zh-cn/Smarty

缓存持久化 查找

过期检查

作者抛弃了smarty缓存,自己实现了一个缓存策略,因为作者需要的功能很简单,而smarty的功能更多,但是拖累了它的性能。作者通过自己的缓存实现,取得了更大的吞吐率

....

缓存是很重要的东西,再下面的东西只是翻了一下,不了解,需要抽时间好好看看缓存的内容(mark

- 动态脚本加速

有待学习

------

- 浏览器缓存

将数据缓存在用户方

- 服务器缓存

url 映射 反向代理

缓存静态内容 动态内容

- 反向代理缓存

反向代理

nginx squid varnish

有待学习

...

- web组件分离

使用不同域名

然后探讨了如何对动态内容和静态内容进行分离..

有待学习

- 分布式缓存

memcached

key-value 数据过期时间 网络并发模型 对象序列化

读操作缓存

写操作缓存

线程安全 锁竞争

原子加法

缓存扩展

- 数据库性能优化

主要介绍的MySQL

show status

show innodb status

mysqlreport(工具)

索引

解释查询(explain)

组合索引

关于索引的内容有待进一步阅读《高性能MySQL》

慢查询分析工具:可以打开慢查询日志,记录下慢查询,然后对查询语句进行优化

索引代价:空间、会影响更新数据的(insert upadate delete)性能

行锁、表锁

事务表性能

反范式化设计

放弃关系数据库....这对于一些性能要求高的地方似乎是必然之路

- 负载均衡

http重定向

rr策略

dns负载均衡

反向代理负载均衡

....以及各种策略和工具

总之:有活大家一块干,合理分配...

- 共享文件系统 分布式文件系统

这里介绍的不多...相类似的有gfs (google) hdfs(hadoop)

内容分发和同步

数据库扩展

分布式计算

这几张只是略提,都是很大的题目....

原文地址:https://www.cnblogs.com/macula7/p/1960383.html