-1

I have a Laravel PHP webapp that shows analytics data in Angular frontend to users. User can only show content, plots and tables. I have written 3 laravel commands that hourly download and store data into mysql db. The main components in the server are:

  • The API written in PHP with Laravel framework.
  • The angular frontend.
  • The nginx web server that serve API and Frontend.
  • The mysql DB that is used to store and retrieve data.

The application is online and works good with default php-cli/php-fpm, nginx, mysql configuration without any tune for current user load (10 user per minute).

I expecting a great user flow for a particular event next week, so I decided to increase server resources from 8GB RAM and 4 core to 32GB RAM with 8 core on SSD.

I'm quite new in server and db administration, I read that each component (php, mysql and nginx) have configurations that allows an amount of memory or a number of child process to be run.

How can I adjust configuration properties to use my server resources at best?

Thanks in advance!

1 Answers1

0

"A great number of user" is rather vague. If you mean 1K, there is no problem. If you are talking 1M, we need to look closer at what queries you will be using. For 1G, the platform (both Laravel and 8GB of RAM) is probably woefully inadequate.

Meanwhile, there is no "magic setting" to boost the performance.

I suggest you wait until you have 1K users or are having performance problems. At that point, we can possibly help with some slow queries or you can add more RAM. It is impossible to say when that threshold will be hit; it depends on your traffic.

Rick James
  • 2,743