关键词不能为空

当前您在: 主页 > 英语 >

WEB应用中的高并发问题

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 14:03
tags:

-

2021年2月28日发(作者:盔甲)




WEB


应用中的高并发问题



大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集

< p>
中在这样几个环节:


使用高性能的服务器、高性能的数据库、


高效率的编程语言、


还有高性


能的

< br>Web


容器。但是除了这几个方面,还没法根本解决大型网站面临的高负载和高并 发问


题。


这些解决思路在一定程度上也意味着更大的投入,


并且这样的解决思路具备瓶颈,


没有


很好的 扩展性,以下从平时的项目经验以及引用一些博客的思路来尝试解决高并发的情况。



0


、首先需要关注数据库


< p>
没错


,


首先是数据库


,< /p>


这是大多数应用所面临的首个


SPOF


( 单点故障)。尤其是


Web2.0



应 用,数据库的响应是首先要解决的。



可能最初是一台主机,当 数据增加到


100


万以上,那么,数据库的效能急剧下降。常用 的


优化措施是


M-S


(主


-


从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行


操作。我推荐的是


M-M-Slaves


方式 ,


2


个主


Master


,多个


Slaves


,需要注意的是,虽然

< p>


2



Master


,但是同时只有


1


个是

Active


,我们可以在一定时候切换。之所以用


2



M


,是保证


M< /p>


不会又成为系统的


SPOF


< p>


Slaves


可以进一步负载均衡,


可以结合


LVS,


从而将


select


操作适当的平衡到不同的


slaves


上。



以上架构可以抗衡到一定量的负载,但 是随着用户进一步增加,你的用户表数据超过


1



万,


这时那个


M


变成了


SPOF



你不能任意扩充


Slaves



否则复制同步的开销将直线上升,


怎么办?我的方法是表分区,从业务层面上进行分区。最简单的,


以 用户数据为例。根据一


定的切分方式,比如


id


,切分到不同的数据库集群去。



< br>全局数据库用于


meta


数据的查询。缺点是每次查询, 会增加一次,比如你要查一个用户


nightsailer,


你 首先要到全局数据库群找到


nightsailer


对应的


cluster


id


,然后再到指定的< /p>


cluster


找到


nightsail er


的实际数据。



每个

< p>
cluster


可以用


m-m

方式,或者


m-m-slaves


方式。这是一个可以扩展 的结构,随着


负载的增加,你可以简单的增加新的


mysql cluster


进去。



1

< p>


HTML


静态化



其实大家都知道,效率最高、消耗最小的就是纯静态化的


html< /p>


页面,所以我们尽可能使我


们的网站上的页面采用静态页面来实现 ,


这个最简单的方法其实也是最有效的方法。


但是对

< p>
于大量内容并且频繁更新的网站,


我们无法全部手动去挨个实现,


于是出现了我们常见的信


息发布系统


CMS


,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是

通过信息发布系统来管理和实现的,


信息发布系统可以实现最简单的信息录入自动生 成静态


页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说, 拥有一套


高效、可管理的


CMS


是必不 可少的。




除了门户和信息发布类型 的网站,


对于交互性要求很高的社区类型网站来说,


尽可能的静 态


化也是提高性能的必要手段,


将社区内的帖子、


文章进行实时的静态化,


有更新的时候再重


新静态化 也是大量使用的策略,像


Mop


的大杂烩就是使用了这样的策略 ,网易社区等也是


如此。




同时,


html


静态化也是某些缓存策略使用的 手段,对于系统中频繁使用数据库查询但是内


容更新很小的应用,可以考虑使用


html


静态化来实现,比如论坛中论坛的公用设置信息,


这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,


这些信息 其实大量被前


台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时 候进行静态化,


这样避免了大量的数据库访问请求。




2


、图片服务器分离




大家知道,对于


Web


服务器来说,不管是


Apache



IIS


还是其他容器,图片是最消耗资源


的,


于是我们有必要将图片与页面进行分离,


这是基本上大型网站都会采用的 策略,


他们都


有独立的图片服务器,


甚 至很多台图片服务器。


这样的架构可以降低提供页面访问请求的服


务器系统压力,


并且可以保证系统不会因为图片问题而崩溃,


在应用服务器和图片服务器上,


可以进行不同的配置优化,比如


apache


在配置


ContentType

< br>的时候可以尽量少支持,尽


可能少的


LoadModul e


,保证更高的系统消耗和执行效率。




3


、数据库集群和库表散列




大型网站都有复杂的应用,


这些应用 必须使用数据库,


那么在面对大量访问的时候,


数据库


的瓶颈很快就能显现出来,


这时一台数据库将很快无法满足应用,


于是我们需要使用数据库


集群或者库表散列。




在数据库集群方面,


很多数据库都有 自己的解决方案,


Oracle



Sy base


等都有很好的方案,


常用的


M ySQL


提供的


Master/Slave

也是类似的方案,您使用了什么样的


DB


,就参考相


应的解决方案来实施即可。




上面提到的数据库集群由于在架构、


成本、扩张性方面都会受到所采用


DB


类型的限制,于


是我们需要从应用程序的 角度来考虑改善系统架构,


库表散列是常用并且最有效的解决方案。

我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,


不同的模块对应 不同的


数据库或者表,


再按照一定的策略对某个页面或者功能进 行更小的数据库散列,


比如用户表,


按照用户

< br>ID


进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。


soh


u


的论坛就是采用了这样的架构,将 论坛的用户、设置、帖子等信息进行数据库分离,然后


对帖子、用户按照板块和


ID


进行散列数据库和表,最终可以在配置文件中进行简单的配置


便能让系统随时增加一台低成本的数据库进来补充系统性能。



4


、缓存




缓存一词搞技术的都接触过,


很多地方用到缓存。


网站架构和网站开发中的缓存也是非常重


要。这里先讲述最基本的两种缓存。 高级和分布式的缓存在后面讲述。



架构方面的缓存,对


Apache


比较熟悉的人都能知道


Apa che


提供了自己的缓存模块,也


可以使用外加的


Squid


模块进行缓存,这两种方式均可以有效的提高

Apache


的访问响应


能力。



网站程序开发方面的缓存,


Linux


上提供的


Memory Cache


是常用的缓存接口,


可以在


web


开发中使用,

< br>比如用


Java


开发的时候就可以调用

< br>MemoryCache


对一些数据进行缓存和通


讯共享 ,一些大型社区使用了这样的架构。另外,在使用


web


语言开 发的时候,各种语言


基本都有自己的缓存模块和方法,


PHP< /p>



Pear



C ache


模块,


Java


就更多了,< /p>


.net


不是


很熟悉,相信也肯定有。< /p>



5



ngin x


分流


-


-


-


-


-


-


-


-



本文更新与2021-02-28 14:03,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/681641.html

WEB应用中的高并发问题的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文