从技术角度分析:如何应对网站高并发大流量大数据?

老余博客

在如今科技发达的时代,无论是生活还是工作,都离不开互联网。那么很多的人只要谈到“高并发大流量”就感觉非常的高大上,你感觉它难,是因为你没有一个清晰的思路,跟我们编程是一样的,你不知道从何入手这是最糟糕的。其实只要把思路告诉大家,瞬间就感觉简单多了。

 其实在面对高并发的场景下,基本从几个方面入手进行优化:硬件(服务器硬件方面),逻辑(业务逻辑的优化),架构(系统底层架构的优化)

1、硬件升级

        普通的服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高的专用服务器才能解决问题 ,否则怎么优化都不可能彻底解决性能问题。硬件是根本。

2、负载均衡

        这是从架构上来说的,它是根据某种负载策略把请求分发到集群中的每一台服务器上,让整个服务器集群共同来处理同一时间网站的大量请求。公司比较有钱的,可以购买专门负责负载均衡的硬件(如:F5),效果肯定会很好。对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力

3、服务器集群

服务器集群就是指将多台甚至N台服务器集中起来一起进行同一种服务,它们之间通过网络实现通信。让N台服务器之间相互协作,共同承载一个网站的请求压力。

在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。

4、数据库读写分离

        基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。这里设计到主从数据库的数据同步问题。

5、数据库分表技术(垂直分割,水平分割)

        因为当一张的数据达到几百万甚至更多的时候,你查询一次所花的时间会变多,如果有联合查询的话,很有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。

6、表建立相应的索引

使用索引可快速访问数据库表中的特定信息。

7、页面静态化

前台实现完全的静态化最好,可以完全不用访问数据库。

8、缓存技术(MemCache、Redis)

        缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库。还有就是本地客户端缓存,让一些静态文件在客户多次发起请求的时候压根不发起请求。直接读取本地资源。

9、禁止外部盗链

        外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链。

10、控制大文件的下载

        大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗 CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。

11、CDN加速

        在用户访问网站时,可以就近获取所需网页内容。可以快速提高用户的访问速度。

12、代码优化

程序代码优化的含义是最终生成的目标代码短(运行时间更短、占用空间更小),时空效率优化。


赞(1)
分享
文章版权声明:除非注明,否则均为老余个人博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 0 条评论,2066人围观)
取消
微信二维码
微信二维码
支付宝二维码
取消
老余博客微信公众号二维码