zoukankan      html  css  js  c++  java
  • web应用程序性能优化

      web应用程序基本上都是在浏览器地址栏输入一段网站,然后进入,最后浏览器显示你想要的东西。

    这就是用户所能体会到的东西。那作为程序员我们看到了什么呢?

    一次HTTP 请求主要的流程是:

     1、DNS服务器解析域名(浏览器地址栏的地址)获取相应的IP地址、端口号、 服务名。

     2、客户端根据解析后的地址向服务啊发送请求(建立与服务器的联接)。

     3、服务器根据用户的请求信息处理请求,并做出响应。

     4、浏览器更具服务器响应的数据(HTML/css/js)渲染页面。

    那要优化程序性能,作为程序员我们能优化哪里、怎么优化呢。

    第一步:我们没法控制。

    第二步:建立链接更多的是网络问题。我们能做的也不多。

    第三步:服务器处理请求,我们做的就多了。因为我们是程序员吗,我们就是处理用户请求业务的。

             a、处理业务肯定要与数据库打交道,我们可以使用数据源使对数据库的链接做到最优(C3PO、DBCP)

             b、与数据库建立链接后,数据库处理我们的请求,这就要求我们的数据库设计优化、SQL语句的优化。

             c、对数据做缓存处理,有些请求的数据变化不平凡,我们可以对数据做缓存(hibernate的二级缓存 、 ehcache)。

             d、对于一些对数据是实时性要求不高的页面可以做网页缓存(OSCache)

    第四步:浏览器渲染HTML页面,我们都知道一个HTML页面中往往存在大量的脚本(css、js)而,浏览器在渲染页面时遇到每个

               <link rel="t" href" type="text/css">和 <script src=""></script>标签时都会向服务啊发送一次HTTP请求,而每次HTTP

               请求的代价很大,所以我们要 :

              a、尽量减少脚本文件。

              b、尽量使脚本文件变小(压缩后发布使开发版与生产版不同)

              c、对于大量的JS脚本我们可以使用 requeirJs去管理我们的js依赖。

    当然再好的服务器也有一个访问量度,如果用户很多,访问量很大。那就使用多台服务器。也就是所谓的集群

    每天用心记录一点点。内容也许不重要,但习惯很重要!
  • 相关阅读:
    园子一周年
    HTML5本地存储之Web Storage实例篇,最有用的是localStorage
    解析H5本地储存Web Storage
    response.sendRedirect传递参数和转向
    html文件form表单action调用servlet连接mysql数据库实例
    容器List之ArrayList详解
    PageHelper的使用
    可迭代对象、迭代器、生成器
    伪随机数生成器——random模块的用法
    python中的单例设计模式
  • 原文地址:https://www.cnblogs.com/jalja/p/5230177.html
Copyright © 2011-2022 走看看