对于很多大型网站而言,都会遇到大并发、大流量、大存储的问题。
- 对于大并发而言,我们一般采取的是架构分层+负载均衡+集群来解决这个问题。比如我们的一个项目可以同时部署到多台服务器上,通过负载均衡器实现均衡负载,通过mysql代理来实现mysql的主从同步,以及读写分离。
大流量,网站大流量一般是由于网站存在太多的多媒体资源,如图片、音频视频的多媒体资源。对这个问题我们一般通过以下途径来解决。
1、把多个图片文件放在一个文件中,节省tcp连接的创建于释放所消耗的资源。
2、使用高压缩率格式的图片。
3、使用CDN服务,将合适的节点返回给用户
4、控制大文件的下载
5、使用数据压缩,如Apache自带的压缩机制gzip、deflate等可以 节省大量数据尺寸
6、买带宽大存储,针对大存储我们一般从两个方面来进行优化
1、使用缓存技术,比如内存缓存页面缓存
2、优化数据库
表的设计满足三范式
选择合适的存储引擎
建立索引
mysql查询优化
分表(水平分表、垂直分表)
优化数据库配置my.ini
读写分离
软硬件升级