Skip to main content

Performance Optimization

v18.0.1.0.4

The BJET API Synchronization Module includes several performance optimization features to ensure efficient operation.

Pagination Support

The module provides pagination capabilities for handling large datasets:

  • Configurable record limits per request - Set the maximum number of records to process at once
  • Automatic pagination for large datasets - Automatically splits large data sets into manageable chunks
  • Memory-efficient data processing - Reduces memory consumption by processing data in batches

Batch Processing

Optimize API operations by processing multiple records together:

  • Handle multiple records in a single API call - Reduce the number of API requests
  • Optimized database queries - Efficient data retrieval from Odoo
  • Reduced network overhead - Minimize network traffic and latency

Timeout Management

Configure timeouts to optimize connection handling:

  • Connection Timeout: Maximum time allowed to establish an API connection (default: 5 seconds)
  • Read Timeout: Maximum time allowed to wait for response data (default: 15 seconds)
  • Configurable per API: Individual timeout settings can be defined for different APIs

Best Practices

To optimize performance when using the API Synchronization Module:

  1. Use appropriate batch sizes - Configure batch sizes based on your data volume and API limitations
  2. Apply efficient domain filters - Filter records at the database level to reduce processing
  3. Monitor API rate limits - Respect external API rate limits to avoid throttling
  4. Cache frequently accessed data - Leverage the built-in caching mechanisms

Common Performance Issues and Solutions

Timeout Errors

  • Solution: Increase connection or read timeout values in the configuration
  • Check network connectivity and external API performance

Memory Issues with Large Datasets

  • Solution: Enable pagination and reduce batch size
  • Process records in smaller chunks

Slow Synchronization

  • Solution: Optimize domain filters to reduce the number of records
  • Use batch processing to reduce API calls
  • Verify external API response times