이더리움 가상 머신(EVM) 스택 및 메모리 사용 통계 보고서

이 기사는 기계로 번역되었습니다
원문 표시

이더리움 메인넷 | 1,297개 블록 | 24,409,278~24,514,399번째 블록

개요

미터법
분석된 블록 1,297
블록 범위 24,409,278 – 24,514,399
이더리움 가상 머신(EVM) 통화 총 횟수 2,092,522
총 거래 건수 255,696
평균 통화/거래 8.2
평균 통화 수/ 블록 1613
블록 당 평균 거래 수 197

1. 이더리움 가상 머신(EVM) 스택 높이(항목)

이더리움 가상 머신(EVM) 호출당 관찰된 최대 피연산자 스택 깊이(호출당 샘플 1개).

미터법
총 샘플 수 2,092,522
0
p50 8
p75 16
p90 32
p95 32
p99 32
p99.9 64
맥스 651

분포

0 | 153 (0.0%)1 | 0 (0.0%)2 | ██ 36,066 (1.7%)4 | ████████████████ 265,738 (12.7%)8 | ██████████████████████████████████████████████████ 795,021 (38.0%)16 | ████████████████████████████████████████████████ 763,410 (36.5%)32 | █████████████ 219,094 (10.5%)64 | 13,003 (0.6%)128 | 34 (0.0%)256 | 0 (0.0%)512 | 3 (0.0%)

누적 분포

< 1 | 0.0%< 4 | 1.7%< 8 | ███████ 14.4%< 16 | ██████████████████████████ 52.4%< 32 | ████████████████████████████████████████████ 88.9%< 64 | █████████████████████████████████████████████████ 99.4%< 128 | █████████████████████████████████████████████████ 100.0%

2. 이더리움 가상 머신(EVM) 메모리 크기(바이트)

이더리움 가상 머신(EVM) 호출당 할당되는 최대 메모리 용량(바이트).

미터법
총 샘플 수 2,092,522
0B
p50 128B
p75 256B
p90 512B
p95 1키브
p99 4키베
p99.9 16키브
맥스 578.8키바이트

분포

0B | 8,786 (0.4%)32B | 4,675 (0.2%)64B | ██████████████ 332,614 (15.9%)128B | ██████████████████████████████████████████████████ 1,168,239 (55.8%)256B | ██████████ 241,638 (11.5%)512B | █████ 132,630 (6.3%)1KiB | █████ 128,496 (6.1%)2KiB | ██ 48,946 (2.3%)4KiB | 17,222 (0.8%)8KiB | 6,135 (0.3%)16KiB | 1,869 (0.1%)32KiB | 411 (0.0%)64KiB | 599 (0.0%)128KiB | 255 (0.0%)256KiB | 4 (0.0%)512KiB | 3 (0.0%)

누적 분포

< 1B | 0.4%< 64B | 0.6%< 128B | ████████ 16.5%< 256B | ████████████████████████████████████ 72.4%< 512B | █████████████████████████████████████████ 83.9%< 1KiB | █████████████████████████████████████████████ 90.3%< 2KiB | ████████████████████████████████████████████████ 96.4%< 4KiB | █████████████████████████████████████████████████ 98.7%< 8KiB | █████████████████████████████████████████████████ 99.6%< 16KiB | █████████████████████████████████████████████████ 99.8%< 32KiB | █████████████████████████████████████████████████ 99.9%< 64KiB | █████████████████████████████████████████████████ 100.0%

3. 트랜잭션 호출 깊이

트랜잭션당 최대 호출 중첩 깊이(트랜잭션당 샘플 1개).

미터법
총 샘플 수 255,696
0
p50 1
p75 2
p90 4
p95 4
p99 8
p99.9 8
맥스 35

분포

0 | ██████████████████████████████████████████████████ 116,269 (45.5%)1 | ██████████████████████████ 61,369 (24.0%)2 | █████████████████ 40,994 (16.0%)4 | ████████████ 29,283 (11.5%)8 | ███ 7,547 (3.0%)16 | 233 (0.1%)32 | 1 (0.0%)

누적 분포

< 1 | ██████████████████████ 45.5%< 2 | ██████████████████████████████████ 69.5%< 4 | ██████████████████████████████████████████ 85.5%< 8 | ████████████████████████████████████████████████ 97.0%< 16 | █████████████████████████████████████████████████ 99.9%< 32 | █████████████████████████████████████████████████ 100.0%

4. 거래 피크 스택(항목)

거래 중 모든 활성 호출 프레임에 걸쳐 누적된 최대 스택 항목 수 (거래당 샘플 1개).

미터법
총 샘플 수 255,696
0
p50 16
p75 32
p90 64
p95 128
p99 128
p99.9 256
맥스 664

분포

0 | 153 (0.1%)1 | 0 (0.0%)2 | ██ 6,900 (2.7%)4 | ██ 6,704 (2.6%)8 | ██ 7,128 (2.8%)16 | ██████████████████████████████████████████████████ 140,607 (55.0%)32 | ██████████ 30,782 (12.0%)64 | ████████████████ 45,555 (17.8%)128 | █████ 16,426 (6.4%)256 | 1,434 (0.6%)512 | 7 (0.0%)

누적 분포

< 1 | 0.1%< 4 | █ 2.8%< 8 | ██ 5.4%< 16 | ████ 8.2%< 32 | ███████████████████████████████ 63.2%< 64 | █████████████████████████████████████ 75.2%< 128 | ██████████████████████████████████████████████ 93.0%< 256 | █████████████████████████████████████████████████ 99.4%< 512 | █████████████████████████████████████████████████ 100.0%

5. 트랜잭션 최대 메모리 사용량(바이트)

트랜잭션 중 모든 활성 호출 프레임에 걸쳐 누적된 최대 메모리 사용량 (트랜잭션당 샘플 1개).

미터법
총 샘플 수 255,696
0B
p50 256B
p75 1키브
p90 4키브
p95 8키브
p99 16키브
p99.9 128키브
맥스 584.2키바이트

분포

0B | ███ 6,168 (2.4%)32B | 93 (0.0%)64B | ████ 9,477 (3.7%)128B | ██████████████████████████████████████████████████ 95,450 (37.3%)256B | █████████████████████████████ 56,335 (22.0%)512B | █████ 11,236 (4.4%)1KiB | ██████████ 19,891 (7.8%)2KiB | ████████████ 24,416 (9.5%)4KiB | █████████ 18,152 (7.1%)8KiB | ████ 8,852 (3.5%)16KiB | █ 3,602 (1.4%)32KiB | 1,250 (0.5%)64KiB | 392 (0.2%)128KiB | 247 (0.1%)256KiB | 131 (0.1%)512KiB | 4 (0.0%)

누적 분포

< 1B | █ 2.4%< 128B | ███ 6.2%< 256B | █████████████████████ 43.5%< 512B | ████████████████████████████████ 65.5%< 1KiB | ██████████████████████████████████ 69.9%< 2KiB | ██████████████████████████████████████ 77.7%< 4KiB | ███████████████████████████████████████████ 87.2%< 8KiB | ███████████████████████████████████████████████ 94.3%< 16KiB | ████████████████████████████████████████████████ 97.8%< 32KiB | █████████████████████████████████████████████████ 99.2%< 64KiB | █████████████████████████████████████████████████ 99.7%< 128KiB | █████████████████████████████████████████████████ 99.9%< 512KiB | █████████████████████████████████████████████████ 100.0%

핵심 요약

  • 스택: 이더리움 가상 머신(EVM) 호출의 88.9%는 32개 미만의 스택 항목을 사용합니다. p99 = 32, 관찰된 최대값 = 651 (이더리움 가상 머신(EVM) 제한은 1024).
  • 메모리: 이더리움 가상 머신(EVM) 호출의 90.3%는 1KiB 미만의 메모리를 사용합니다. p99는 4KiB이고, 관찰된 최대값은 578.8KiB입니다.
  • 호출 깊이: 트랜잭션의 45.5%는 내부 호출을 하지 않습니다. 85.5%는 깊이 4 미만에 머무릅니다. 관찰된 최대값 = 35.
  • Tx 피크 스택: p50 = 16, p99 = 128, 최대 관측값 = 664.
  • Tx 피크 메모리: p50 = 256B, p99 = 16KiB, 관찰된 최대값 = 584.2KiB.
  • 블록별 거래당 통화 횟수: 중앙값 7.7, 최소값 1.0, 최대값 253.6.

방법론

Zilkworm 의 이더리움 가상 머신(EVM) 실행을 계측하여 수집한 데이터입니다.

측정 기준

  • 스택 높이 — 단일 이더리움 가상 머신(EVM) 호출 동안 관찰된 이더리움 가상 머신(EVM) 피연산자 스택 항목의 최대 개수입니다. 호출당 하나의 샘플이 제공됩니다.
  • 메모리 크기 — 단일 이더리움 가상 머신(EVM) 호출 동안 할당되는 최대 이더리움 가상 머신(EVM) 메모리(바이트). 호출당 하나의 샘플.
  • 호출 깊이 — 트랜잭션 중에 도달한 최대 CALL/CREATE 중첩 깊이. 트랜잭션당 하나의 샘플입니다.
  • Tx 피크 스택 — 트랜잭션 중 모든 활성 통화 프레임에 걸쳐 누적된 최대 스택 항목 수입니다. 트랜잭션당 하나의 샘플이 제공됩니다.
  • Tx 피크 메모리 — 트랜잭션 동안 활성화된 모든 통화 프레임에 걸쳐 누적된 최대 메모리 용량(바이트). 트랜잭션당 하나의 샘플입니다.

HDR 히스토그램

값은 log2 버킷팅을 사용하여 HDR(High Dynamic Range) 히스토그램 에 기록됩니다. 이는 2의 거듭제곱마다 하나의 버킷을 사용하는 Gil Tene의 HdrHistogram 의 간소화된 변형입니다.

  • 버킷 0: 값 = 0
  • 버킷 i ( i > 0 ): 값 범위는 [2^( i −1 ), 2^ i ) 입니다.

이를 통해 0부터 1M 이상까지의 값을 포함하는 21개의 구간이 생성되며, 상대 오차는 일정합니다. 각 구간은 2배의 범위를 나타냅니다.

백분위수 추정

백분위수(p50, p75, p90, p95, p99, p99.9)는 히스토그램 버킷 개수를 기반으로 계산된 근사값 입니다. 주어진 백분위수 p 에 대해, 누적 개수가 p × N (여기서 N 은 전체 샘플 개수)에 도달하는 첫 번째 버킷을 찾고, 해당 버킷의 하한값을 백분위수 값으로 보고합니다. 따라서 보고된 백분위수는 실제 값보다 최대 2배(버킷 하나의 너비)까지 낮게 추정될 수 있습니다. 최소값과 최대값은 정확하게 추적됩니다.


출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트