考官出题:
优化一个并发量较高的社区型平台,您会采取哪些方案?(只有三台服务器,并发量大->接近无穷大)
我的回答:
1)采取LNMP架构,并且先确保硬件是否足够支撑如此大的访问量
2)对于不需实时更新的数据如新闻资讯可生成文件缓存,以缓解并发压力
3)针对不同的运营线路解析到不同的服务器,做分流
4)使用CDN加速缓存缓解并发压力
面试结果:
不满意,被pass
2015-8-21
另外一个疑惑的是,多少才算高并发?
如何来计算是属于高并发?
三台服务器肯定是满足不了无限的并发,只能是尽量的优化。优化的顺序是:业务、程序、部署。
从业务上要处理好应用超出负荷时的处理,比如:目前在线人过多请稍候访问之类的提示;减少图片、附件等上传的大小限制,甚至临时取消附件功能,减少带宽和存储空间的压力;分页只支持固定的分页。
程序上包括应用的优化和数据库的优化。有可能的话尽量使用第三方的服务减少服务器自身的压力。首页等访问量大的页面静态化,减少数据库的压力,批量的实务代替时时的处理。数据库要对业务表的锁进行细化处理,读写分离。
部署上要数据库一台,另外两台负载均衡。使用cdn尽量把流量分离出去。增加防ddos攻击,跳高防护的等级,减少网络攻击对普通用户的影响。
其实三台服务器能做很多事情 :)