首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网站速度测试。gzip有问题吗?

网站速度测试。gzip有问题吗?
EN

Stack Overflow用户
提问于 2011-05-14 09:27:47
回答 2查看 417关注 0票数 3

我即将在我们的web应用程序中实现一个internet连接速度测试。没有要求它必须是一个非常高级的特性,所以我开始使它尽可能简单。

这样做的目的是从HttpHandler中获取一些数据,看看需要多长时间,然后根据数据量和时间计算速度。我认为最好是发送10包数据,扔掉最高和最低的时间,然后计算平均时间。

我的HttpHandler:

代码语言:javascript
复制
public class SpeedTest : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        var Response = context.Response;

        FileInfo file = new FileInfo(@"C:\dev\Project\****\trunk\Application\1mb.txt");

        if (file.Exists)
        {
            Response.Clear();
            Response.AddHeader("Content-Length", file.Length.ToString());
            Response.WriteFile(file.FullName);
            Response.End();
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

这里是我的jquery代码,它添加了按钮并显示了一个对话框,我将在其中显示结果等等。

代码语言:javascript
复制
$(document).ready(function () {
$('<a href="#">Speedtest</a>').prependTo('#HeaderInfoBarRight').button({
    text: false, icons: { primary: "ui-icon-clock" }
})
    .click(function () {
        var dialog = $('<div></div>').dialog({
            autoOpen: false
            , title: 'Speedtest'
            , modal: true
            , width: 'auto'
            , resizable: false
            , height: 'auto'
            , minHeight: 50
            , close: function () {
                $(this).dialog('destroy').remove();
            }
        });
        var html = '<div>To start the test click below.</div>' +
            '<a href="#">Start test</a>';
        dialog.html(html).dialog('open');
        dialog.find('a').button({ text: true })
        .click(function () {
            var startTest = new Date();
            $.post('SpeedTest.ashx', {}, function (result) {
                var endTest = new Date();
                //Calculate time
            });
        });
    });

});

文件1mb.txt是通过windows中的命令提示符创建的,如下所示:

文件创建新c:\temp\1mbfile.txt 1048576

文件正好是1mb。现在是问题所在。例如,当我在firebug中检查响应时,它的大小只有8.8kb。这怎麽可能?是GZIP压缩吗?如何将1mb文件压缩到8.8kb?是因为当您用fsutil创建一个文件时,数据是重复的吗?

我寻找的解决方案是一种强迫它不压缩的方法(如果这是问题所在),这有可能吗?我找不到一种方法来设置正确的标题不压缩。

如果这是一个压缩问题,而且没有什么可做的,我是否可以检查响应大小,并始终指望它在所有环境中都是相同的大小?

任何其他想法都是受欢迎的。此外,在一般情况下,如果有类似的想法,如何实现速度测试的想法。

EN

回答 2

Stack Overflow用户

发布于 2011-05-14 09:40:13

是的,这可能是gzip压缩问题。fsutil file createnew创建一个由零组成的文件,因此它当然会非常有效地压缩。

可以使用费德勒 web调试代理来验证您的web服务器是否正在使用压缩,本文中介绍了这一点:IIS 6和IIS 7中的HTTP压缩

票数 1
EN

Stack Overflow用户

发布于 2011-06-29 09:39:49

这绝对是压缩问题。作为一种我没有尝试但我认为应该有效的解决方法,请将生成的文件的扩展名更改为Gzip将避免的内容(例如: mp3),然后再试一次测试,看看它是否再次被压缩。

告诉我发生了什么,谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6000946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档