Though I tried to use artillery, but however I tried, maybe my download is incomplete, I always cannot successfully run the commands, then I turned to JMeter, a test tool, basic use is like below:
Add sampler, http request,
Add config unit, add http header
Threadgroup, add listener, view result tree,
The JMVC project does not show good result, a lot of errors for the http requests.
One thing I noticed is the connection pool threw the connection returned is not in the pool, seems the connection is released so it cannot be used again, java is closing the connection automatically?,
Seemed I only set 5 for the connection pool, so it cannot respond to too many threads, I should seek to find a proper value as threshold of the database connection pool.
The issues are resolved after I set the connection pool to singleton and also 1000 for the pool, the mysql server has 1000 max connections, then each app might take up several hundred connections, I tested multiple apps connecting to the mysql server, when the total connection reaches above 1000, the response will be server too many connection, but for the live connections that are in the 1000, they still work well, so still resource issue, since JMVC is using simple memory cache, this could be resolved after the cache is better made use of, since the JMVC might still need a simple IOC container and a packages scanner to serve as registry of classes and interfaces, but for now I want it to be simple enough with no IOC which might result in the start up period very long, it's ready to use, the ORM, connection pool, API, JWT, upload, mappers,