互联网应用在高并发情况下,瓶颈在 IO 上(网络 IO 和磁盘 IO 上),并不在 CPU 上,这时采用传统的多线程技术基本上无济于事。
减少数据库磁盘 IO 时间最有效的办法是使用缓存,还可以将数据库弄成 master/slave 的读写分离,分表分库等等。
减少网络 IO、静态资源磁盘 IO 有效的办法:响应使用 GZIP 压缩(Web 服务器都能支持)、设置静态资源(图片、JS 文件、CSS 文件、HTML 文件的过期时间),应用在多 IDC 进行部署、使用 DNS 分发至不同的节点,若要加速用户的访问速度,可以使用 CDN 等等。