P99延迟代表什么?在关于应用程序性能的讨论中,我经常听到这一点,但在网上找不到谈论这一点的资源。
当前回答
假设您正在收集服务的性能数据,下表是结果的集合(延迟值是虚构的,以说明这个想法)。
Latency Number of requests
1s 5
2s 5
3s 10
4s 40
5s 20
6s 15
7s 4
8s 1
您的服务P99延迟为7秒。只有1%的请求需要超过这个时间。因此,如果可以降低服务的P99延迟,就可以提高其性能。
其他回答
是第99百分位。这意味着99%的请求应该比给定的延迟更快。换句话说,只有1%的请求被允许变慢。
我们可以通过一个类比来解释,如果100名学生参加比赛,那么99名学生应该在“延迟”时间内完成比赛。
假设您正在收集服务的性能数据,下表是结果的集合(延迟值是虚构的,以说明这个想法)。
Latency Number of requests
1s 5
2s 5
3s 10
4s 40
5s 20
6s 15
7s 4
8s 1
您的服务P99延迟为7秒。只有1%的请求需要超过这个时间。因此,如果可以降低服务的P99延迟,就可以提高其性能。
让我们从这里举个例子
Request latency:
min: 0.1
max: 7.2
median: 0.2
p95: 0.5
p99: 1.3
所以我们可以说,99%的web请求,发现的平均延迟是1.3ms(毫秒/微秒取决于您配置的系统延迟度量)。 就像@tranmq说的,如果我们降低服务的P99延迟,我们就可以提高它的性能。
同样值得注意的是p95,因为可能很少的请求使得p99比p95更昂贵,例如,构建缓存的初始请求,类对象的预热,线程初始化等。 所以p95可能会剔除这5%的最坏情况。在这5%之外,我们不知道真实噪声情况和最坏情况输入的百分比。
最后;在我们的测量中可能有大约1%的噪声(比如网络拥塞、中断、服务降级),所以p99延迟实际上是最坏情况的一个很好的代表。而且,我们的目标几乎总是减少p99延迟。
通过一个类比来解释P99: 如果有100匹马参加比赛,那么99匹马应该在小于或等于“延迟”时间内完成比赛。只有一匹马可以在“延迟”时间之前完成比赛。
这意味着如果P99是10ms,那么99%的请求的延迟应该小于或等于10ms。
推荐文章
- 我如何解决“HTTP错误500.19 -内部服务器错误”在IIS7.0
- 互联网上最大的安全UDP包大小是多少
- 关闭vs关闭套接字?
- 对Web应用程序进行压力测试?
- 如何解决“java.net.BindException: Address already in use: JVM_Bind”错误?
- 增加Linux中TCP/IP连接的最大数量
- Spring -当前线程没有实际事务可用的EntityManager -不能可靠地处理'persist'调用
- AngularJS $http和$resource
- 模拟慢速网络连接的网络工具
- Jquery Ajax发布JSON到webservice
- 使用80端口运行Node.js时的最佳实践(Ubuntu / Linode)
- Android检查网络连接
- “ExtensionlessUrlHandler-Integrated-4.0”在它的模块列表中有一个坏模块“ManagedPipelineHandler”
- 哪些浏览器支持HTML5 WebSocket API?
- web站点和web应用程序的区别是什么?