왜 내 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, 블록은 전세계에 위치한 리더들과 함께 모든 슬롯을 회전하는 리더 검증자에 의해 생산됩니다.

오늘, 많은 검증자는 같은 지역에서 클러스터링됩니다. 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 번들 계획

의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 의 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
- 5.7GHz Ryzen CPU에 내장 된 프리미엄 Ryzen VPS
이 환경은 다음과 같습니다:
- 높은 시계 속도 CPU
- ECC DDR5 메모리
- NVMe4 저장
- 25Gbps × 2 네트워킹
모든 튜닝 Solana 작업대.

이 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.
- ERPC 공식 사이트: https://erpc.global/en
- Validators DAO 공식 Discord: https://discord.gg/C7ZQSrCkYR


