分类
如何投資虛擬貨幣

指標 60 秒

以太坊 Parity 完整节点区块高度数据 —— 2019 年 3 月 11 日和 12 日(UTC 时间)

指標 60 秒

今天下午的发布会上,华米发布了多款 Amazfit GTR 智能手表新品,健康监控功能也全面升级, Amazfit GTR 3 手表就带来了一键测量功能,需要 60 秒就可以测量 5 大健康指标。

健康监测是智能手表的重要功能,以前心率、血氧之类的指标都要单独测试,现在华米表示 GTR 3 智能 ⼿ 表带来了全新的 ⼀ 键测量功能, 只需 60 秒,即可 ⼀ 次获得 ⼼ 率、 ⾎ 氧、压 ⼒ 、呼吸速率和 ⼼ 脏健康的重要身体指标数值报告。

此外, GTR 3 系列智能手表还使用了第三代 BioTracker™ 生物追踪光学传感, 6PD 配置结合自研算法让 OxygenBeats 血氧引擎和 RealBeats 心率监测成功率和准确率提升至 98% ,其中血氧升级到 24 小时的智能监测,结合 SomnusCare 睡眠引擎能够筛查疑似睡眠呼吸不畅全面监测不同阶段睡眠。

BitMEX 研究推出以太坊节点指标网站——Nodestats.org

摘要: BitMEX 研究非常高兴宣布推出一个监控以太坊网络的新网站 Nodestats.org 。 该网站连接到五个不同的以太坊节点,并每五秒钟收集一次数据。 网站主要专注于提供与每个以太坊节点所需的计算资源相关的指标。 在分析某些指标时,我们可能已经识别出与节点报告的数据完整性有关的问题,这可能是某些以太坊用户所关注的问题。 Nodestats.org 是与 TokenAnalyst 合作制作,该公司是 BitMEX 研究的以太坊网络数据和分析合作伙伴。

(截至 2019 年 3月 12 日的网站截图)

Nodestats.org 通过整体采用来比较两个最大的以太坊节点客户端实现的统计数据—— Geth 和 Parity 。在这些客户端实现中, Nodestats.org 比较了不同节点配置的性能 指標 60 秒 ——快速、完整和归档节点。

  1. 提供比较不同以太坊实现的计算效率的指标。 例如,通过比较与以下相关的要求:
    • CPU 使用率
    • 内存(RAM)
    • 带宽
    • 储存空间
  2. 比较运行以太坊节点软件和其他币(如比特币)之间的资源需求
  3. 通过查看关于节点是否足够快地处理区块以处于链端点,或差的区块传播是否导致节点在大部分时间不同步的指标,来评估以太坊 P2P 网络的实力和交易处理速度

Nodestats.org 在 2019 年 3 月初才开始收集数据,要作出任何确切结论还为时过早。 不过,我们正在保存数据,并希望稍后分析长期趋势。 Nodestats.org 数据是通过每五秒(每小时 720 次)查询一次我们的五个以太坊节点或运行节点的机器生成的,然后将结果存储在数据库中。此数据生成的各种滚动平均值和其他指标显示在 Nodestats.org 网站上。

Nodestats 指标的说明

这表示节点已验证并下载所有区块数据,到 P2P 网络通知节点是链端点的时间百分比

每小时指标通过确定节点是否每 5 秒处于端点来计算,其应该是每小时 720 次查询。 节点表示其处于端点的这些查询的比例是报告的指标。

该字段基于 web3 的 “isSyncing” 字段,我们认为该字段使用节点已看到的最高区块,即 “highestBlock” 字段,以确定该节点是否落后于其对等节点所看到的最高区块。

节点通常报告它们在 指標 60 秒 99.8% 的时间处于端点,这意味着在每小时 720 次查询中大约只有1次节点不是处于链端点。

唯一的例外是, Ethereum Parity (以太坊奇偶校验)完整节点,我们将在本报告后面讨论。

我们认为该指标的数据完整性很差,例如就 Parity 完整节点而言,所提供信息的完整性很弱,我们将在本报告后面解释。 展望未来,我们的目标是建立一种更有效的方法来计算这个指标。

这表示机器 CPU 资源的平均使用率百分比。

Nodestats.指標 60 秒 org 使用的所有机器 都拥有 “Xeon(R)CPU E5-2686 @ 2.30GHz” 处理单元,并且为双核。 例外情况是归档节点,其拥有 16 个核心。

所有节点都使用 AWS “i3.large” 机器,但归档节点除外,其运行 “i3.4xlarge” 。

一般来说,CPU 使用率往往在 0.01% 到 1.0% 之间。 Parity 往往达到 1% 的水平,而 Geth 似乎使用较少 CPU 性能。

Geth 的 CPU 使用率似乎不如 指標 60 秒 Parity 的稳定,Geth 的 CPU 需求偶尔会飙升至 1% 左右。

Nodestats.org 每 5 秒从机器读取一次,这与以太坊客户端使用的内存量有关。

Nodestats.org 指標 60 秒 使用的所有机器 都拥有 14GB 内存,但归档节点除外,它是一台 120GB 内存的机器。

Parity 往往拥有大约 450 个对等者,而 Geth 只有大约 8 个。

Geth 的对等者数量比 Parity 更不稳定,因为它似乎偶尔会下降到 6 个左右。

具有更多对等者的Parity往往使用超过100KB /秒的带宽(在每个方向)。 相比之下,Geth往往只使用大约4KB /秒的带宽。

Parity 完整节点仍在同步

Parity 完整节点于 2019 年 3 月 1 日开始,在撰写本文时( 2019 年 3 月 12 日)它尚未完全与以太坊链同步。客户端大约落后 450,000 个区块,而根据其当前的轨迹,它应该在几天内赶上主链端点。由于初始同步缓慢, “同步的时间百分比” 指标显示为接近 0% ,因为客户端永远不会同步。

Ethereum Parity 完整节点机器的规格如下:

  • 双核 2.3GHz
  • 14GB 内存
  • 固态硬盘
  • 10 Gb/秒的互联网连接

事实上,具有上述规格的机器需要超过 12 天的同步可能表明,对于以太坊网络来说,初始同步问题可能比后同步问题(例如区块传播)更受关注。 虽然初始同步缓慢(至少对于这个系统设置而言)是一个潜在的问题,但以太坊尚未达到节点无法赶上的程度,因为同步速度比区块链增长速度快。

数据完整性问题

如下面的 Parity 完整节点日志生成的图表所示,网络图上看到的最高区块(蓝色)似乎有可能不正确。在 网络图上看到的最高区块的数值 有时随着时间的推移而下降,并且始终远远落后于实际的链端点(以绿色显示)。有时这个有可能出错的数字朝着验证链的高度(橙色)下降,而我们的网站错误地报告该节点同步。这可能是一些以太坊用户关注的问题,因为Parity完整节点与网络有很多连接,因此这可能是一个错误。

以太坊 Parity 完整节点区块高度数据 —— 2019 年 3 月 11 日和 12 日(UTC 时间)

(资料来源: 以太坊 Parity 完整节点日志)

这个潜在错误可能会破坏我们网站的整个指标,即使对于其他节点也是如此,因为最高链端点的字段可能无法正常运行,以及我们的数字可能不准确。 不过,我们继续收录这个指标,因为 Nodestats.org 网站显示节点报告的数据,与我们对数据完整性的看法无关。 我们希望将来可以实施我们自己的改进指标。

有人可能会认为,如果攻击者以正确的方式利用这个潜在错误,其影响在某些有限情况下可能会很严重。 例如,用户可能会将收款或智能合约执行看作已经验证,而他们的节点声称处于网络链端点。 但是,客户端可能并不真正处于链端点,攻击者可能会利用此漏洞来欺骗收款人提供商品或服务。 攻击者将需要在易受攻击节点错误地认为是链端点的高度上花费多一倍功夫,其工作要求证明可能比主链端点低。 不过,成功执行此攻击的可能性极小,而用户也不太可能使用最高的区块功能。

就像其同类网站 Forkmonitor.info 一样, Nodestats.org 还有很多工作需要改善。在未来几个月和几年内与 TokenAnalyst 的合作过程中,我们计划添加更多功能,例如:

  • 通过减少对节点报告的内容的依赖并开发我们自己的计算方法,提高数据的完整性
  • 用于分析长期趋势的图表和工具
  • 改进数据的粒度
  • 分叉检测系统
  • 与其他对等者相关的数据

目前, Nodestats.org 提供了一个有用的工具来评估运行以太坊节点的大致系统要求。 在非常基础的层面上,它还提供了评估以太坊网络及其各种软件实施的可靠性的机制。 不过,我们承认 “同步的时间百分比” 指标可能不可靠,但它确实突出了潜在问题。

指標 60 秒

来源:网络综合 48 2022-07-27


使用WPS演示制作60秒倒计时器效果的方法(wps倒计时10分钟)

5、选中这四个文本框右击,在快捷菜单中选择“自定义动画”命令,打开自定义动画任务窗格,单击“添加效果”,在其下拉列表中选择“进入”效果中的 “闪耀一次”效果, 由于60秒倒计时是60先出现,在自定义动画任务窗格中,ctrl加鼠标左键单击选中文本框44和45,拖动到动画序列最上。 单击自定义动画任务窗格中更改后的下拉按钮,在下拉菜单中“退出”效果子菜单中选择“消失”效果。 选中文本框44单击“开始”后的下拉按钮选择开始为“单击时”,选中文本框34单击“开始”后的下拉按钮选择开始为“之前”,就是要打开此张演示文稿同时出现60,单击后60消失,59出现等等。

如何 60 秒内进行 Linux 性能分析

仰望星空的尘埃 于 2020-05-22 18:17:44 发布 347 收藏

当你登陆一台 Linux 服务器之后,因为一个问题要做性能分析时:你会在第 1 分钟内做哪些检测呢?

在 Netflix,我们有很多 EC2 的 Linux 机器,并且也需要很多性能分析工具来监控和检查它们的性能。包括有针对云上的监控工具 Atlas,和按需要进行实例分析的 Vector。虽然这些工具能帮助我们解决大多数问题,但是我们有时候还需要登陆机器实例去运行一些标准的 Linux 性能分析工具。

最开始的 60 秒:总结

在这篇文章中,Netflix 的性能分析工程师团队会给你展示在最开始的 60 秒内,如何在命令行模式下使用已有的 Linux 标准工具进行性能优化检测。在 60 秒内只需要通过运行下面的 10 个命令就可以对系统资源使用和运行进程有一个很高程度的了解。寻找错误信息和饱和度指标,并且可以显示为请求队列的长度,或者等待时长。因为它们都很容易理解,然后就是资源利用率。饱和度是指一个资源已经超过了它自己的负荷能力。

有些命令需要安装 sysstat 工具包。这些命令展示的指标会帮助你完成一些 USE(Utilization,Saturation,Errors) 方法:定位性能瓶颈的方法论。包括了检查使用率(Utilization),饱和度(Saturation),所有资源(比如 CPU,内存,磁盘等)的错误指标(Errors)。同样也要关注你什么时候检查和排除一个资源问题,因为通过排除可以缩小分析范围,同时也指导了任何后续的检查。

1. uptime

这是一个快速展示系统平均负载的方法,这也指出了等待运行进程的数量。在 Linux 系统中,这些数字包括等待 CPU 运行的进程数,也包括了被不可中断 I/O(通常是磁盘 I/O)阻塞的进程。这给出了资源负载的很直接的展示,可以在没有其它工具的帮助下更好的理解这些数据。它是唯一快捷的查看系统负载的方式。

这三个数字是以递减的方式统计了过去 1 分钟,5 分钟和 15 分钟常数的平均数。这三个数字给我们直观展示了随着时间的变化系统负载如何变化。例如,如果你被叫去查看一个有问题的服务器,并且 1 分钟的所代表的值比 15 分钟的值低很多,那么你可能由于太迟登陆机器而错过了问题发生的时间点。

在上面的例子中,平均负载显示是在不断增加的,1 分钟的值是 30,相比 15 分钟的值 19 来说是增加了。这个数字这么大就意味着有事情发生了:可能是 CPU 需求; vmstat 或者 mpstat 会帮助确认到底是什么,这些命令会在本系列的第 3 和第 4 个命令中介绍。

2. dmesg | tail

这里展示的是最近 10 条系统消息日志,如果系统消息没有就不会展示。主要是看由于性能问题导致的错误。上面这个例子中包含了杀死 OOM 问题的进程,丢弃 TCP 请求的问题。

所以要记得使用这个命令, dmesg 命令值得一用。

3. vmstat 1

对虚拟内存统计的简短展示,vmstat 是一个常用工具(最早是几十年前为 BSD 创建的)。它每一行打印关键的服务信息统计摘要。

vmstat 使用参数 1 来运行的时候,是每 1 秒打印一条统计信息。在这个版本的 vmstat 中,输出的第一行展示的是自从启动后的平均值,而不是前一秒的统计。所以现在,可以跳过第一行,除非你要看一下抬头的字段含义。

每列含义说明:

r: CPU 上的等待运行的可运行进程数。这个指标提供了判断 CPU 饱和度的数据,因为它不包含 I/O 等待的进程。可解释为:“r” 的值比 CPU 数大的时候就是饱和的。

free:空闲内存,单位是 k。如果这个数比较大,就说明你还有充足的空闲内存。“free -m” 和下面第 7 个命令,可以更详细的分析空闲内存的状态。

si,so:交换进来和交换出去的数据量,如果这两个值为非 0 值,那么就说明没有内存了。

us,sy,id,wa,st:这些是 CPU 时间的分解,是所有 CPU 的平均值。它们是用户时间,系统时间(内核),空闲,等待 I/O 时间,和被偷的时间(这里主要指其它的客户,或者使用 Xen,这些客户有自己独立的操作域)。

CPU 时间的分解可以帮助确定 CPU 是不是非常忙(通过用户时间和系统时间累加判断)。持续的 I/O 等待则表明磁盘是瓶颈。这种情况下 CPU 是比较空闲的,因为任务都由于等待磁盘 I/O 而被阻塞。你可以把等待 I/O 看作是另外一种形式的 CPU 空闲,而这个命令给了为什么它们空闲的线索。

系统时间对于 I/O 处理来说是必须的。比较高的平均系统时间消耗,比如超过了 20%,就有必要进一步探索分析了:也有可能是内核处理 I/O 效率不够高导致。

在上面的例子中,CPU 时间几乎都是用户级别的,说明这是一个应用级别的使用情况。如果CPU 的使用率平均都超过了 90%。这不一定问题;可以使用 “r” 列来检查使用饱和度。

4. mpstat -P ALL 1

这个命令打印各个 CPU 指標 60 秒 的时间统计,可以看出整体 CPU 的使用是不是均衡的。有一个使用率明显较高的 CPU 就可以明显看出来这是一个单线程应用。

5. pidstat 1

pidstat 命令有点像 top 命令中的为每个 CPU 统计信息功能,但是它是以不断滚动更新的方式打印信息,而不是每次清屏打印。这个对于观察随时间变化的模式很有用,同时把你看到的信息(复制粘贴)记到你的调查记录中。

上面的例子可以看出是 2 个 java 进程在消耗 CPU。 %CPU 列是所有 CPU 的使用率;1591% 是说明这个 java 进程消耗了几乎 16 个 CPU 核。

6. iostat -xz 1

r/s, w/s, rkB/s, wkB/s:这些表示设备上每秒钟的读写次数和读写的字节数(单位是k字节)。这些可以看出设备的负载情况。性能问题可能就是简单的因为大量的文件加载请求。

avgqu-sz:设备上请求的平均数。数值大于 1 可能表示设备饱和了(虽然设备通常都是可以支持并行请求的,特别是在背后挂了多个磁盘的虚拟设备)。

%util:设备利用率。是使用率的百分数,展示每秒钟设备工作的时间。这个数值大于 60% 则会导致性能很低(可以在 await 中看),当然这也取决于设备特点。这个数值接近 100% 则表示设备饱和了。

如果存储设备是一个逻辑磁盘设备,后面挂载了多个磁盘,那么 100% 的利用率则只是表示有些 I/O 是在 100% 处理,然而后端的磁盘或许远远没有饱和,还可以处理更多的请求。

请记住,磁盘 I/O 性能低不一定是应用程序的问题。许多技术通常都被用来实现异步执行 I/O,所以应用程序不会直接阻塞和承受延时(比如:预读取和写缓冲技术)。

7. free -m

buffers:用于块设备 I/O 缓冲的缓存。

我们只想检测这些缓存的数值是否接近 0 。不为 0 的可能导致较高的磁盘 I/O(通过 iostat 命令来确认)和较差的性能问题。上面的例子看起来没问题,都还有很多 M 字节。

“-/+ buffers/cache” 这一行提供了对已使用和空闲内存明确的统计。Linux 用空闲内存作为缓存,如果应用程序需要,可以快速拿回去。所以应该包含空闲内存那一列,这里就是这么统计的。甚至有一个网站专门来介绍 Linux 内存消耗的问题:linuxatemyram。

如果在 Linux 上使用了 ZFS 文件系统,则可能会更乱,因为当我们在开发一些服务的时候,ZFS 有它自己的文件系统缓存,而这部分内存的消耗是不会在 free -m 这个命令中合理的反映的。显示了系统内存不足,但是 ZFS 的这部分缓存是可以被应用程序使用的。

8. sar -n DEV 1

使用这个工具是可以检测网络接口的吞吐:rxkB/s 和 txkB/s,作为收发数据负载的度量,也是检测是否达到收发极限。在上面这个例子中,eth0 接收数据达到 22 M 字节/秒,也就是 176 Mbit/秒(网卡的上限是 1 Gbit/秒)。

这个版本的工具还有一个统计字段: %ifutil ,用于统计设备利用率(全双工双向最大值),这个利用率也可以使用 Brendan 的 nicstat 工具来测量统计。在这个例子中 0.00 这种情况就似乎就是没有统计,这个和 nicstat 一样,这个值是比较难统计正确的。

9. sar -n TCP,ETCP 1

这是对 TCP 关键指标的统计,它包含了以下内容:

active/s:每秒本地发起的 TCP 连接数(例如通过 connect() 发起的连接)。

passive/s:每秒远程发起的连接数(例如通过 accept() 接受的连接)。

重传是网络或者服务器有问题的一个信号;可能是一个不可靠的网络(例如:公网),或者可能是因为服务器过载了开始丢包。上面这个例子可以看出是每秒新建一个 TCP 连接。

10. top

top 的一个缺陷也比较明显,很难看出变化趋势,其它像 vmstat 和 pidstat 这样的工具就会很清晰,它们是以滚动的方式输出统计信息。所以如果你在看到有问题的信息时没有及时的暂停下来(Ctrl-S 是暂停, Ctrl-Q 是继续),那么这些有用的信息就会被清屏。

Follow-on Analysis

还有很多可以使用来深挖系统问题的命令和技术,可以看看 Brendan 在 2015 年讲的 Linux 性能工具介绍 ,这里面讲述了 40 多个命令,涵盖了可观测性,基准测试,调优,静态性能调优,分析和跟踪等多个方面。