当前位置: 首页 > java >正文

动态发布站点的并发访问升级简易方案

问题:
    asp/php等动态建站,往往出现访问量较大后出现网站访问故障问题,问题在哪呢?
    通常网站有新闻栏目,假设一个网站新闻栏目建立在/news/目录下 ,通常都有一个显示某条纪录的item.asp?id=1234,用户访问某个连接时候,往往调用这个动态脚本文件,进行打开数据库连接、查找纪录。。。等一系列动作。并发10个人没问题,100个、1000个问题就来了,导致服务器压力增大。

    但实际上,由于ID为1234文章在你发布的时候,内容已经确定,所以基本上A用户访问跟B用户访问时候做的是同一个动作,内容也是一样,但是却有N次数据库打开读取动作。一般情况下,数据库操作属于高消耗系统资源的操作。

思路:
     知道此原因,我们可以读一次数据库,然后将读取得内容存储为静态页面,以后的访问读取此静态页面。这是提高站点并发访问的基本措施。一台普通的PC服务器处理静态页面访问,一天可以达到700W 此请求。
但是,可能很多站点已经在设计时就属于动态建站考虑,所以包括连接、导航等依赖于动态模式,全部改成类似新浪、搜狐等静态发布模式不恰当,所以需要在不改变整体站点访问结构上进行调整。

具体方案:
    对类似 /item.asp?ID=1234 这样的asp程序进行以下修改:
    1、拷贝一份这样的文件,假设名为item_bak.asp
    2、将Content.asp代码首处做以下修改:
        ID=request("ID")
        txtfile="Item_" + cstr(ID)+".htm"
        if FileExist(txtfile) then
        else
           GenHTML(txtfile,"Item_bak.asp?id="+cstr(ID))
        end if
        response.redirect txtfile
        response.end
       其中函数FileExist为判断 txtfile文件是否存在于服务器上,函数GenHTML为 利用xmlhttp服务器端组件将读取item_bak.asp?id=1234的文件的html内容后写在服务器上的当前目录。

       这样,每一篇文章就会仅被读取数据库一次,然后之后所有的访问都被定向到静态html文件,缓解服务器压力。

总结:
    唯一的不足是会增加硬盘空间需求。
     但是基本上不会造成连接混乱,严守原来布局。

http://www.xdnf.cn/news/11142.html

相关文章:

  • 网工配置命令基础总结(2)----VRRP配置
  • 魔兽世界台服被大陆玩家挤爆
  • STM32单片机——看门狗(独立看门狗窗口看门狗)
  • Ajax的使用(详解)
  • linux命令、vi命令、vim命令、shell语法(完整详细)
  • Notepad++ 下载与安装教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)
  • 有哪些靠谱的短链接服务?主流大平台短链接优劣对比分析
  • 不知道怎么下载原版系统,这几个原版系统下载网站可以帮你
  • install 命令用法详解
  • Android NDK开发(一)环境搭建及运行示例
  • 货代专业术语中英文对照
  • Sim3求解
  • @PersistenceContext和@Resource
  • 越狱第一至五季/全集迅雷下载
  • 三勾java商城-java多用户商城系统-SaaS多套部署商城
  • 最全Eclipse安装和配置环境教程(图文详解)
  • 在电脑上如何设置提醒?电脑如何设置待办事项提醒?
  • 网页中常见的元素有哪些
  • 汇编入门基础
  • 史蒂夫·乔布斯(简介)
  • 【渝粤教育】广东开放大学 机械制造基础 形成性考核 (55)
  • Active Directory的DirectoryEntry与DirectorySearcher初识及Filter语法
  • java丝袜_丝袜哥 --- swagger的使用
  • 分享86个鼠标特效,总有一款适合您
  • 在Servlet中使用开源fileupload包实现文件上传功能
  • 黑客常用的暴力破解工具hydra使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
  • netmeeting的使用(详解)
  • matlab函数wgn,awgn用法整理
  • 运算放大器参数详解
  • 日撸代码300行:第11天