9475622 发表于 2018-8-20 17:19:01

2018用纯软件的方式提高中小型企业网站服务器响应速度的一个方案

  [摘要] 本文提出了一个用纯软件的方式提高WEB服务器响应速度的方案,该方案具有硬件投入费用低、安全、高效等优点,并且通过与常用方案的比较阐述了其原理和应用前景。
  [关键词] PHP网络编程语言 Mysql数据库 APACHE网站服务器 免费的UNIX操作系统
  
  一、引言
  
  我们架设一个在UNIX服务器上运行的基于APACHE WEB服务器的网站时,出于对提高WEB服务器反应速度的考虑,产生了一个大胆的方案,但是基于系统安全性和稳定性的考虑,最后没有使用该方案。然而,我们认为这个设想对于提高WEB服务器的反映速度有很大的作用,如果能够用一定的时间做出一套基于这个设想的完整方案,将会大大提高WEB服务器的反映速度。现在我们已经用PHP脚本语言基本实现了这个方案。
  
  二、方案的由来
  
  这是一个关于旅游的综合性网站,包括旅游景区、景点信息、各地的宾馆饭店、民间特产、民风民俗等。根据用户的要求分为3个功能模块:后台数据库管理模块,前端显示模块,注册用户管理模块。注册用户可以在任意时间、地点登陆网站反映最新的景区动态。
  由于整个网站基于MYSQL数据库,网页中的所有媒体信息包括文字、图片、视频文件等都存储在数据库中,当浏览者访问时,所有的页面都动态生成,风格和样式用PHP程序控制,所以WEB服务器的响应速度会很慢。怎样解决此问题?笔者当时正在研究PHP的一组文件操作函数,并且想编写一个关于文件操作的类,于是设想是否先生成一个静态页面,准确的说是生成一个文件夹,包括一个HTML文件,页面中嵌入的图片和视频文件,然后将HTML文件的路径存入MYSQL数据库。这样用户请求的是静态页面,一次生成可以让用户无数次访问,而不是用户访问的时候每次临时生成。这既可以减轻MYSQL数据库的负担,又可以提高WEB服务器的响应速度。于是提出了基于此原理的方案,详见原理图1;目前大部分网站所使用的方案详见原理图2。其中椭圆和圆代表对象或群体,矩形代表功能模块。
  
  三、此方案的原理
  
  比较原理图1和图2,可以发现图1比图2多了一个“文件”对象,这是两种方案区别的关键,该文件对象实际是大数据块,如图片、大量的文字、视频等载体。已注册用户登录后,他们将景区信息如文字、图片、视频等提交到服务器,用户管理模块将这些数据生成相应的文件存储到相应的目录下,同时生成一个固定风格的页面,并将对应的目录转换为网络路径后存储到MYSQL数据库中。其中生成的网页中显示了相应景区的图片、文字、视频等。显示模块只要在数据库中调用相应的路径就即可。后台管理模块主要提供给网站管理人员使用。
  
  四、常用方案和此方案的比较
  
  出于安全性的考虑,大部分网站使用的都是第二种方案,然而第一种方案我们至今还没有找到攻击它的方式。下面分几个方面来比较这两个方案。
  费用比较:要达到相同的响应速度,在硬件方面方案2要比方案1付出几倍甚至更多的资金。方案1的软件编写比方案2难度更高,不过总体来讲方案1比方案2的总投入少的多。
页: [1]
查看完整版本: 2018用纯软件的方式提高中小型企业网站服务器响应速度的一个方案