• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Issue nodeJS timeout, but the server is not overloaded

expomeeting

New Pleskian
Hello everybody,
I can't find detailed documentation on nodeJS configuration on Plesk. All the documentation I find stops at installing a simple "hello world" app.

One of our servers runs an app in nodejs which is quite CPU intensive and makes a lot of mysql requests. No problem with limited traffic, but it happened that the traffic had a peak of traffic and the service has become unreachable (504, 500 and so on).

The thing I don't understand is that in the plesk monitoring tool, the server has always been well below limits. So it is evident that there is something wrong with the nodeJS configuration... However I have not found documentation for a more advanced configuration, does anyone know how to point me in the right direction?

The peak happened after 8.00AM.

1664007944763.png
1664007898906.png

Thanks for your help.
 

Attachments

  • 1664007764295.png
    1664007764295.png
    78.9 KB · Views: 1
I'trying to configure passenger manually, but there is something I don't understand.

My /etc/nginx/conf.d/phusion-passenger.conf file looks like this:
passenger_root /usr/share/passenger/phusion_passenger/locations.ini;
passenger_log_file /var/log/passenger/passenger.log;
passenger_log_level 5;
max_app_processes = 100;
passenger_max_pool_size = 100;
passenger_min_instances = 1;
# Avoid downloading of sources or binary for ruby passenger_native_support.so
# after each nginx restart by default because of development packages
# or libruby.so.X.Y may be missed anyway.
# Ruby passenger_native_support.so is packaged for system ruby only.
passenger_env_var PASSENGER_COMPILE_NATIVE_SUPPORT_BINARY 0;
passenger_env_var PASSENGER_DOWNLOAD_NATIVE_SUPPORT_BINARY 0;
Then I restart the app, and open a bunch of connections. But if I run passenger-status, I get
----------- General information -----------
Max pool size : 6
App groups : 1
Processes : 1
Requests in top-level queue : 0
----------- Application groups -----------
/var/www/vhosts/example.com/cloud.example.com (production):
App root: /var/www/vhosts/example.com/cloud.example.com
Requests in queue: 0
* PID: 16858 Sessions: 1 Processed: 169 Uptime: 1m 3s
CPU: 8% Memory : 101M Last used: 2s ago
I expect my "Max pool size" should be 100.... What do I do wrong?

And another question: why this app is served by Apache?
The following Phusion Passenger(R) instances are running:
Name PID Description
--------------------------------------------------------------------------
CH8YYVd8 8846 nginx/1.20.2 Phusion_Passenger/6.0.13
dJHZGrMf 16769 Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1 mod_fcgid/2.3.9 Phusion_Passenger/6.0.13
Is it a nonsense, isn't it? How do I configure that to be served directly by nginx?
 
I'trying to configure passenger manually, but there is something I don't understand.

My /etc/nginx/conf.d/phusion-passenger.conf file looks like this:

Then I restart the app, and open a bunch of connections. But if I run passenger-status, I get

I expect my "Max pool size" should be 100.... What do I do wrong?

And another question: why this app is served by Apache?

Is it a nonsense, isn't it? How do I configure that to be served directly by nginx?
Hi Expomeeting,

Did you manage to figure this out? I am trying to performance tune because it looks like the default max pool size is set to '6'.
 
Back
Top