The question is not how many users you have, but how many concurrent users (who are using ProcessMaker at the same time).
You should set up one server for MySQL and another server for ProcessMaker. You might want to set up a separate harddrive or NAT for the /opt/processmaker/shared directory if you are going to have a lot of Input and Output Documents.
You should have a minimum of 200 MB of RAM for each concurrent user on the ProcessMaker server, but if your users are going to downloading and uploading big files, you might need more RAM per user. You want a lot of RAM in the MySQL server.
You want your servers to have as many processing cores as possible. Your router and servers should use 10GBit ethernet, if this is a local network. If your ProcessMaker server doesn't have a lot of processing cores or your internet/ethernet connection isn't very fast, you might have to set up multiple servers for ProcessMaker. See: http://iws.io/multiple-web-servers-over ... rse-proxy/
You should consider getting a license for ProcessMaker Enterprise Edition, because it is optimized for faster database access of case lists. In my experience, the Inbox case list is 4 times faster in the Enterprise Edition when there is a large database and a large number of users.
You also might want to see the recommendations in this article:
https://www.tecmint.com/mysql-mariadb-p ... imization/
The "skip-name-resolve" has helped me.
Amos B. Batto ♦ ProcessMaker Technical Documentation Writer & Forum Manager ♦ Cofounder of ILLA (http://www.illa-a.org)