“Por que a latência do meu Solana ShredStream continua aumentando?” Causas e soluções

“Por que a latência do meu Solana ShredStream continua aumentando?” Causas e soluções

“Por que a latência do meu Solana ShredStream continua aumentando?” Causas e soluções
Na ERPC, recebemos com frequência relatos de clientes de streaming Solana em tempo real dizendo que “a latência do ShredStream aumenta gradualmente e, por fim, o fluxo para”.
Neste artigo, vamos explicar claramente os principais motivos desse problema e oferecer soluções concretas para melhorar o desempenho da sua aplicação.

Por que a latência do ShredStream continua aumentando?

Atualmente, o ShredStream transmite quase todos os dados em tempo real sem filtros. Devido a isso, se as capacidades de processamento do cliente forem insuficientes, os dados se acumulam, aumentando gradualmente a latência.
As principais causas são as seguintes:

1. Processamento com Node.js ou ambientes single-thread

O cliente ShredStream original foi criado com TypeScript e gRPC. Como ainda não há filtros, um ambiente single-thread como o Node.js atinge rapidamente seu limite de processamento e a latência continua aumentando.
Identificamos que esse problema não ocorre quando se utiliza um cliente Rust na mesma máquina, confirmando assim a limitação do processamento em uma única thread.

Solução: multithreading com NAPI-RS

Em resposta, desenvolvemos uma solução com a tecnologia NAPI-RS, que permite processamento multithread em Rust sem abrir mão do controle via TypeScript. Esta solução, conhecida como Solana Stream SDK, é de código aberto e está disponível publicamente:
Se você estiver usando Node.js ou TypeScript, recomendamos fortemente o uso deste SDK. Para o máximo desempenho, considere usar uma linguagem nativa multithread como Rust.

2. Desempenho insuficiente do servidor (especialmente o clock da CPU)

Aplicações de streaming em tempo real com Solana ShredStream normalmente funcionam bem em um servidor com 4 núcleos e 16 GB de RAM. A frequência da CPU, porém, é decisiva: clocks mais baixos podem fazer a latência crescer gradualmente.
Servidores voltados a maximizar a margem muitas vezes usam CPUs antigas ou modelos com muitos núcleos, mas baixa frequência. Uma AMD EPYC de 4ª geração com 84 núcleos, por exemplo, costuma ter clock base próximo de 2,2 GHz e nem sempre aproveita bem o turbo boost. Como a recomendação mínima para validadores Solana é 2,8 GHz, aconselhamos os clientes a usar CPUs com pelo menos essa frequência.
Além disso, provedores de VPS costumam usar overcommitment, dividindo um servidor físico entre muitas máquinas virtuais. Nesse ambiente, a disputa de recursos com outros usuários durante os picos prejudica o desempenho.

Solução: usar um VPS com CPUs recentes de alto clock

A ERPC oferece VPS com CPUs AMD EPYC de última geração e frequência de até 4,15 GHz. O desempenho se aproxima do bare metal, sendo ideal para cargas Solana que exigem streaming em tempo real.
Antes, não havia soluções VPS de alta frequência, e quem precisava de desempenho em tempo real era obrigado a escolher bare metal. Os VPS da ERPC eliminam essa limitação.

Recomendamos nosso EPYC VPS de alto desempenho

ERPC VPS
As soluções VPS da ERPC são otimizadas para a transmissão de dados em tempo real da Solana e altamente elogiadas por muitos traders e projetos de alta frequência.
Essas soluções são ideais para clientes que necessitam de alto desempenho sem exigir os recursos de um servidor bare metal.
Recomendamos experimentar nossas soluções VPS.
Para testes gratuitos ou consultas detalhadas, visite o Discord oficial da Validators DAO:
A ERPC continuará pesquisando e desenvolvendo soluções que acompanhem a evolução das suas necessidades e melhorem o desempenho.
Obrigado pelo seu apoio contínuo.