SuperAPI AI Directory

quicknode-performance-tuning

General & other

View repository

Updated 10-15 23:28

About this skill

QuickNode Performance Tuning

Overview

Optimize against a declared service-level objective and QuickNode's endpoint metrics. Separate provider latency from client queueing, chain execution, payload transfer, and downstream decoding.

Prerequisites

  • Endpoint ID, chain, network, and latency/error SLO
  • A representative method and payload workload
  • Access to endpoint metrics or an application-side measurement source

Instructions

Step 1: Establish a baseline

Use Read and Grep to find timeouts, concurrency, connection pools, retries, batch settings, and method mix. Measure end-to-end and provider-call latency separately.

Step 2: Read provider metrics

Use Bash(qn:*) for authenticated endpoint metrics, including method calls, response codes, chain errors, and supported percentile views. Keep the time range and percentile explicit.

Step 3: Segment the workload

Compare method, network, payload size, block age, cacheability, and protocol. Historical traces and large log ranges must not be averaged with a small latest-block read.

Step 4: Remove avoidable work

Use Write or Edit to reuse connections and configured clients, coalesce identical reads, cache immutable block results, paginate large ranges, and request only necessary fields where the API supports it.

Step 5: Control concurrency

Set a bounded in-flight limit below measured saturation. Use JSON-RPC batching only where the chain and client contract support it, and cap both batch count and response size.

Step 6: Validate the change

Replay the same workload and compare p50, p95, p99, error rate, credits, and application queue time. Roll back if tail latency or chain-error rates worsen even when the mean improves.

Tool Discipline

Use Read and Grep for code and configuration discovery, Bash(qn:*) for read-only metrics, and Write/Edit for bounded performance changes and tests. Do not change production capacity or rate limits implicitly.

Output

  • Layered baseline and SLO
  • Method-segmented bottleneck finding
  • One controlled optimization
  • Before/after percentile, error, and credit receipt

Examples

A logs query dominates p99 and payload bytes. The service narrows block ranges and paginates that method while leaving fast latest-block reads unchanged.

Error Handling

Failure Response
Metrics unavailable Use application timings and document the plan limitation
Average improves but p99 worsens Reject or isolate the change
Batch response grows unbounded Cap batch and payload size
Retries increase load Open the circuit and revisit the root error class

Resources