Optimalizace výkonu API a snížení latence

Dosažení odezvy pod 100 ms s Smart Money API. Ovládněte ukládání do mezipaměti, sdružování připojení, dávkové operace a optimalizaci dotazů pro maximální propustnost.

Publikováno 21. března 2026 17 minut čtení Výkon

Přehled výkonu

Smart Money API je optimalizováno pro nízkou latenci a vysokou propustnost. Dosáhněte maximálního výkonu implementací doporučených vzorů na straně vaší integrace.

Vrstvy optimalizace výkonu:

  • Ukládání do mezipaměti — Lokální ukládání do mezipaměti a CDN snižuje požadavky na zdroj
  • Sdružování připojení — Opětovné využití připojení, snížení režie
  • Dávkové operace — Kombinace více požadavků do jednoho
  • Optimalizace dotazů — Požadujte pouze potřebná data
  • Asynchronní/paralelní — Zpracování více požadavků současně

Cíl výkonu: P95 latence <100 ms, P99 <500 ms, dostupnost 99,9 % s mírou chyb <0,1 %.

Strategie ukládání do mezipaměti

Ukládání odpovědí do mezipaměti

Lokální mezipaměť
// Respektujte hlavičky Cache-Control
const cache = new Map();
async function cachedFetch(url) {
const cached = cache.get(url);
if (cached && !cached.isExpired) {
return cached.data;
}
const response = await fetch(url);
const ttl = parseCacheControl(response.headers);
cache.set(url, { data: response, expiry: ttl });
return response;
}

Neplatnost mezipaměti

  • Data akumulace velryb: TTL 5 minut
  • Funding rates: TTL 1 minuta
  • OHLCV data: TTL 1 hodina
  • Historická data: TTL 24 hodin
Získejte svůj API klíč za 30 sekund

Připraveni stavět? Získejte zdarma API klíč (200 volání/den, bez karty) a začněte stahovat živá data o velrybách, financování a on-chain datech.

Získejte svůj API klíč →

Sdružování připojení

Opětovné využití HTTP připojení

Fond připojení
// Node.js HTTP Agent s fondem připojení
const http = require('http');
const https = require('https');
const httpAgent = new http.Agent({
keepAlive: true,
maxSockets: 50,
maxFreeSockets: 10
});
const httpsAgent = new https.Agent({
keepAlive: true,
maxSockets: 50,
maxFreeSockets: 10
});
// Použijte agenty v požadavcích
fetch(url, { agent: httpsAgent });

Nastavení připojení

Parametr Doporučené Odůvodnění
maxSockets 50-100 Vyvážte souběžnost s využitím zdrojů
maxFreeSockets 10-20 Ponechte nečinná připojení pro opětovné použití
keepAliveTimeout 60000ms Soulad s timeoutem serveru

Dávkové operace

Kombinace požadavků

Dávkový dotaz
// Namísto více požadavků
// GET /whales?asset=BTC
// GET /whales?asset=ETH
// GET /whales?asset=SOL
// Použijte jeden dávkový požadavek
GET /v1/whales?asset=BTC,ETH,SOL
// ~200ms ušetřeno oproti 3 sekvenčním požadavkům

Limity dávkování

  • Maximální počet symbolů na požadavek: 100
  • Maximální časový rozsah: 365 dní
  • Maximální počet výsledků: 10 000 řádků

Optimalizace dotazů

Optimalizace požadavků

  • Specifikujte pole — Požadujte pouze potřebná pole
  • Použijte filtry — Snižte velikost odpovědi pomocí filtrů
  • Stránkování — Použijte parametr limit, nikoli offset
  • Časové rozsahy — Požadujte pouze data, která potřebujete
Optimalizovaný dotaz
// Méně efektivní: Mnoho dat
GET /v1/whales?lookback=90d&limit=10000
// Efektivnější: Konkrétní data
GET /v1/whales?
asset=BTC&
metric=accumulation&
lookback=7d&
limit=100

Komprese odpovědí

Gzip komprese

Komprese požadavků
// Povolte kompresi v požadavcích
fetch(url, {
headers: {
'Accept-Encoding': 'gzip, deflate'
}
});
// API automaticky komprimuje, pokud je podporováno
// Typická komprese: snížení velikosti o 70-80 %

Úspory díky kompresi

Typ dat Nekomprimované Komprimované Úspory
JSON odpovědi 500KB 85KB 83%
Velké tabulky 2MB 350KB 82%

Asynchronní/paralelní vzory

Souběžné požadavky

Paralelní požadavky
// Neefektivní: Sekvenční
const btc = await fetch('/whales/BTC');
const eth = await fetch('/whales/ETH');
const sol = await fetch('/whales/SOL');
// Celkový čas: ~300ms
// Efektivní: Paralelní
const [btc, eth, sol] = await Promise.all([
fetch('/whales/BTC'),
fetch('/whales/ETH'),
fetch('/whales/SOL')
]);
// Celkový čas: ~100ms (3x rychlejší!)

Metriky výkonu

Klíčové metriky

Metrika Cíl Měření
P50 Latence <50ms Medián doby odezvy
P95 Latence <100ms 95. percentil
P99 Latence <500ms 99. percentil
Propustnost >1000 req/s Požadavky za sekundu

Sledování výkonu

Sledování výkonu
// Sledujte dobu odezvy
const start = performance.now();
const response = await fetch(url);
const duration = performance.now() - start;
// Zaznamenejte pro analýzu
console.log(`Požadavek trval ${duration}ms`);

Benchmarking

Testování zátěže

Benchmarkujte svou integraci, abyste identifikovali úzká místa:

  • Nástroj: Apache Bench, wrk nebo Locust
  • Testujte s realistickými úrovněmi souběžnosti
  • Měřte distribuci latence, nejen průměr
  • Testujte s teplou a studenou mezipamětí

Doporučení pro optimalizaci

Rychlé výhry

  1. Povolte HTTP spojovací fond (1-5x zlepšení)
  2. Implementujte lokální mezipaměť (10-50x pro opakované požadavky)
  3. Používejte dávkové operace (2-5x snížení počtu požadavků)
  4. Povolte kompresi gzip (3-5x snížení šířky pásma)

Pokročilé optimalizace

  1. Implementujte CDN mezipaměť pro historická data
  2. Používejte fondy připojení k databázi pro lokální mezipaměť
  3. Implementujte vzor pojistky
  4. Používejte proudové odpovědi pro velké datové sady

Dosažení maximálního výkonu

Smart Money API je postaveno pro rychlost. Implementujte tyto optimalizační strategie pro latenci pod 100 ms a maximální propustnost.

Zobrazit výkonnostní úrovně
Pro a Enterprise plány zahrnují pokročilé funkce mezipaměti a výkonu.

Související zdroje

Začněte zdarma — 200 volání/den, bez karty

Získejte živý tok velryb, financování, otevřený zájem a on-chain data napříč 3 burzami z jednoho API. Volná úroveň, bez kreditní karty, upgrade kdykoli.

Začněte zdarma →
Vyzkoušejte živou API konzoli → (účet není potřeba)