Home

用于系统服务监控的指标模型

4个黄金指标 Four Golden Signals是Google针对大量分布式监控的经验总结,4个黄金指标可以在服务级别帮助衡量终端用户体验、服务中断、业务影响等层面的问题。主要关注与以下四种类型的指标:延迟,通讯量,错误以及饱和度: 延迟 Latency:服务请求所需时间。 记录用户所有请求所需的时间,重点是要区分成功请求的延迟时间和失败请求的延迟时间。 例如在数据库或者其他关键祸端服务异常触发HTTP 500的情况下,用户也可能会很快得到请求失败的响应内容,如果不加区分计算这些请求的延迟,可能导致计算结果与实际结果产生巨大的差异。除此以外,在微服务中通常提倡“快速失败”,开发人员需要特别注意这些延迟较大的错误,因为这些缓慢的错误会明显影响系统的性能,因此追踪这些错误的延...

Read more

Latency监控指标

什么是Latency 延迟是指一个操作发生所需的时间。这意味着每个操作都有自己的延迟——如果有 100 万个操作,就会有 100 万个延迟。因此,延迟不能按工作单元/时间来衡量。我们感兴趣的是延迟的行为。为了有效地描述延迟,必须描述延迟的完整分布。延迟几乎从来不遵循正态、高斯或泊松分布,因此查看平均值、中位数甚至标准差是没有用的。 延迟往往是多模态的,这部分是由于响应时间的“间歇性卡顿”。间歇性卡顿类似于周期性的冻结,可能由多种原因引起,例如:垃圾回收暂停、虚拟机暂停、上下文切换、中断、数据库重索引、缓冲区刷新到磁盘等。这些间歇性卡顿从来不会遵循正态分布,并且模式之间的转换通常是快速而异质的。 如何有效地描述延迟分布?必须看分位数,但这还不止于此。许多人会陷入一个陷阱,就是只...

Read more

Docker:MacOS环境下修改容器的端口号

​​注意:​​ MacOS 和Linux 修改Docker 容器配置方式不一样 本文中 containername​​ 是容器名称 获取容器id # docker inspect 容器id/容器name $ docker inspect containername​​ | grep Id "Id": "c05fc37444df75bbf0f3277ee36b9997c8ef401568d7c5149bb4aca1c25160b2" # 停止容器 docker stop containername​​ 进入Docker终端,获取root权限 # 方式一:成功率不高 screen ~/Library/Containers/com.docker.docker/Data/vms/...

Read more

不同函数的增长曲线

算法的复杂度,也就是算法的时间或空间量度,记作:$T(n)= O(f(n))$。 用大写$O()$来体现算法复杂度的记法,我们称之为 大O记法。 一般情况下,随着输入规模n的增大,$T(n)$增长最慢的算法为最优算法。 函数增长曲线 A log-log-scaled plot of different functions (including polynomially and exponentially growing ones as well as the factorial) to illustrate the speed of growth of these functions. Exponential functions grow very fast, so tha...

Read more

java 位运算符!

java支持的位运算符有7个,分为两类:位逻辑运算和移位运算。位逻辑运算符包括按位取反(~)、按位与(&)、按位或( )和按位异或(^)4种,。移位运算符包括左移(«)、右移(»)和无符号右移(»>)3种。位运算符只能用于整型数据,包括byte、short、int、long和char类型。下表列出了各种位运算符的功能与示例。假设a = 10, b = 3。 ~运算符是对运算数的每一位按位取反。 下表列出了位运算符的基本运算,假设整数变量A的值为60和变量B的值为13: 操作符 描述 例子 & 如果相对应位都是1,则结果为1...

Read more