高并发访问下的Web性能优化方法技术

技术编号:30763504 阅读:16 留言:0更新日期:2021-11-10 12:17
本发明专利技术公开一种高并发访问下的Web性能优化方法,旨在提升Web应用在高并发访问场景下的高可用能力。该方法通过以下技术方案实现:利用虚拟的服务器集群系统内置的负载均衡软件配置主从设备模式,将一个原始任务分解为若干个语义等同的子任务,访问请求高效转发至反向代理服务器,将访问请求分发至Web应用服务器;采用数据库集群模式缓存常用数据;配置Mysql数据库集群为Master/Slave模式,提升数据库高并发访问应对能力;基于Java的压力测试工具模拟大规模高并发场景下的压力测试,优化Web应用服务器和JVM参数设置;建立索引、调整数据库日志文件方式、优化查询语句进行数据库操作语句优化,进而优化数据库。进而优化数据库。进而优化数据库。

【技术实现步骤摘要】
高并发访问下的Web性能优化方法


[0001]本专利技术涉及大数据技术和分布式
,具体的说是高并发访问下的Web性能优化方法。

技术介绍

随着世界迈入大数据时代,人们在经济、科研、生活等领域不断交叉融合,催生了海量数据,对Web应用的高并发访问已成为常态。大规模用户并发访问Web应用时,短时间内会生成大量的访问请求,对服务器产生巨大压力,如Web应用未经优化,很容易导致请求响应时间超时、服务器或数据库工作负载过高,甚至系统宕机,影响业务和服务的正常运行。数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。大型网站都有复杂的应用,这些应用必须使用数据库,在面对大量访问的时候,因为海量数据导致了访问的缓慢,容易造成高并发问题的严重性,又因为数据库一般是web访问的瓶颈,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是需要使用数据库集群或者库表散列。由于记录被切分到不同的库和不同的表中,难以进行多表关联查询,并且不能不指定路由字段对数据进行查询。且分库分表后需要进一步对系统进行扩容(路由策略变更)将变得非常不方便,需要重新进行数据迁移。当数据库的写压力增加,cache层(如Memcached)只能缓解数据库的读取压力。读写集中在一个数据库上让数据库不堪重负。数据库分表能够解决单表数据量很大的时候数据查询的效率问题,但是无法给数据库的并发操作带来效率上的提高,因为分表的实质还是在一个数据库上进行的操作,很容易受数据库IO性能的限制。
[0003]在Internet快速发展的今天,用户通过网络获取大量的信息,用户对Web应用系统的响应速度上升到更高需求。如在高校的网上选课,热门站点等突发访问量大,造成Web服务器负载过重。若某个页面多余发了100个字符的垃圾HTML代码,那1万人每天访问100次,会造成100
×
100
×
1万个字符的多余网络资源被浪费。提高数据库高峰时访问的并发能力,通常需要有非常良好的网络带宽,若有上万人同时录入数据的普通的Web信息系统,至少需要10M左右的网络带宽,而且各地的网络情况都不太一样,有的地方录入数据时可能会遇到网络非常缓慢的情况,甚至到无法忍受的程度。并且不能所有的数据库都依靠SQL数据库的方式把压力放在数据库服务器上,因为每秒都有可能成千上万的人在访问,若是质量不良好的数据库访问组件、或者不稳定的数据库访问组件,更容易导致系统崩溃、或者占用非常庞大的内存,最后容易导致整个系统的崩溃。由于有索引和没索引的性能差距有时候会是100倍,大数据量时可能会达到1000倍,数据库索引优化到极致,更容易得到运行顺畅的信
息系统,因此需要进行数据库索引优化。由于高并发,并且有些单据是需要同时写入多个表,需要保证数据库的一致性,要么全部成功,要么全部失败重新录入数据,所以需要一个高效的数据库事务处理机制的配合。所有的系统的操作日志、异常信息都需要完整的记录下来,当系统发生一些故障时,可以快速排查问题,对正确诊断系统发生的故障的原因做分析参考用。同时需要经常检测系统的各项指标、例如各服务器的内存使用情况、CPU使用情况、网络带宽使用情况,高峰时的各个参数是什么情况、系统不繁忙时的情况等,若服务器负载过重,就得马上增加负载均衡的服务器,或者网络带宽资源等等。大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在以下几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web服务器。这几个解决思路在一定程度上意味着更大的投入。大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以尽可能使网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,则无法全部手动去逐个实现。在大型网站开发和设计过程中,非常需要考虑网站的并发访问问题。解决网站的高并发,归根结底就是设法提高网站的访问速率。

技术实现思路

[0004]为了解决大型网站的访问量大、并发量高、海量数据的问题,本专利技术针对现有业务需求和技术发展不足之处,提出了一种能够避免大量的数据库访问请求,可以降低提供页面访问请求的服务器系统压力,并且可以保证系统在高并发访问下继续可用的Web性能优化方法,以提升Web应用在高并发访问场景下的高可用能力。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种高并发访问下的Web性能优化方法,其特征在于,包括如下步骤:利用虚拟的服务器集群系统Linux内置的负载均衡软件LVS配置为主从设备模式Master/Slave,将一个原始任务分解为若干个语义等同的子任务,主从设备模式Master/Slave将访问请求高效转发至高性能的HTTP和反向代理服务器Nginx;Nginx启动后以后台程序daemon形式在后台运行;Nginx将访问请求分发至Web应用服务器,在Linux下采用分布式集群模式配置Nginx,Nginx缓存JavaScript脚本、层叠样式表CSS文件、图片等静态资源数据,通过缓存静态资源数据直接快速响应请求;利用分布式内存对象缓存系统Memcached内存库缓存常用数据,在Linux下采用分布式集群模式配置Memcached,缓存身份认证、系统配置信息以及查询数据库的业务数据,通过缓存常用数据直接快速响应请求;在Linux下搭建一个主从设备模式Master/Slave的MySQL集群,实现数据库的读写分离,Master库通过SQL日志方式向Slave库同步数据,Web应用服务器根据结构化查询语言SQL语句判断操作类型,存取数据以及查询、更新和管理关系数据库系统,向Master主数据库写数据,从Slave从数据库读数据,实现Master

Slave同步;基于Java的压力测试工具JMeter工具模拟大规模高并发场景下的压力测试,压测过程中使用JDK自带的JConsole可视化工具实时监测跨语言的平台JVM虚拟机性能;通过建立索引、调整数据库日志文件方式、优化查询语句等进行数据库操作语句优化,进而优化数据库。
[0006]一种高并发访问下的Web性能优化方法,其特征在于,包括如下步骤:本专利技术与现有技术相比,具有如下有益效果:
本专利技术利用虚拟的服务器集群系统Linux内置的负载均衡软件LVS配置为主从设备模式Master/Slave,将一个原始任务分解为若干个语义等同的子任务,主从设备模式Master/Slave将访问请求高效转发至高性能的HTTP和反向代理服务器Ng本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高并发访问下的Web性能优化方法,其特征在于,包括如下步骤:利用虚拟的服务器集群系统Linux内置的负载均衡软件LVS配置为主从设备模式Master/Slave,将一个原始任务分解为若干个语义等同的子任务,主从设备模式Master/Slave将访问请求高效转发至高性能的HTTP和反向代理服务器Nginx;Nginx启动后以后台程序daemon形式在后台运行;Nginx将访问请求分发至Web应用服务器,在Linux下采用分布式集群模式配置Nginx,Nginx缓存JavaScript脚本、层叠样式表CSS文件、图片等静态资源数据,通过缓存静态资源数据直接快速响应请求;利用分布式内存对象缓存系统Memcached内存库缓存常用数据,在Linux下采用分布式集群模式配置Memcached,缓存身份认证、系统配置信息以及查询数据库的业务数据,通过缓存常用数据直接快速响应请求;在Linux下搭建一个主从设备模式Master/Slave的MySQL集群,实现数据库的读写分离,Master数据库通过SQL日志方式向Slave库同步数据,Web应用服务器根据结构化查询语言SQL语句判断操作类型,存取数据以及查询、更新和管理关系数据库系统,向Master主数据库写数据,从Slave从数据库读数据,实现master

slave同步;基于Java的压力测试工具JMeter工具模拟大规模高并发场景下的压力测试,压测过程中使用JDK自带的JConsole可视化工具实时监测跨语言的平台JVM虚拟机性能;通过建立索引、调整数据库日志文件方式、优化查询语句进行数据库操作语句优化,进而优化数据库。2.如权利要求1所述的高并发访问下的Web性能优化方法,其特征在于:后台进程包含一个master进程和多个worker进程。...

【专利技术属性】
技术研发人员:杨阳马杰宏罗仕龙杨刘马潇
申请(专利权)人:西南电子技术研究所中国电子科技集团公司第十研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1