Linux部署高并发WEB服务器性能优化策略

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:anxbbs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文以MOODLE平台为例,对教学资源平台进行性能优化及本地化实践研究,目的是为了搭建一个典型的LNMP应用,为智慧校园实践项目,提供一个实用和完善的测试环境,同时了解系统的测试和优化的全过程。形成相对成熟的配置方法,为类似项目提供参考,提升理论研究水平、共享平台建设经验。
  關键词:Linux;服务器;高并发;性能优化
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2019)31-0019-02
  本研究来源于江苏省教育科学研究院2018年度智慧校园专项课题,教学资源平台性能优化及本地化实践研究——以MOODLE平台为例,项目的目的是为了在职业院校中实施部署MOODLE教学资源平台环境,搭建一个典型的LNMP应用并进行性能优化,让MOODLE平台既可用于智慧校园内部的教育教学,也可以用于数字化教学资源的本地化。在本次研究中,希望能够在涉及的各项性能测试项目中,提供一个较实用和完善的测试环境,了解系统的测试和优化的整个过程。平台的测试优化数据和分析结果也可以为类似项目提供参考,形成相对成熟的配置模式,使得将来的技术理论提升和平台建设经验共享成为可能。
  1平台性能优化概况
  一般来说,平台性能优化的内容包括三个方面:客户端优化、网络性能优化和服务器端性能优化。从服务器端来说,又可以分为操作系统、WEB应用、数据库、PHP引擎及应用平台性能优化。基于性能测试优化的重要性,对于大量构建在基于LNMP构架上的系统,究竟性能如何以及如何优化,成了一个在理论研究和实践项目中都十分重要的课题。本研究限于篇幅,在服务器操作系统上选择Linux发行版Debian 9.9版本,重点对虚拟服务器的硬件环境搭配如CPU、内存、硬盘的选择等方面来优化。
  在服务器操作系统及平台应用的选择上,选择当今能与J2EE和.Net齐名的web服务典型架构LAMP。LAMP通常是指由在Linux操作系统安装Apache,加32 Mysql数据库、PHP脚本语言来搭建Web服务器,考虑到本项目场景实施,要求并发连接数高,性能要稳定,运行又稳定成本要低,所以本项目中使用Nginx替代Apache作为WEB服务即LNMP,两者互有优劣,Nginx处理静态文件速度快而且消耗资源少,性能可靠及使用范围广。由于以上软件全部开源,彼此相互独立,由于在使用上有默契,经常的作为配套软件来配合使用。在互联网已知数据的网站中,有超过半数的流量基于LAMP或者LNMP架构;包括百度、腾讯、新浪等多家全球著名的网站。LNMP架构流行的关键因素可以归纳为:搭建简单、安全稳定、低成本和扩展性良好等,其应用范围也从简单和小型的应用扩展到复杂、大型的系统应用。
  LNMP的性能优化分为:(1)Linux系统的优化;(2)Nginx配置事件驱动架构;(3)使用加速器优化PHP,优化缓存;(4)对Mar-iaDB数据库服务器优化。在各项准备工作完成的基础上,具体研究工作包括:结合LNMP架构原理,分析架构优化具体实施步骤;选择MOODLE平台作为典型应用完成测试环境搭建,完成平台搭建和构建准备对测试环境的性能测试及相关分析;使用测试工具AB实施对LNMP架构系统的性能测试研究。
  2平台性能优化配置过程
  本研究涉及的测试环境搭建,基于职业院校对性能测试环境搭建的要求,技术上首先深入学习并理解LNMP架构的原理和性能测试和优化的相关技术,完成技术和知识的积累。为了搭建一个可以为学校业务提供支撑的测试环境,还要学习基于LNMP架构的性能测试分析,为平台性能优化找到人手点。在此基础之上,针对学校的情况在硬件环境上实施了平台的搭建工作。在完成测试环境的搭建之后,还需要对测试工具AB关键技术进行了深入研究,接着将MOODLE平台作为测试环境的真实环境进行了全面的测试和运行,并列出了全面的数据和测试结果的分析,包括测试的配置和设置和对应的实际意义。性能测试研究不仅让我们深入理解了性能测试的过程,更将性能测试的意义和进一步的系统优化联系了起来,将测试环境的性能表现列举了出来,为测试环境的性能优化打下了基础。
  本项目在经过研究和学习相关文档之后,根据项目的需要,首先确定了平台、测试工具,需要完成的基本工作,设计了实施方案,并确定了目标方向。本次性能测试和优化项目的LNMP架构是搭建是构建在笔记本(配置为15-6500U 8G)、普通Pcf配置为15-4590 16G)上,服务器采用HP ProLiant BIA60G9虚拟平台(配置为E5-2640V3 128G),虚拟机中的操作系统及平台软件采用的是Debian 9、Nginx 1.10.3、Maria DB 10.1.38、PHP 7.0.33;应用平台采用MOODLE 3.4.8来完成。LNMP架构基本构建和应用平台搭建,后期使用Apache Bench软件工具中的AB组件进行相关测试。测试过程中重点关注了Requestsper second参数,RPS吞吐率fRequests per second),缩写RPS。计算公式:Requests per second=Complete requests/Time takenfor tests,即吞吐率=总请求数/处理这些请求的总计完成时间。吞吐率是服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。首先选择一个固定参数,然后修改相关参数,重启服务器系统,重复执行ab-c100-n1000 URL命令,其中参数c为并发连接数(The number of concurrent connections)是服务器某个时刻所接受的请求数目,也就是某个时刻所接受的会话数目。参数n为并发用户数(The number of concurrent users,ConcurrentLevel)是指服务器某个时刻所能接受的用户数,一个用户可能产生多个会话,所以并发用户数和并发连接数并不重复。重复执行15-20次,记录有效数据10次,去掉偏离最大的高值和低值,获得该硬件配置的RPS数据。其次修改参数,再进行一轮测试,记录数据做对比研究。   1)在笔记本中测试内存及CPU核数对平台性能影响
  用于测试的笔记本配置为17-6500U的CPU、4G*2内存、SSD硬盘、操作系统WINDOWS 7,安装虚拟机版本为VMl4。虚拟机配置的内存分别为512M、lG、2G三种,CPU分配的核心1C、2c、4C、2*2C分别代表CPU的内核数量为一核、两核、四核和CPU两核。每次测试都是在修改虚拟机硬件配置后并重启操作系统,测试13-20次,记录有效的RPS数据。
  配置分别为:512M 1C、512 2C、512 4C、512 2*2C、1G 1C、1G 2C、1G 4C、1G 2*2C、2G IC、2G 2C、2G 4C、2G 2*2C,测得RPS值为:38.99、67.56、82.53、78.07、39.28、66.31、83.23、77.41、39.11、65.95、81.46、73.06。
  从以上测试对比中可以看出:(1)CPU的内核数增加提升了系统性能,两核比一核明显提升约80%;四核比两核提升约25%。在同等配置下核数增加过程中,內核数量对性能提升有重要意义。(2)内存数量从512M、1G到2G,对系统性能提升基本没有影响,甚至数据在正负误差范围内。(3)在四核心CPU对比中,单CPU四核比双CPU两核性能高5%。
  2)在PC中测试网络环境对平台性能的影响
  用于测试的PC配置为15-4590的四核CPU、8G*2内存、SSD硬盘、操作系统WINDOWS 7,安装虚拟机版本为VMl4。配置虚拟机的内存分别为512M、2G、4G、8G四种,CPU分配的核心数量分别为一核、两核、四核和2*2核。本机表示在虚拟服务器的本地进行AB测试,网络表示从局域网内其他终端进行AB测试。每次测试在修改配置后测试,记录有效数据。
  硬件配置为512M 1C、2G IC、2G 2C、4G 2C、4G 2*2C、4G 1*4C、8G 2*2C、8G 1*4C,本机测试为54.42、60.39、83.39、86.33、108.13、108.17、110.04、109.23网络测试为47.15、51.74、81.43、84.28、105.69、104.22、106.46、107.57。
  从测试数据对比中可以看出:(1)CPU的内核数增加提升了系统性能,内存数量对性能提升影响不大。(2)网络对于虚拟机的平台性能有影响,局域网内部使用性能下降大约10%,内存配置大(4G或者8G)影响小一点,数据显示约为5%。
  3)在服务器中测试硬盘及内存对平台性能的影响
  用于测试的HP刀片服务器配置为E5-2640 v3的八核CPU、16G*8内存、SSD硬盘、虚拟化平台为VM ESX16.5,安装虚拟机版本为VMl4。配置虚拟机的内存分别为8G、16G、32G、64G、128G五种,CPU分配的核心数量分别为2*2核、2*4核、1*4核、1*6核和2*3核。每次测试都是指定程式记录数据。
  配置第1组为8G 2*2、8G 2*4、16G 2*2、16G 2*4、32G 2*2、32G 2*4、64G 2*2、64G 2*4,RPS值分别138.22、124.14、146.13、127.35、141.90、128.32、151.20、130.63;配置第2组128G 2*2、128G 2*4、16G 2*2、16G 2*2、16G 1*4、8G 1*4、8G 2*3、8G 1*6,RPS值148.29、130.05、146.39、138.82、189.24、180.18、128.81、127.24。
  从以上测试对比中可以看出:(1)刀片服务器CPU的性能比PC强劲,所以同样配置情况下性能有提升。(2)CPU的内核数量从2*2C、2*3C、1*6C到2*4C这个顺序看,性能提升有限。内存即使扩大到64G和128G,系统平台性能也没有很大变化。(3)在四核心CPU对比中,单CPU四核即1*4C配置性能最强,比其他核数量性能高至少25%。
  3平台性能配置优化总结
  综上研究所得,如果在虚拟服务器中实施部署LNMP应用MOODLE平台,推荐使用8G或者16G内存,CPU的核心选择1*4C,使用SSD硬盘作为存储环境,这一组合是对MOODLE平台的应用来说性价比较高,其AB测试的主要结果RPS值最高可达189T/S,即使在局域网中使用性能下降5-10%,也可以满足200人以上的实时并发。如果使用更大内存比如32G或者64G,将所有数据全部装入内存运行,应该可以具有更大的适用范围和应用前景。
  基于LNMP的测优化还有其中各组件的分别优化。LNMP组件中Nginx的配置优化;对PHP的设置,操作码缓存以及优化;基于Mafia DB数据库的查询,包括缓查询和查询缓存优化等,对MOODLE平台的性能都有影响,可以作为下一步研究的重点。总之,本研究在性能最优理论指导下,对设备硬件配置对平台性能的影响进行了充分对比研究,使得应用平台的系统性能得到有效提升,做出了一次有益的尝试。
其他文献
在信息迅猛发展的21世纪,一系列挖掘算法不断改进,使之体系结构更加科学化。在庞大的挖掘算法体系结构下,分类算法的研究应用于多种领域,但目前少有对车险行业的科学研究。下
当前社会互联网技术、信息技术的高速发展,改变了人们的生活、消费方式,从而促使电子商务行业的快速发展,从一定程度上提升电子商务专业人才的需求,而人才培养的重要机构在于
随着信息化的普及和发展,花店产业面对活跃的市场、大量的需求,以往的线下产品展览已经不能满足多变的市场需求,为使产品更加贴近市场、满足消费者需求,开发一款网上花店销售
在实现IEEE 802.11ax目标唤醒机制的基础上,进行了一定的完善和改进,提出一种分组的节点接入方法。首先接入点对设备进行分组,然后通过目标唤醒机制,公平分配每一组的传输时
计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,可以进行数值计算,又可以进行逻辑计
我国现阶段对于对于高等教育领域的人才重视达到了前所未有的程度,所以各个高校对于人才的培养也变得越来越严格且都采取了新的教学方法的改革。电子信息专业作为一门极具现
随着当前信息化时代的到来,公文管理工作的开展过程中,要注重采用信息化的方式,提升公文管理的质量和效率。本文先就公文管理中OA系统应用价值进行阐述,然后就系统设计和应用
摘要:现代通信技术,计算机网络技术的飞速发展,数字化、信息化与人们的生活息息相关。智能新技术的广泛应用,使各个行业都在朝信息化方向发展。尤其是高校图书馆的管理,在使用了图书管理系统智能技术之后,更加促进了高校图书馆的信息化发展。图书馆管理系统合运用了管理科学、系统科学、运筹学、统计学、计算机科学等学科的知识。  关键词:智能图书馆;Internet;系统分析;数据库;关系模式;数据设计  中图分类
摘要:目前,各种应用程序与应用工具不断被开发出来,并在数据库访问系统当中得到了应用。这其中VB编程开发技术可以为数据库的应用提供强大的支持,同时还可以对外来的数据库进行操作,适用性比较强。数据库最大的特点在于高效与合理,而在设计和使用数据库访问技术的时候,需要借助于VB编程开发,这是使用计算机语言进行编程的重要环节。基于此,本文从数据库访问技术在VB编程开发应用的主要技术出发,探究了数据库访问技术
摘要:在计算机普及的现在,仍有着一定数量的人们不懂如何使用计算机,且现今计算机操作的步骤繁多,暂时找不到一种人机交互的简单方式,现市场上也出现了用于提高人机交互效果的软件,但是,均存在功能不完善、设计不够人性化等问题,该文将介绍计算机云端助理的研究与设计,帮助更多的用户轻松愉快的使用计算机。  关键词:精简操作;人机交互;语音操作  中图分类号:TP311 文献标识码:A  文章编号:1009-3