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

被折叠的 条评论
为什么被折叠?



