On question 3 and 4.
3. An instance of an application server runs in a single
Java Virtual Machine (JVM) process. However, the inherent concurrency limitations of a JVM process prevents it from fully utilizing the processing power of a machine. Creating additional JVM processes provides multiple
thread pools, each corresponding to the JVM associated with each application server process. This avoids concurrency limitations and enables the machine's processing power to be fully used.
Vertical scaling provides a straightforward mechanism for creating multiple instances of an application server, and hence multiple JVM processes. This enables the application server to make the best possible use of the processing power of the host machine.
4. Yes, there is stack size and heap size in websphere. You can set the same using JVM Parameter settings through Admin console or using command line. Usually these parameters determine the Garbage collection frequency. Read IBM Materials on GC to understand how these configurations affect the same.