原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因

很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释?
  用户抱怨服务器运行缓慢,w3wp.exe 出现 CPU 100%,每个网管都可能遇到?!是用户自己 ASP / PHP 程序设计有问题,还是服务器是问题,还是电信、网通、铁通互相访问太慢。经常是各说各有理,也扯不清,道不明,往往是以客户流失,更换空间商而结束,最后空间商与用户都是输家。
  我的网站首页才50KB,打开网页用了近60秒才打开?
  这个问题很难解释清楚,可能越解释越复杂,面对专业术语,客户以为你在推卸责任(秀才遇到兵有理说不清?)。
  因为客户根本不想听你解释,只想让网站访问更“快”。如何加快访问?让客户随时自己能“监控”到网站的状态,实时“看到”网站的状态?

首先,我们看看自己电脑与服务器之间的速度
  我们先下载一个Mozilla Firefox浏览器(火狐浏览器),下载地址 http://www.mozillaonline.com 然后再下载一个名叫Firebug的“Firefox 附加组件扩展”,下载地址 https://addons.mozilla.org/zh-CN/firefox/addon/1843/ 。

  安装Firebug浏览器插件后,在火狐浏览器的“工具”菜单里打开Firebug插件。


  同时在Firebug插件的“网络”菜单里选择“禁用浏览器缓存”的选项。
  假设我们访问 http://www.sina.com.cn 新浪网站,看到了吗,我们打开这个网站后,同时也打开了很多的Flash动画 SWF、 JPG、JS|、CSS文件,每个文件的下载时间、文件大小、传输速度都可以看到。

  
  这里的速度显示了你与服务器之间的速度,以及下载网页所需要的时间。如果JPG图片、SWF动画很大,需要很多的时间“下载”,自然打开网站就慢了。

  理论上,网页越简洁,打开速度越快。像 http://www.google.com  http://www.baidu.com 等网站,只有一些文字,几乎没有什么图片,打开速度就非常快,基本是“一闪就打开”。
  Firebug 显示了自己电脑与服务器之间的网络传输速度。受(1)是否开启GZIP压缩(2)ADSL的速度(3)服务器带宽(4)是否网间访问,如电信ADSL访问网通服务器网站等因素的影响。理论上ADSL速度越快,服务器带宽越高,那么互相访问的速度就越快。两者缺一不可。

其次,服务器上的ASP、PHP程序文件执行时间怎么监控呢?
  刚才通过Firebug显示的速度是网络传输速度和时间,但是无法直接看到服务器里ASP文件执行的时间,即无法看到这个ASP程序执行了多少时间,怎么找出有死循环的ASP页面?
  服务器CPU运算速度怎么看呢?有一个简单的办法,就是上传一个ASP论坛,比如动网ASP论坛,论坛的每个页面下面都有一个脚本执行时间。这个反应了每次打开ASP页面,服务器脚本执行的时间。可以简单看出服务器的运算速度。如果这个时间很小,一般零点零几秒,服务器执行速度很快,可以排除服务器自身问题。
    对于其他ASP网站,没有动网论坛这样的显示脚本执行时间功能,怎么办呢?我们可以在 http://www.zcnt.com 下载一个《智创网站专业级防火墙》通过防火墙的“IIS运行监控”功能可以监控到IIS里的ASP文件执行时间和情况。如下图所示,可以非常直观的看到网站脚本执行情况。代码有死循环、或执行超时可以监控到,对于排查服务器 w3wp.exe 出现 CPU 100%非常有帮助。

开启gzip网页压缩,让网页传输的更快,让客户“一闪就打开”网页。
  我们先来看看什么是gzip压缩,有什么特色?
  如图所示,我们通过第三方的gzip在线检查工具(网址 http://tool.chinaz.com/Gzips/ ),看到  http://www.phpwind.net/read-htm-tid-1187375.html 的页面进过 gzip压缩后从 220K减少到了48K左右。压缩率近78 %。

  开启gzip压缩功能,只需点几次鼠标,成本为零。而且是IIS自带的功能,稳定可靠。比更换为更高级的服务器带来的效果还好。对于国外的空间,国际带宽小,比如3M、5M、10M的国际带宽,开启gzip压缩能可以大大减少传输网页需要带宽。
  这个主要对 HTML、ASP、PHP、NET、CSS、JS等文本网页效果有显著提升。其他 JPG图片、Flash动画等可能已经压缩的了,不需要使用gzip压缩。
  浏览器一般会缓存HTML网页、JPG图片、SWF动画等静态文件,从第二次开始,如果服务器的HTML、JGP、SWF等静态文件没有修改,则直接读取本地浏览器缓存里的文件,而不会从服务器下载,无形中提高访问速度。
  ASP、PHP、NET等程序网页不会被浏览器缓存,仍然会每次从服务器“下载”,所以 gzip压缩就非常关键了,这就是为什么Discuz、PHPWind等论坛推荐开启gzip压缩。开启gzip压缩后,访问Discuz、PHPWind等论坛速度会非 常快。

我们在回头看看,我们访问一个网站会经过哪些步骤?

注:这里主要是讨论服务器环节,其他环节,如类似域名解析速度,减少网页图片数量等不在本文讨论范围之内。本文主要讨论一些关键的因素。

巧妙使用Firebug插件,快速监控网站打开缓慢的原因的更多相关文章

  1. ThinkPHP框架快速开发网站

    使用ThinkPHP框架快速搭建网站 这一周一直忙于做实验室的网站,基本功能算是完成了.比较有收获的是大概了解了ThinkPHP框架.写一些东西留作纪念吧.如果对于同样是Web方面新手的你有一丝丝帮助 ...

  2. (视频)《快速创建网站》 4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术

    本文是<快速创建网站>系列的第10篇(完结篇),如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文.访问本系列目录,请点击:http://devopshub.c ...

  3. (视频)《快速创建网站》 4.1 为啥造软件不同于造汽车,为啥是软件就一定会有Bug - 构建开发运维一体化(DevOps)

    本文是<快速创建网站>系列的第9篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  4. (视频) 《快速创建网站》 3.2 WordPress多站点及Azure在线代码编辑器 - 扔掉你的ftp工具吧,修改代码全部云端搞定

    本文是<快速创建网站>系列的第6篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  5. (视频) 《快速创建网站》 3.1 WordPress 数据导入

    本文是<快速创建网站>系列的第5篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  6. (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介

    本文是<快速创建网站>系列的第4篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  7. (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制

    现在让我们开始一天的建站之旅. 本文是<快速创建网站>系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http:// ...

  8. (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介

    网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...

  9. 在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件

    在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件 开源程序 浏览:29555 2013年05月02日 文章目录[隐藏] 常见的工作流程 SFTP 安装和使用方法 第一步: ...

随机推荐

  1. How to Create a Java Concurrent Program

    In this Document   Goal   Solution   Overview   Steps in writing Java Concurrent Program   Template ...

  2. Eclipse一个打开文件夹目录插件——Open In Explorer

    MyEclipse开发的都常用到其中一个"Open In Explorer"的小插件,可以直接在Windows资源管理器中打开选中文件所在的目录,工具虽小,但我们经常需要用到它 由 ...

  3. 动态字符串 Stringbuilder类

    StringBuilder动态字符串 string 类型的修改会浪费资源,如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类, stringbuild ...

  4. 图片转换成Base64编码集成到html文件

    首先为什么要这么做?  原因很简单这样可以减少与服务器的请求,当然对于一些浏览器并不支持,如IE8.通常用在手机版网站中,具体转化方法如下: 1.在线打开Base64的编码器将图片编码成Base64 ...

  5. 纯CSS设置Checkbox复选框控件的样式

    Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至 ...

  6. HDU 4726 Kia's Calculation (贪心算法)

    Kia's Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...

  7. 基于visual Studio2013解决面试题之0701寻找丑数

     题目

  8. ASP.NET - 上传图片方法(单张)

    /// <summary> /// 上传图片 /// </summary> /// <param name="fileupload">上传的控件 ...

  9. 从头学起android&lt;AudioManager 声音编辑器.五十.&gt;

    我们用android经常使用的时候,手机的声音增大和缩小操作.在设定场景模式,它往往使用静音和振动运行,这通常是AudioManager来控制的. 今天我们就来看一下AudioManager 的使用. ...

  10. mysql 创建函数 error Code: 1227. Access denied;

    mysql> show function status; +------+------------------+----------+------------+----------------- ...