Invoker Analytics/Documentation
Features

Performance & Optimization

Invoker Analytics is built for speed. Learn about our recent performance improvements.

Recent Improvements (v1.6.0)

We've achieved a 70-85% performance improvement through comprehensive backend optimizations. Your analytics load faster, dashboards respond instantly, and the user experience is smoother than ever.

70-85% Performance Boost

Our latest optimizations dramatically reduce server load and response times:

  • IP Geolocation Caching: 30-day Redis cache reduces external API calls by 95%
  • Dashboard Consolidation: Single optimized API endpoint instead of 4 separate calls
  • Request Deduplication: 60-second cache prevents duplicate queries, 75% reduction in database load
  • PostgreSQL Query Optimization: Covering indexes and CTEs for faster data retrieval
  • Redis Integration: High-performance caching layer for frequently accessed data

Skeleton Loading States

All analytics pages now feature professional skeleton loaders that improve perceived performance:

Dashboard
Instant visual feedback showing stats cards, charts, and tables structure
Pages Analytics
Smooth loading animations for page performance breakdowns
Events & Goals
Professional skeletons for conversion tracking and event analytics
All Analytics Pages
Consistent loading experience across referrers, locations, visitors, UTM, and OS pages

Performance Metrics

Here's what you can expect from Invoker Analytics:

  • Average API Response Time: Less than 200ms (cached requests under 50ms)
  • Dashboard Load Time: Under 300ms for full page render
  • Time to Interactive: Less than 500ms
  • Tracking Script Size: Less than 1KB gzipped
  • Cache Hit Rate: 85%+ for repeated queries

Technical Architecture

Caching Strategy

We use a multi-layered caching approach:

  • Redis Cache: 5-30 minutes for dashboard data, 30 days for geolocation lookups
  • Browser Cache: Aggressive caching headers for static assets
  • Database Query Results: Cached for repeated date range queries
  • Computed Aggregates: Pre-calculated statistics updated in background jobs

Database Optimization

PostgreSQL-specific optimizations for lightning-fast queries:

  • Covering Indexes: Indexes that include all columns needed for common queries
  • Partial Indexes: Optimized indexes for filtered queries
  • CONCURRENTLY Indexes: Zero-downtime index creation for production
  • Common Table Expressions (CTEs): Efficient query composition

Real-time Polling

The real-time analytics view has been optimized:

  • Polling interval increased from 10s to 30s (67% reduction in requests)
  • Efficient database queries using time-based indexes
  • Incremental updates instead of full refreshes

Best Practices for Performance

Use Date Filters Wisely

Narrow date ranges load faster than broad ones:

  • Use "Today" or "Last 7 Days" for frequent checks
  • Avoid unnecessarily long custom date ranges
  • Cache is more effective with consistent date range selections

Leverage the Consolidated Dashboard

The main dashboard endpoint is optimized to fetch all data in one request:

  • Overview stats (pageviews, visitors)
  • Time-series data for charts
  • Top pages and referrers
  • All fetched in a single database query

Enable Browser Caching

Make sure your browser cache is enabled:

  • Static assets are cached for 1 year
  • Dashboard data is cached based on selected date range
  • Hard refresh (Ctrl+Shift+R) if you need fresh data

Streaming Exports

For large datasets, we use streaming exports:

  • Memory Efficient: Processes data in chunks instead of loading everything at once
  • No Timeouts: Handles millions of records without server timeouts
  • Fast Downloads: Starts downloading immediately while processing continues

Monitoring & Alerts

We continuously monitor our infrastructure:

  • Real-time performance metrics and alerting
  • Automatic scaling during traffic spikes
  • Database query performance tracking
  • Cache hit rate monitoring
  • 99.9% uptime SLA for paid plans

Future Optimizations

We're continuously working on making Invoker Analytics even faster:

  • GraphQL API for flexible data fetching
  • Server-side rendering for instant page loads
  • WebSocket connections for true real-time updates
  • Edge caching for global low-latency access