- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在HTTP Requests vs File Size?之前已经问过这种问题,但我希望有一个更好的答案。在该链接的问题中,应答者似乎很好地用了潜伏期+传输时间的精美公式来回答该问题,估计延迟为80 ms,传输速度为5Mb/s。但这似乎至少在一个方面是有缺陷的。在正常的浏览体验中,是否不会同时发生多个请求和传输?这就是我在Chrome中检查“网络”标签时的样子。这不是说请求等待时间不是那么糟糕吗?
还有其他需要考虑的事情吗?显然,延迟和带宽会有所不同,但是80ms和5Mb/s是一个好的经验法则吗?我想到了一个类比,我想知道这是否正确。想象一个火车站只有一条轨道进出一条轨道的情况(或者可能两者兼而有之)。 Http请求就像发送引擎以在另一站获得一堆汽车一样。他们返回时拉着一列长长的火车,代表正在下载的请求文件。这样一来,您可以派出一台引擎,并带回庞大的负载。或者,您可以派出多个引擎,并且每个引擎可以带回较小的负载,当然,它们都必须等待转弯回到站内。而且有些引擎只有在其他引擎进入后才能被发送出去。这是一个有缺陷的类比吗?
我想最大的问题是您如何预测http请求中有多少重叠,这样您就可以知道,例如,在页面上放置两个大的PNG文件还是使用webp图像通常是否值得,以及用于不兼容浏览器的Webpjs js和swf文件。这使请求数量增加了一倍,但文件总大小却减少了一半以上(例如节省了200kB)。
最佳答案
打个比方,总体来说还不错。显然,如果您想在所有方面都做到真正的精确,那么有些事情会被简单化或错误化(但是几乎所有类比都会发生这种情况)。
您对80ms和5mb/s的估计可能听起来合乎逻辑,但是即使我们大多数人都喜欢理论,您也应该以另一种方式处理此类问题。
为了使成为正确的估计,您应该测量以获取一些数据并进行分析。 每种估计都取决于特定的上下文,您不应忽略它。
考虑一下对于3G连接,日本的ADSL连接或技术欠发达的国家/地区的ADSL连接,估计延迟和带宽是不一样的。客户是从世界的另一端访问还是在同一国家/地区访问?就像您对客户端上同时连接的良好观察一样,有数百万个可能的问题要问自己,而几乎没有采取任何措施就可以获得高质量的答案。
我知道我没有完全回答您的问题,因为我认为如果没有这么多有关该域的详细信息(加上限制,等等),这是无法回答的。
您似乎对如何设计解决方案有一些想法。我最好的建议是实现其中每一个并进行概要分析。进行测量,尝试确定您的瓶颈所在,并查看您是否对这些瓶颈有一定的控制权。
在中,某些问题这类问题可能具有最佳解决方案,但在实践中,最佳和次优之间的差异可以忽略不计。
关于optimization - http请求的费用与文件大小的比较,经验法则是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428388/
我正在为一个类(class)项目制作一个 C# 应用程序。我想确保一个字符串具有三个值之一。通常,在网络应用程序中,我会在客户端使用 javascript 进行验证。但是,这目前是一个控制台应用程序。
我注意到了 int i=10000000; boolean isPrime= false; while(!isPrime){ i++; Syst
一般来说,类构造函数应该接受的最大参数数量是多少?我正在开发一个需要大量初始化数据(目前有 10 个参数)的类。但是,带有 10 个参数的构造函数感觉不对。这让我相信我应该为每条数据创建一个 gett
改善网页加载时间的一种方法是内联其 css - 因为 css 会阻塞渲染。但是,内联 css 会阻止浏览器缓存它。因此,一般建议仅内联“小”css。 但是什么才算“小”呢?我在网上搜索了一些经验法则,
我正在尝试了解如何正确使用 Java 的执行器。我意识到将任务提交给 ExecutorService 有其自身的开销。但是,我很惊讶地看到它竟然这么高。 我的程序需要以尽可能低的延迟处理大量数据(股票
我读过几篇 GWT 开发人员博客,其中提到了一些“经验法则”,即如果生成的 JavaScript 代码达到 100 行或更多,最好自己编写 JavaScript(而不是通过 GWT 生成它) . 我的
最近我偶然发现了一个非常大的性能改进——我说的是 4 倍的改进——只需更改一行代码。我刚刚将 std::sort 调用更改为 concurrency_parallel 排序 // Get a cont
我在 javascript 中使用 setTimeout() 函数来允许在解析一些 xml 数据时显示一个显示“正在加载”的弹出窗口。我发现,在足够小的延迟值(低于 10 毫秒)下,在浏览器卡住一段时
Leonid 在他的书的第四章中写道:“...Module、Block 和 With。这些结构在 Mathematica Book 和 Mathematica Help 中有详细解释,所以我在这里简单
我是一名优秀的程序员,十分优秀!