原文 巧妙使用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. Route@简单应用

    路由的简单应用(生成URL) 这篇文章讲的核心问题是利用路由系统生成URL但是我们,但是我们不是仅仅生成URL,我们的超链接的href属性中,我们在跳转的时候,都需要URL,我们要将的就是在这些实际情 ...

  2. ios9 之后 配置百度地图出现的错误

    链接地址:http://blog.csdn.net/u011303663/article/details/48596315 错误 ld: '/Users/xxx/Documents/xxx/Baidu ...

  3. NVelocity 实例

    using System; using System.IO; using System.Collections; using System.Collections.Generic; using Sys ...

  4. 稳定婚姻问题和Gale-Shapley算法(转)

    什么是算法?每当有人问作者这样的问题时,他总会引用这个例子:假如你是一个媒人,有若干个单身男子登门求助,还有同样多的单身女子也前来征婚.如果你已经知道这些女孩儿在每个男孩儿心目中的排名,以及男孩儿们在 ...

  5. Use GraceNote SDK in iOS(二)获取音乐的完整信息

    在需求彻底明朗化,外加从MusicFans转到GraceNote,再从GraceNote的GNSDK转到iOS SDK后,最终完毕了在iOS上通过音乐的部分信息获取完整信息的功能了.(好吧,我承认是相 ...

  6. 关于android多点触控

    最近项目需要一个多点触控缩放的功能.然后上网查了下资料 总结一下: 首先android sdk版本很重要,比如你在AndroidManifest.xml中指定android:minSdkVersion ...

  7. CSS三角形制作样式

    .triangle{ display: block; height: 0; position: absolute; width: 0; border: 9px solid; border-color: ...

  8. Control.Invoke和Control.BeginInvoke

    问题的引入 下面有个简单的demo,大家一看代码就知道效果如何示例.我新建一个winform的程序,然后写入了如下代码: using System; using System.Windows.Form ...

  9. Android 通过广播来异步更新UI

    之前的项目里要做一个异步更新UI的功能,可是结果出现了ANR,所以想写个demo来測试究竟是哪个地方出现了问题,结果发现原来的思路是没有问题,郁闷~~ 如今这个demo 就是模拟项目里面 的步骤 1. ...

  10. 【ASP.NET Web API教程】2.3.4 创建Admin视图

    原文:[ASP.NET Web API教程]2.3.4 创建Admin视图 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. Part 4: ...