# APM Server/Agent Deployment Questions

**URL:** <https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128>\
**Category:** APM\
**Tags:** server\
**Created:** [November 8, 2019, 2:26pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128 "2019-11-08T14:26:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alyson\_Whitaker](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alyson_whitaker/32/57395_2.png) [@Alyson\_Whitaker](https://discuss.elastic.co/u/Alyson_Whitaker)\
**Post date:** [November 8, 2019, 2:26pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128/1 "2019-11-08T14:26:04Z")

</div>

I just started a new job, and have been tasked with researching deploying APM on an existing ELK stack. I have not worked with this technology before, so I'm watching a lot of videos and reading a lot of documentation trying to get up to speed.  
I have tried to find documentation on system requirements, but not really finding a thorough answer as far as enterprise deployment. So hopefully someone can point me in the right direction.  
Our current environment consists of the following (All hosted on AWS):  
3 master elasticsearch servers that hold the API /queries/cluster management.  
3 data elasticsearch servers  
2 Kibana servers/ with logstash and beats

So based on this environment, how many APM servers would be suggested? What about sizing/cpu/memory?

I'm sure I am going to have more questions.. just trying to find somewhere to start.

---

<div class="post-metadata">

**Author:** ![gil](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/gil/32/41911_2.png) [@gil](https://discuss.elastic.co/u/gil)\
**Post date:** [November 9, 2019, 1:52pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128/2 "2019-11-09T13:52:53Z")

</div>

Hello @Alyson_Whitaker, glad to hear you're giving APM a spin. APM Server sizing is generally based on the kinds of applications you're instrumenting. This [guide](https://www.elastic.co/guide/en/apm/server/7.3/sizing-guide.html) should help get you to an initial deployment. We recommend you enable [monitoring](https://www.elastic.co/guide/en/apm/server/7.3/monitoring.html) to keep an eye on APM Server performance.

Good luck and keep the questions coming!

---

<div class="post-metadata">

**Author:** ![Alyson\_Whitaker](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alyson_whitaker/32/57395_2.png) [@Alyson\_Whitaker](https://discuss.elastic.co/u/Alyson_Whitaker)\
**Post date:** [November 11, 2019, 3:28pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128/3 "2019-11-11T15:28:08Z")

</div>

Thanks @gil for your response. Do you have any documentation that can give me an insight on how many APM servers I should have in my stack? I'm not sure whether I should match the amount of APM with our current elastic search servers.

---

<div class="post-metadata">

**Author:** ![chandra2037](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chandra2037/32/72142_2.png) [@chandra2037](https://discuss.elastic.co/u/chandra2037)\
**Post date:** [November 11, 2019, 5:23pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128/4 "2019-11-11T17:23:52Z")

</div>

Hi @Alyson_Whitaker,

As @gil mentioned, APM server sizing depends on the kind and number of applications that need to be instrumented.

Review how many applications that need to be instrumented, and how much load you are expecting from each server. I would say start out with setting up an APM server with medium size and instrument one of your application and monitor the following

- Memory
- CPU
- Load
- Failed Rate
- Response Errors

Now you will have a better idea about how much load you might be dealing with, then you can determine the APM server sizes and number of instances

This [guide](https://www.elastic.co/guide/en/apm/server/7.4/processing-performance.html) will inform you about the performance for various instance types (512Mb vs 2Gb vs 8Gb). Also, see this note

> Don’t forget that the APM Server is stateless. Several instances running do not need to know about each other. This means that with a properly sized Elasticsearch instance, APM Server scales out linearly.

Some of the important [configuration options](https://www.elastic.co/guide/en/apm/server/current/configuration-process.html#_configuration_options_queue_mem) that you need to consider are

- queue.mem.events
- queue.mem.flush.min\_events
- output.elasticsearch.workers
- output.elasticsearch.bulk\_max\_size

You can review some of the tuning options [here](https://www.elastic.co/guide/en/apm/server/current/tune-apm-server.html).

While monitoring the APM server, you can review [here](https://www.elastic.co/guide/en/apm/server/7.4/common-problems.html#queue-full) for some common problems that you may encounter.

Good luck!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 2, 2019, 1:23pm UTC](https://discuss.elastic.co/t/apm-server-agent-deployment-questions/207128/5 "2019-12-02T13:23:54Z")

</div>

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.
