当前位置:首页 > Web开发 > 正文

尤其是服务器端 Web 应用程序 三、性能问题的类别 1.延迟 内存延迟 网络延迟 磁盘 IO 延迟 繁琐的交互 / 握

2024-03-31 Web开发

标签:

一、凡是的性能问题类型

让我们一起看看那些大众的性能问题,看看他们是或者不是.我们将了解到为什么我们每每在开发期间会错过这些问题.我们也会看看当我们考虑性能时语言的选择、延迟、带宽、计算等因素.

二、语言的考虑

  人们经常存眷所使用的编程语言的速度。然而,这经常没有抓住要点。这是一个非常简单的不雅概念,掩盖了技术选择的细微分歧,用任何语言编写速度慢的软件都很容易。由于当今计算机的措置惩罚惩罚速度非常强大,所以解释性能相对较慢的语言凡是足够快,而开发中性能的提高是值得的.要理解所涉及的论点和权衡是很重要的,即使在读完这本书之后您决定使用C#.NET.

  编写速度最快的软件的要领是深入了解底层硬件并用汇编语言编写。(甚至机器代码)。开发、调试和测试都很庞大,这需要专家常识。我们此刻很少这样做,除了非常小的应用措施(如虚拟现实游戏、科学数据措置惩罚惩罚,有时还有嵌入式设备),凡是只用于软件的一小部分.

C#在速度和灵活性之间供给了良好的平衡,使其适用于各类百般的应用措施,尤其是处事器端Web应用措施

三、性能问题的类别

1.延迟

内存延迟

网络延迟

磁盘IO延迟

繁琐的交互/握手

2.带宽

过载的负荷

未优化的数据

压缩的平衡

3.计算问题

事情于过于大量的数据

计算非必需的功效

暴力的算法

4.响应

可离线措置惩罚惩罚的同步操纵

缓存及措置惩罚惩罚作废的数据

  在为平台编写软件时,凡是会受到两种资源的限制。即:计算措置惩罚惩罚速度和访谒长途(处措置惩罚惩罚器)资源。措置惩罚惩罚速度如今很少是一个限制因素,这可以用于与其他资源进行交易,例如,压缩一些数据以减少网络传输时间。访谒长途资源(如主内存,磁盘和网络)将孕育产生各类时间本钱。了解措置惩罚惩罚速度不是受单个值影响,,而是多个参数影响非常重要。这些参数中带宽和延迟是最重要的,

  延迟是操纵开始之前的滞后时间,而带宽是数据在操纵开始后转移的速率。提交一个硬盘驱动事件的带宽长短常高的,也是具有非常高的延迟的。这会使来回发送大量文本文件变得非常慢,但是或许,发送大量3D视频是一个不错的选择(取决于Weissman

得分了)。

  移动电话数据连接可能更适合文本文件。 虽然这是一个酬报的例子,但是同样的问题凡是适用于计算仓库的每一层,当时间差的数量级相似。 问题在于差异太快无法察觉,我们需要使用工具和科学来对待它们。

  解决性能问题的法门是对该技术有更深入的了解,并知道在较初级别会产生什么。 您应该了解框架在网络级别上的说明。 掌握这些命令如安在底层硬件上运行以及它们如何受到部署到的根本架构的影响也很重要。

四、什么时候性能是重要的

  性能并不总是很重要。知道什么时候是重要的,什么时候不重要,长短常须要的技能。一般的经验法例是,如果用户需要花事件来期待工作产生,那么就应该让性能良好。如果可以异步执行对用户没有影响,就可以凭据异地势方法执行,:行列队伍,或者其他非UI线程.

某些情况下,措施被设计为看起来迟缓,主要的原因是为了系统安适,例如一些解密算法.

五、为什么每每没有发明性能问题

  在开发中没有注意到性能问题的主要原因之一是一些问题在开发系统上是不成感知的。在延迟增加之前可能不会呈现问题。这可能是因为大量的数据被加载到系统中并且检索特定的记录需要更长的时间。这也可能是因为每个系统被部署到单独的处事器上,从而增加了网络期待时间。此外当数据量没有上来,或者请求量没有上来,这些问题都是难以发明的.所以提前的压测是很有须要的.

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30959.html