This section explains how to adapt data ingestion according to your needs.
Tune APM Serveredit
Add APM Server or Elastic Agent instancesedit
If the APM Server cannot process data quickly enough, you will see request timeouts. One way to solve this problem is to increase processing power.
Increase processing power by either migrating to a more powerful machine or adding more APM Server/Elastic Agent instances. Having several instances will also increase availability.
Reduce the payload sizeedit
Large payloads may result in request timeouts. You can reduce the payload size by decreasing the flush interval in the agents. This will cause agents to send smaller and more frequent requests.
Read more in the agents documentation.
Adjust anonymous auth rate limitedit
Agents make use of long running requests and flush as many events over a single request as possible. Thus, the rate limiter for anonymous authentication is bound to the number of events sent per second, per IP.
If the event rate limit is hit while events on an established request are sent, the request is not immediately terminated. The intake of events is only throttled to anonymous event rate limit, which means that events are queued and processed slower. Only when the allowed buffer queue is also full, does the request get terminated with a
429 - rate limit exceeded HTTP response. If an agent tries to establish a new request, but the rate limit is already hit, a
429 will be sent immediately.
Increasing the default value for the following configuration variable will help avoid
rate limit exceeded errors:
APM Server binary
The Elasticsearch Reference provides insight on tuning Elasticsearch.
Tune for indexing speed provides information on:
- Refresh interval
- Disabling swapping
- Optimizing file system cache
- Considerations regarding faster hardware
- Setting the indexing buffer size
Tune for disk usage provides information on:
- Disabling unneeded features
- Shard size
- Shrink index