<p>I've a web application (soap service) running in Tomcat 8 server in Openshift. The payload size is relatively small with 5-10 elements and the traffic is also small (300 calls per day, 5-10 max threads at a time). I'm little confused on the Pod resource restriction. How do I come up with min and max cpu and memory limits for each pod if I'm going to use min 1 and max 3 pods for my application?</p>

<p>It's tricky to configure accurate limitation value without <code>performance test</code>.
Because we don't expect your application is required how much resources process per requests. A good rule of thumb is to limit the resource based on heaviest <code>workload</code> on your environment. Memory limitation can trigger <code>OOM-killer</code>, so you should set up afforded value which is based on your <code>tomcat</code> <code>heap</code> and <code>static</code> memory size.
As opposed to <code>CPU</code> limitation will not kill your pod if reached the limitation value, but slow down the process speed.</p>

<p>My suggestion of each limitation value's starting point is as follows.</p>

<ul>
<li><code>Memory</code>: <code>Tomcat(Java)</code> memory size + 30% buffer</li>
<li><code>CPU</code>: personally I think <code>CPU limitation</code> is useless to maximize the
process performance and efficiency. Even though <code>CPU usage</code> is afforded and the pod
can use full cpu resources to process the requests as soon as
possible at that time, the limitation setting can disturb it. But if
you should spread the resource usage evenly for suppressing some
aggressive resource eater, you can consider the <code>CPU limitation</code>.</li>
</ul>

<p>This answer might not be what you want to, but I hope it help you to consider your capacity planning.</p>
