왜 내 Solana 앱 슬로우? 왜 네트워크 거리 매트

왜 내 Solana 앱 슬로우? 왜 네트워크 거리 매트

왜 내 Solana 앱 슬로우? 왜 네트워크 거리 매트
우리는 종종 상인과 빌더에서 듣는다:
  • “나는 비슷한 전략을 실행하고 있지만, 내 봇은 늦게 채워집니다.”
  • "가격은 벌금을 업데이트하지만, 내 거래는 시간에 그것을하지 않습니다."
  • “나는 전환했습니다. RPC 공급자, 그러나 성능은 정말 변경하지 않습니다. "
이 상황에서 첫 번째 의심은 일반적으로:
  • “내 코드가 느리게 될 것”
  • “내 서버는 아마 충분히 좋지 않습니다.”
둘 다 많은 사정이 있을 수 있습니다. 그러나 고속 환경에서는 Solana, 종종 첫 번째를 보여줍니다 더 기본적인 Bottleneck이 있습니다: 네트워크 거리.
On Solana, 무수한 dApps가 있습니다, DeFi 블록체인과 거래소는 물론, 봇을 통해 자동화된 거래에 의존하고 있습니다. 또한, 경쟁사보다 더 빠르게 이벤트를 감지하고 빠르게 실행할 수 있는 고주파 거래(HFT) 환경이 무엇인지, 여러분의 경쟁사보다 더 빠르게 수행할 수 있는 것은 엣지와 수익을 캡처하는 방법입니다.
이 문서에서는 빠른 탐지와 저하도 실행을 목표로 하는 경우 네트워크 거리가 결정적인 요인이 되는 이유를 살펴볼 것입니다. Solana, 그리고 방법 ERPC’s Bundle 계획 및 VPS 제공은 이러한 요구를 해결하도록 설계되었습니다.

왜 “내 앱만 느리게 느껴지는 것”이라고 생각합니까?

첫째, 일부 일반적인 상황을 구성하자:
  • 서버가 많음 CPU 그리고 기억, 그러나 당신의 무역 반응은 경쟁 보다는 아직도 더 느립니다.
  • getProgramAccounts 또는 로그 구독을 통해 새로운 이벤트를 볼 수 있지만, 귀하의 거래 제출은 항상 뒤에 단계 반입니다.
  • 여러 클라우드 환경과 여러 가지 시도를 했습니다. RPC 공급자, 아직 아무것도 breakthrough 처럼 느낌.
이러한 상황에서 많은 개발자들은 코드 또는 알고리즘에서 더 많은 성능을 짜려고합니다. 그것은 유효하고 중요한 노력이지만, 해결되지 않는 것이 더 심층 구조적 문제가있다:
  • 첫 번째 장소에서 "distant network"에서 싸우는 것이 될 수 있습니다.
  • 리더 검증자의 관점에서, 응용 프로그램은 물리적으로 단점 위치에있을 수 있습니다.
이러한 조건이 보유되면 소프트웨어를 정제하는 것이 중요하지 않습니다. 성능 수준을 완전히 도달하지 않습니다.
진정한 장점을 가지고 Solana’s 속도, 당신은 함께 3 레이어를 고려해야:
  • 의 특징
  • 제품 정보
  • 회사연혁
이 중, 먼저 당신은 종종 튜닝이 "네트워크 거리"입니다.

속도를 결정하는 3개의 층

코드 (소프트웨어 및 전략)

봇과 HFT-style 시스템의 경우 Solana, 당신의 부호 및 전략은 당신의 결과에 직접 영향을 줍니다:
  • 트리거로 사용하는 어떤 이벤트
  • 입력 및 출구 위치의 조건
  • 얼마나 불필요한 I / O 제거, 그리고 얼마나 잘 병렬화 처리
이들은 많은 개발자를 위한 가장 직관적인 최적화 레버입니다. Code-level 개선은 필수적이지만, 퍼즐의 한 조각만 있습니다.

제품 정보

다음 주요 요인은 서버 성능입니다. "수용량"이 자체에 충분하지 않습니다. 당신은 다음을 볼 필요가 있습니다.
  • 고속 CPU (단일 코어가 작업 처리 할 수 있는 방법)
  • 핵심 조사 (대역적으로 몇 가지 작업이 실행될 수 있음)
  • 기억력과 기억 수로 조사 (대형 작업 세트는 뭉치 없이 접근될 수 있습니다)
  • NVMe (그래서 로깅 및 데이터 쓰기와 같은 빠른 저장은 Bottleneck이되지 않습니다)
거래 작업로드는 종종 큰 인덱스와 상태를 처리해야합니다. 그 상황에:
  • 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 CPU 뚱 베어
  • 램랩과 교환 위험이 없습니다.
안정되어 있는 성과에 지도.
물론, 고성능 환경 더 많은 비용. 결국, 당신은 당신의 전략의 예상 이익이 하드웨어 투자를 단지 결정하는 균형 포인트를 필요로.

회사연혁

가장 즐겁고, 종종 대기권의 가장 영향력있는 요인은 네트워크입니다.
으로 CPU 최적화, 몇 초에 nanoseconds의 수백을 넣을 수 있습니다. 네트워크 최적화로, 달성할 수있는 차이는 수백 밀리 초의 범위에있을 수 있습니다. 규모 측면에서 네트워크 변경은 천 번 더 영향을 미칠 수 있습니다.
당신이 가지고있는 경우:
  • 강력한 서버
  • 효율적인 소프트웨어
  • 잘 설계 된 전략
잘못된 네트워크 위치에 리소스를 넣어 노력의 많은을 빚집니다. 첫 번째 이동은 올바른 데이터 센터와 앱의 올바른 네트워크를 선택해야합니다.

네트워크 거리에 대해 Regaining intuition

네트워크가 같은 방법으로 볼 수 없기 때문에 CPU 또는 RAM, 그것은 그들에 대해 intuition을 구축하기 어렵다. 쉽게 만들려면, 그것은 교통의 관점에서 생각하는 데 도움이됩니다.
인터넷에 대해 생각할 때 상상:
  • 출발점으로 서버
  • 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana 인증 및 인증 RPC 목적지로 끝점
그 점 사이에 자동차 또는 비행기로 여행하는 그림.
짧은 거리 여행:
  • 몇 가지 트래픽 조명과 교차점이 있습니다.
  • 혼잡에 노출이 적습니다.
  • 도착 시간에 약간의 변화가 있고 보통 일정에 체재하십시오
장거리 여행:
  • 고속도로, 터널 및 허브 공항
  • 많은 중간 지점을 통해 이동
  • 건설, 사고, 교통 잼에 의해 더 쉽게 영향을
결과적으로 도착 시간은 훨씬 더 다를 수 있습니다.
네트워크는 같은 방법을 행동:
  • Shorter 섬유 케이블
  • Fewer 중간 라우터 및 스위치 (단면 및 허브)
짧은 라운드 스트립 시간 및 더 적은 지터를 의미.
대역폭 (1Gbps, 10Gbps, 25Gbps)는 도로에 차선의 수 같이 입니다. 더 많은 차선은 평행한에 있는 교류에 더 많은 자료가 허용하고 혼잡을 감소시킵니다. 그러나 노선이 지나지게 길거나 간접인 경우에, 총 여행 시간은 아직도 크을 것입니다.
On Solana, 당신이 진짜 속도를 원하면, 당신은 둘 다 필요로 합니다:
  • 거친 차선 (bandwidth)
  • 짧은 거리 및 효율적인 경로

의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana’ s 구조 거리의 효과를 증폭

On Solana, 블록은 전세계에 위치한 리더들과 함께 모든 슬롯을 회전하는 리더 검증자에 의해 생산됩니다.
Solana Validators Map
오늘, 많은 검증자는 같은 지역에서 클러스터링됩니다. Frankfurt. 그러나, 심지어, 지도자들은 주변 이동:
  • Frankfurt
  • New York
  • Tokyo
  • Singapore
지구의 다른 지구.
이 구조에서:
  • 리더가 될 때 Frankfurt, 노드 내부 Frankfurt 네트워크는 명확한 이점에 있습니다.
  • 리더가 될 때 Tokyo, 노드가 가까운 Tokyo 장점은 있습니다.
이것은 매우 간단하지만 매우 강력한 현실입니다.
인터컨티넨탈 통신은 100ms 이상 혼자 왕복하는 비용으로 비용이 들었습니다. 예를 들어:
  • 찰싹 a Tokyo 의 역사 Frankfurt
  • 찰싹 a New York 의 역사 Tokyo
Shreds 스트림 리셉션 및 처리가 포함될 때, 효과적인 탐지 타이밍은 1000ms 이상에 의해 쉽게 지연될 수 있습니다. 거래 및 모니터링 응용 프로그램을 위해, 그 시간 간격은 거대합니다.

왜 평균 대기 시간은 충분하지 않습니다

첫 번째 미터는 많은 사용자가 살펴:
  • 평균 핑
  • 평균 응답 시간
이 유용하지만, 네트워크에 같은 Solana 어디 지도자가 슬롯에 의해 지구 슬롯을 건너 이동, 사이의 큰 차이가있다:
  • 좋은 평균을 가지고
  • 특정 순간에 빠지게 될 때
특정 설정이 200ms의 평균 대기 시간을 보여줍니다 경우에도 실제로 볼 수 있습니다:
  • 몇몇 구멍에 있는 20ms
  • 다른 구멍에 있는 600ms
0 슬롯 거래 또는 200-400ms 창 내에서 의존하는 모든 전략에 대해, 어떤 문제가 평균하지 않습니다:
  • 낮은 대기 시간으로 작동 할 수 있는지 여부
  • 정확한 순간에
  • 대상 지역 내
다른 대륙에 위치한 지도자들을 치려고 할 때마다 물리적으로 유지할 수없는 슬롯이 있습니다.
평균 대기시간에만 집중하고이 현실을 무시하면 "나는 왜 잃어버린지 모른다"존에 숨겨져 있습니다.

앱이 실제로 느리게되는 곳

여기에서, 당신의 응용 프로그램이 시간을 잃는지 확인하는 방법을 살펴 봅시다.

현재 대기시간을 측정

첫째, 숫자로 현재 엔드 포인트에 거리를 측정, 감정이 아닙니다.
  • 현재 위치 RPC / gRPC / Shredstream 종료점
  • 같은 지역에 위치한 노드는 그 엔드포인트로
테스트에서 테스트하고 라운드 스트립베이스 라인을 기록합니다.
단일 측정에 의존하지 마십시오. 짧은 간격으로 여러 번 핑을 실행하고 단지 의미 대신 미디어를 살펴. 이것은 그날의 "도로 조건"의 더 나은 그림을 제공합니다.

앱 처리 시간의 별도 네트워크 시간

앱 내에서, 기록:
  • 요청은 타임스탬프를 보냅니다
  • 응답은 타임스탬프를받습니다
  • 내부 처리의 시작과 끝 시간
다음, 분리:
  • 네트워크 라운드 스트립에 몇 시간 소요
  • 실제 사업 논리에 얼마 소요되는지
많은 경우에, 당신은 찾아낼 것입니다:
  • 코드를 몇 밀리 초에서 밀리 초의 몇 십 십 초에 마무리합니다.
  • 네트워크 왕복은 밀리 초의 수백을 소모하고 있습니다.

전형적인 Bottleneck 본

몇몇 일반적인 본은 다음을 포함합니다:
  • 같은 사용 RPC 세계 각국의 끝점
  • VPN 및 프록시의 여러 레이어를 통해 집이나 사무실에서 연결
  • 단일 지역의 호스팅 서버와 그 주변의 모든 리더를 추적하려고
이 설정에서, Solana’ s 구조 거의 보장 하는 것은 항상 단점된 위치에서 일부 지도자를 공격.

측에 네트워크 거리를 디자인

네트워크 거리를 만들려면, 오히려 당신에 대하여, 몇몇 중요한 단계가 있습니다.

네트워크가 실제로 싸움을 결정하는 데

의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana, "network"당신은에 대해 걱정하는 것은 검증자에 의해 만들어진 것입니다. 리더 슬롯의 주파수는 지분의 양에 비례합니다.
  • 큰 지분을 가진 호스트 검증자 네트워크
효과적으로 “primary network”가 연습에 있습니다.
이해로 시작:
  • 어떤 지역은 시장 또는 dApps에 가까운 전략에 대한
  • 지분-허브 지역을 커버하는 방법 Frankfurt
이것은 당신이 실제로 싸움을 원하는 네트워크 결정하는 방법입니다.

데이터 센터 및 네트워크 선택

의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana workloads, 그것은 중요 한 것 알고:
  • 키 검증기 또는 동일한 데이터 센터에 있습니다. Jito 구획 엔진
  • 또는 PNI(Private Network Interconnect)를 통해 연결
인터넷은 글로벌이며 원칙적으로 앱은 "작업"이 아니 중요하지 않습니다. 그러나 HFT 또는 근실한 탐지를 위해, 주요 질문은:
  • 얼마나 외부 네트워크 트래픽을 제거 할 수 있습니까?
  • 0-street 구성에 어떻게 닫을 수 있습니까?
이 선택은 첫 번째 주요 성능 격차를 만듭니다.

다재다능한 건축으로의 단계

이상적인 세계에서 당신은 어디에 존재 할 것입니다, 그러나 당신은 하루 하나에서 모든 지역을 커버 할 필요가 없습니다.
실제 첫걸음은 다음과 같습니다:
  • Frankfurt (major 네트워크)
  • 더 많은 지역으로 전략에 중요한 것 (New York, Tokyo, Singapore, 등)
지역의 작은 수에서 점차 확장 할 수 있습니다.
각 지역, 당신:
  • Shreds를 받기 gRPC 의논하기
  • 로컬로 처리하거나, 최대한의 경로를 통해 자신의 네트워크를 통해 전달
이것은 "모든 주어진 시간에 가장 빠른 어딘가를."의 상태를 유지하기 위해 훨씬 쉽게 만듭니다.

ERPC네트워크 설계 및 묶음 / VPS 적합

이제 위의 아이디어를 지도하자 ERPC’ s 디자인 및 제품 라인업.

Solana-중심한 네트워크 및 PNI 기반 아키텍처

ERPC 네트워크 전문으로 구축 Solana. 우리는 신중하게 선택:
  • 말뚝이 집중되는 지역
  • 주요 검증인 및 호스트 데이터 센터 Jito 구획 엔진
  • PNI를 통해 직접 연결되는 데이터 센터는 그 핵심 위치에
최대 출력을 제공할 수 있는 topology를 구성하기 위해 Solana 작업대.
인터넷은 글로벌이며 앱은 배포할 수 없습니다. 그러나 HFT 또는 빠른 탐지에 대해 걱정할 때 먼저 데이터 센터 선택과 네트워크 선택을 얻을 수 있어야합니다. ERPC 그것은 그것을 위해 문제를 해결하기 위하여 특히 디자인됩니다 Solana.

Ping 기반 자동 라우팅

공유하기 Solana RPC 엔드포인트, ERPC 의지하지 않음 IP 위치 위치 대신, 우리는:
  • 각 지역에서 각 백리스트에 자동 측정 IP
  • 실제 측정을 기반으로 가장 가까운 지역을 선택하십시오.
이 같은 문제를 피합니다:
  • 지도에 가까운 경로는 실제로 긴 detours입니다
  • 통합된 Geo-location 데이터베이스에 근거한 여정 결정
그리고 항상 우리가 연습을 측정 할 수있는 가장 짧은 길을 통해 연결.

Solana RPC 번들 계획

Bundle Plan
의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Solana RPC 번들 계획은 당신을 줄:
  • RPC (HTTP / WebSocket)
  • Geyser gRPC (필터 제한 없음)
  • Shredstream gRPC
단일 패키지에서.
대부분의 팀은 실시간 시작 Solana 여행과 Geyser gRPC. 이미 공개된 데이터를 전달하기 때문에:
  • 구현은 간단합니다.
  • 많은 예와 참고 사항이 있습니다.
  • 학습 곡선은 상대적으로 부드러운
한편, 전문 팀 추가 Shredstream 검출 및 실행을 선도하는 가장자리에 더 가까이 밀어.
뭉치로:
  • 기존의 생산량을 유지할 수 있습니다. RPC / gRPC 설치하기
  • 추가할 수 있습니다. Shredstream 큰 추가 비용 없이
가격은 당신을 돕기 위하여 디자인됩니다:
  • 안정적인 기본 응용 프로그램을 구축 RPC + gRPC
  • 그런 다음 같은 환경에서 실험 시작 Shredstream 그리고 점차 더 높은 성과로 이동
생산 시스템을 멈추지 않고 모든.

EPYC VPS / 프리미엄 Ryzen VPS

네트워크 거리를 더 아래로 밀어, ERPC 또한 같은 네트워크 내에서 VPS 제공을 제공합니다. ERPC 종료점.
EPYC VPS
라인업은 다음을 포함합니다:
  • EPYC 강력한 비용 성능을위한 VPS
  • 5.7GHz Ryzen CPU에 내장 된 프리미엄 Ryzen VPS
이 환경은 다음과 같습니다:
  • 높은 시계 속도 CPU
  • ECC DDR5 메모리
  • NVMe4 저장
  • 25Gbps × 2 네트워킹
모든 튜닝 Solana 작업대.
Premium Ryzen VPS
이 VPS 인스턴스는 같은 네트워크에서 실행됩니다.
  • Jito 구획 엔진
  • Shredstream 노드의
  • Geyser gRPC 노드의
이 “zero-street” 설정은 외부 네트워크를 교차하지 않고 리더 근처의 응용 프로그램을 실행할 수 있습니다.
이러한 VPS 오퍼링을 결합함으로써, 당신은 공동으로 최적화 할 수 있습니다:
  • 네트워크 거리
  • 하드웨어 성능
  • 스트림 품질
그리고 대기 오염 방지 사용 사례에 대한 견고한 기반을 구축하십시오.

시작 (checklist)

이 문서를 끝내기 후에 오른쪽으로 걸릴 수 있습니다:
  • 현재로 ping 측정 RPC / gRPC / Shredstream 종료점 짧은 기간 동안이 여러 번 수행하고 미디어를 보면 단일 샘플이 아닙니다.
  • 처리 시간에서 별도의 네트워크 시간을 추가하여 응용 프로그램에 로그인 측정 요청은 → 응답 수신 및 내부 처리는 두 지점 사이에 수행.
  • 해당 지역은 실제로 대상 시장 또는 dApps에 가깝습니다. 가능한 경우, 여러 후보 지역에서 핑을 측정하므로 결정은 데이터에 근거하여 수업료가 아니라는 것입니다.
  • 단일 VPS 또는 묶음을 키 대상과 비교 테스트를 실행하는 지역으로 배포하십시오. 로그인 및 기존 환경에 비해 수명이 얼마나 향상되는지 비교합니다.
  • 다재다능한 건축에 확장 예를 들면: Frankfurt + New York, Frankfurt + Tokyo, or Frankfurt + Singapore, 당신의 전략에 따라.
  • 더 이상, 리더 일정 및 검증자 위치에 대한 데이터를 수집 지역이 어느 시간에 장점을 가지고 있는지, 지속적으로 epoch-by-epoch 변경을 기반으로 네트워크 레이아웃을 조정.

요약: 왜 당신은 네트워크 거리를 시작해야

빠른 거래 또는 모니터링 시스템을 구축하려는 경우 Solana, 당신은 같은 시간에 코드, 하드웨어 및 네트워크에 대해 생각해야합니다. 이러한 중에서, 네트워크 거리는 다음과 같습니다.
  • 개선을 위한 가장 큰 레버 중 하나
  • 가장 일반적으로 대기 중 하나
멀리 네트워크에서 지도자를 쫓는 것은, 당신이 물리적으로 승리 할 수없는 슬롯이 항상, 당신의 코드와 서버를 최적화하는 것이 중요하지 않습니다.
그게 왜 해야:
  • 네트워크 거리를 제대로 측정
  • 당신이 정말 싸움을하는 네트워크 이해
  • 당신의 응용 프로그램을 이동 위치는 감각을 만드는 Solana
이 진정한 성능을 향한 첫 단계입니다.
ERPC 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 Validators DAO 의 특징 Solana-이 아키텍처를 현실적이고 접근할 수 있도록 네트워크 및 서버 리소스를 집중했습니다.
네트워크 거리 최적화 또는 묶음 및 VPS 설정 구조에 대해 논의하고 싶다면, 무료로 연락 주시기 바랍니다 Validators DAO 공식 Discord.