CN105577558A - 一种提升网站服务器高并发的解决方法 - Google Patents
一种提升网站服务器高并发的解决方法 Download PDFInfo
- Publication number
- CN105577558A CN105577558A CN201510959902.2A CN201510959902A CN105577558A CN 105577558 A CN105577558 A CN 105577558A CN 201510959902 A CN201510959902 A CN 201510959902A CN 105577558 A CN105577558 A CN 105577558A
- Authority
- CN
- China
- Prior art keywords
- website
- server
- data
- layer
- staticize
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提升网站服务器高并发的解决方法,所述方法操作步骤如下:1)数据的静态化、2)特殊数据的分离、3)采用数据库集群散列、4)采用缓存和镜像、5)负载均衡,以解决大量用户访问、高并发请求方面的问题,针对互联网技术的发展,和越来越多的丰富多彩的网络资源,满足对于服务器的需求特别是网站服务器的需求呈现特别快的增长。
Description
技术领域
本发明涉及服务器性能优化技术领域,具体涉及一种提升网站服务器高并发的解决方法。
背景技术
随着互联网技术的发展,和越来越多的丰富多彩的网络资源,公司对于服务器的需求特别是网站服务器的需求呈现特别快的增长。随着今后高度信息化的社会发展,网站在各个领域的使用越来越广泛,面向政府,企业,还有国家的银行业和交通业的应用系统的信息量和用户数都在迅猛增长,网站应用市场就会竞争的很激烈,这样应用系统对网站服务器就提出了高性能的要求。然而,在大规模级的网站服务器应用系统的开发过程中,很多程序员仅关注系统功能的实现,在系统访问性能方面的考虑较少。
一个小型的公司,可以使用最简单的html静态页面去实现自己的主页面,进一步配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断发展,网站相关的技术已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的Web容器,这在一定程度上意味着更大的投入。
发明内容
本发明要解决的技术问题是:本发明提供一种提升网站服务器高并发的解决方法。
本发明所采用的技术方案为:
一种提升网站服务器高并发的解决方法,所述方法操作步骤如下:1)数据的静态化、2)特殊数据的分离、3)采用数据库集群散列、4)采用缓存和镜像、5)负载均衡,以解决大量用户访问、高并发请求方面的问题。
所述数据的静态化,采取的方法如下:
尽可能的使网站上的页面采用静态化的页面来实现;
对于内容量大并且频繁更新的网站,无法全部实现静态化,可以使用信息发布系统CMS,信息发布系统可以实现最简单的信息录入自动生成静态页面;
除了门户和信息发布类型的网站,对于交互性要求很高的网站(如社区类型网站)来说,将该网站的网页(社区内的帖子、文章)进行实时的静态化、有更新的时候再重新静态化。
所述特殊数据的分离,web服务器最消耗资源的是图片和视屏,把图片和视屏与其它页面分离,这样就不会因为图片或者视屏的加载过慢导致系统崩溃,设置应用服务器、图片或视频服务器;
在应用服务器和图片或视频服务器上,进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持、尽可能少的LoadModule,保证更高的系统消耗和执行效率。
所述数据库集群散列,大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列,在数据库集群方面,根据数据库类型,选择相应的解决方案;对于数据库集群的库表散列,oracle和sybase都有自己的很好用的方案,常用的mysql也提供了Master/Slave类似的方案,这完全是受DB类型的限制。
由于在架构、成本、扩张性方面都会受到所采用数据库类型的限制,从应用程序的角度来考虑,采用库表散列改善系统架构,根据应用程序中的安装业务和应用将数据库进行分离,不同模块对应不同的数据库或者表,再按照一定的策略对某个方面或者功能进行更小的数据库散列。
例如将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。
所述缓存和镜像,缓存可以大大提高服务器的访问速度,网站的架构和网站的开发中缓存也是非常重要的;
镜像是提高性能和数据安全性的一种方式,同时解决了不同网络接入商和地域带来的用户访问速度差异;
通过Apache自己的缓存模块,或使用外加的Squid模块进行缓存,这两种方式均可以提升Apache服务器的响应速度;
或者采用Linux上的缓存接口;
对于镜像,可以提高网站的性能和安全性,使用linux提供的rsync。
所述负载均衡采用硬件四层交换和软件四层交换,并且在软件或者硬件四层交换的基础上搭建squid集群,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。
其中,硬件四层交换中,第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理;第四层交换功能就像是虚拟IP,指向物理服务器,它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议,这些业务在物理服务器基础上,需要复杂的载量平衡算法,在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定;
软件四层交换基于OSI模型实现,可以使用Linux上常用的LVS来解决,LVS就是LinuxVirtualServer,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的强壮性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。
本发明的有益效果为:
本发明方法通过综合采用:1)数据的静态化、2)特殊数据的分离、3)数据库集群散列、4)缓存和镜像、5)负载均衡,以解决大量用户访问、高并发请求方面的问题,针对互联网技术的发展,和越来越多的丰富多彩的网络资源,满足对于服务器的需求特别是网站服务器的需求呈现特别快的增长。
附图说明
图1为本发明方法整体框架架结构示意图;
图2为数据散列示意图。
具体实施方式
下面通过说明书附图,结合具体实施方式对本发明进一步说明:
实施例1:
如图1所示,一种提升网站服务器高并发的解决方法,所述方法操作步骤如下:1)数据的静态化、2)特殊数据的分离、3)采用数据库集群散列、4)采用缓存和镜像、5)负载均衡,以解决大量用户访问、高并发请求方面的问题。
实施例2:
在实施例1的基础上,本实施例所述数据的静态化,采取的方法如下:
尽可能的使网站上的页面采用静态化的页面来实现;
对于内容量大并且频繁更新的网站,无法全部实现静态化,可以使用信息发布系统CMS,信息发布系统可以实现最简单的信息录入自动生成静态页面;
除了门户和信息发布类型的网站,对于交互性要求很高的网站(如社区类型网站)来说,将该网站的网页(社区内的帖子、文章)进行实时的静态化、有更新的时候再重新静态化。
实施例3:
在实施例1的基础上,本实施例所述特殊数据的分离,web服务器最消耗资源的是图片和视屏,把图片和视屏与其它页面分离,这样就不会因为图片或者视屏的加载过慢导致系统崩溃,设置应用服务器、图片或视频服务器;
在应用服务器和图片或视频服务器上,进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持、尽可能少的LoadModule,保证更高的系统消耗和执行效率。
实施例4:
在实施例1的基础上,本实施例所述数据库集群散列,大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列,在数据库集群方面,根据数据库类型,选择相应的解决方案;对于数据库集群的库表散列,oracle和sybase都有自己的很好用的方案,常用的mysql也提供了Master/Slave类似的方案,这完全是受DB类型的限制。
由于在架构、成本、扩张性方面都会受到所采用数据库类型的限制,从应用程序的角度来考虑,采用库表散列改善系统架构,根据应用程序中的安装业务和应用将数据库进行分离,不同模块对应不同的数据库或者表,再按照一定的策略对某个方面或者功能进行更小的数据库散列。
例如将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能。
实施例5:
在实施例1的基础上,本实施例所述缓存和镜像,缓存可以大大提高服务器的访问速度,网站的架构和网站的开发中缓存也是非常重要的;
镜像是提高性能和数据安全性的一种方式,同时解决了不同网络接入商和地域带来的用户访问速度差异;
通过Apache自己的缓存模块,或使用外加的Squid模块进行缓存,这两种方式均可以提升Apache服务器的响应速度;
或者采用Linux上的缓存接口;
对于镜像,可以提高网站的性能和安全性,使用linux提供的rsync。
实施例6:
如图2所示,在实施例1的基础上,本实施例所述负载均衡采用硬件四层交换和软件四层交换,并且在软件或者硬件四层交换的基础上搭建squid集群,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。
其中,硬件四层交换中,第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理;第四层交换功能就像是虚拟IP,指向物理服务器,它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议,这些业务在物理服务器基础上,需要复杂的载量平衡算法,在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定;
软件四层交换基于OSI模型实现,可以使用Linux上常用的LVS来解决,LVS就是LinuxVirtualServer,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的强壮性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (6)
1.一种提升网站服务器高并发的解决方法,其特征在于,所述方法操作步骤如下:1)数据的静态化、2)特殊数据的分离、3)采用数据库集群散列、4)采用缓存和镜像、5)负载均衡。
2.根据权利要求1所述的一种提升网站服务器高并发的解决方法,其特征在于:所述数据的静态化,采取的方法如下:
尽可能的使网站上的页面采用静态化的页面来实现;
对于内容量大并且频繁更新的网站,使用信息发布系统CMS,实现最简单的信息录入自动生成静态页面;
对于交互性要求很高的网站,将该网站的网页进行实时的静态化、有更新的时候再重新静态化。
3.根据权利要求1所述的一种提升网站服务器高并发的解决方法,其特征在于:所述特殊数据的分离,web服务器最消耗资源的是图片和视屏,把图片和视屏与其它页面分离,设置应用服务器、图片或视频服务器;
在应用服务器和图片或视频服务器上,进行不同的配置优化。
4.根据权利要求1所述的一种提升网站服务器高并发的解决方法,其特征在于:所述数据库集群散列,其中,在数据库集群方面,根据数据库类型,选择相应的解决方案;
采用库表散列改善系统架构,根据应用程序中的安装业务和应用将数据库进行分离,不同模块对应不同的数据库或者表,再按照一定的策略对某个方面或者功能进行更小的数据库散列。
5.根据权利要求1所述的一种提升网站服务器高并发的解决方法,其特征在于:所述缓存和镜像,其中,通过Apache自己的缓存模块,或使用外加的Squid模块进行缓存,或者采用Linux上的缓存接口;
对于镜像,使用linux提供的rsync。
6.根据权利要求1所述的一种提升网站服务器高并发的解决方法,其特征在于:所述负载均衡采用硬件四层交换和软件四层交换,并且在软件或者硬件四层交换的基础上搭建squid集群,其中,硬件四层交换中,第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理;
软件四层交换基于OSI模型实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959902.2A CN105577558A (zh) | 2015-12-21 | 2015-12-21 | 一种提升网站服务器高并发的解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959902.2A CN105577558A (zh) | 2015-12-21 | 2015-12-21 | 一种提升网站服务器高并发的解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105577558A true CN105577558A (zh) | 2016-05-11 |
Family
ID=55887239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510959902.2A Pending CN105577558A (zh) | 2015-12-21 | 2015-12-21 | 一种提升网站服务器高并发的解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105577558A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210019A (zh) * | 2016-07-04 | 2016-12-07 | 安徽天达网络科技有限公司 | 一种大型高并发web应用系统 |
CN106254544A (zh) * | 2016-09-28 | 2016-12-21 | 乐视控股(北京)有限公司 | 数据访问方法及装置 |
CN106547622A (zh) * | 2016-10-31 | 2017-03-29 | 中国人民解放军91655部队 | 基于计算模块的网络资源态势呈现数据优化处理方法 |
CN108664643A (zh) * | 2018-05-11 | 2018-10-16 | 重庆工商职业学院 | 一种采集数据的分布式存储系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895550A (zh) * | 2010-07-16 | 2010-11-24 | 刘季伟 | 一种互联网网站的兼容动静态内容的缓冲加速系统及方法 |
CN102404390A (zh) * | 2011-11-07 | 2012-04-04 | 广东电网公司电力科学研究院 | 高速实时数据库的智能化动态负载均衡方法 |
-
2015
- 2015-12-21 CN CN201510959902.2A patent/CN105577558A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895550A (zh) * | 2010-07-16 | 2010-11-24 | 刘季伟 | 一种互联网网站的兼容动静态内容的缓冲加速系统及方法 |
CN102404390A (zh) * | 2011-11-07 | 2012-04-04 | 广东电网公司电力科学研究院 | 高速实时数据库的智能化动态负载均衡方法 |
Non-Patent Citations (1)
Title |
---|
CSDN: "WEB高并发解决方案", 《CSDN》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106210019A (zh) * | 2016-07-04 | 2016-12-07 | 安徽天达网络科技有限公司 | 一种大型高并发web应用系统 |
CN106254544A (zh) * | 2016-09-28 | 2016-12-21 | 乐视控股(北京)有限公司 | 数据访问方法及装置 |
CN106547622A (zh) * | 2016-10-31 | 2017-03-29 | 中国人民解放军91655部队 | 基于计算模块的网络资源态势呈现数据优化处理方法 |
CN106547622B (zh) * | 2016-10-31 | 2020-01-17 | 中国人民解放军91655部队 | 基于计算模块的网络资源态势呈现数据优化处理方法 |
CN108664643A (zh) * | 2018-05-11 | 2018-10-16 | 重庆工商职业学院 | 一种采集数据的分布式存储系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | A survey on emerging computing paradigms for big data | |
Ray | An introduction to dew computing: definition, concept and implications | |
JP6062101B1 (ja) | グラフ・データの分散キャッシュ | |
Liu et al. | Gearing resource-poor mobile devices with powerful clouds: architectures, challenges, and applications | |
CN103260050B (zh) | 基于Google App Engine云平台的视频点播系统 | |
CN105577558A (zh) | 一种提升网站服务器高并发的解决方法 | |
AU2016202333B2 (en) | Historical browsing session management | |
Labrinidis et al. | Caching and materialization for web databases | |
CN104506632A (zh) | 一种基于分布式多中心的资源共享系统及方法 | |
CN105187512A (zh) | 一种虚拟机集群负载均衡方法及系统 | |
CN103338252A (zh) | 一种分布式数据库并发存储虚拟请求机制 | |
JP7084691B2 (ja) | 地図上で実時間のソーシャルデータを処理及び提示するための方法 | |
CN103761102B (zh) | 一种统一数据服务平台及其实现方法 | |
CN101631143A (zh) | 负载均衡环境中多服务器系统及其文件传输方法 | |
CN106294870A (zh) | 基于对象的分布式云存储方法 | |
Panigrahi et al. | DATALET: An approach to manage big volume of data in cyber foraged environment | |
Joy et al. | Cooperative caching framework for mobile cloud computing | |
Zhou et al. | Towards traffic minimization for data placement in online social networks | |
CN206149327U (zh) | 一种信息云管理平台及企业信息系统 | |
Wang et al. | An availability-aware approach to resource placement of dynamic scaling in clouds | |
Yi et al. | Job allocation mechanism for battery consumption minimization of cyber-physical-social big data processing based on mobile cloud computing | |
CN107634892A (zh) | 一种Xenserver基于novnc实现控制台的方法及装置 | |
CN105607594B (zh) | 基于智能家居的服务器内存查找设备的方法 | |
Zhou et al. | Gis application model based on cloud computing | |
Dongsheng et al. | Distributed cache memory data migration strategy based on cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160511 |
|
RJ01 | Rejection of invention patent application after publication |