DreamFactory is a web-based PHP application, and as such its performance will in part be determined by the hosting server's configuration. We recommend using the latest PHP release along with the [NGINX] and [PHP-FPM], all of which should be available or installable on any capable hosting service.
Several server monitoring tools exist for helping you tune your NGINX and PHP-FPM installations, the most notable being [Amplify].
Load Testing Your DreamFactory Environment
We recommend periodically load testing your DreamFactory environment during the development phase. You can choose from an array of load testing services such as [loader.io], or using load testing software such as [Apache Bench].
Performance and Scripted Services
Performance and Database Services
Like any other database-driven application, the performance of database services (MySQL, PostgreSQL, Oracle, etc.) will heavily depend upon the underlying database's tuning. Most notably, you should take care to properly index all tables used in conjunction with the service!
If in your DreamFactory log you see the error message "SQLSTATE[HY000]  Too many connections", all of MySQL's available connections have been exhausted. If you're in control of the MySQL server, you can change the maximum allowable number of connections by modifying the max_connections system variable. If you're using a cloud service provider such as Amazon's RDS, the max_connections variable cannot be changed and you'll need to resize your RDS instance to handle the additional traffic. For instance, a t2.micro instance can handle a maximum 66 simultaneous connections. A t2.small can handle 150. A t2.medium can handle 312.
Consider picking up a copy of [High Performance MySQL] to learn more about MySQL tuning.