• The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Plesk 12.x for high traffic server?

EricVis

Basic Pleskian
Is there anything in Plesk settings or configuration files that needs to be adjusted for high traffic webistes?

Hardware and some linux based configuration is taken care of. Plesk will run on CentOS with 1 website, no other services, just apache/nginx. Website is generally slow but has sudden high traffic spikes due to external ads - traffic is legit and we have no control over ad schedule or frequency.

Anything PLesk specific that needs ot be done to optimize for this?
 
Is there anything in Plesk settings or configuration files that needs to be adjusted for high traffic webistes?

Hardware and some linux based configuration is taken care of. Plesk will run on CentOS with 1 website, no other services, just apache/nginx. Website is generally slow but has sudden high traffic spikes due to external ads - traffic is legit and we have no control over ad schedule or frequency.

Anything PLesk specific that needs ot be done to optimize for this?
 
Increase memory for apache and adjust some nginx.conf settings.

However, before going into detail, why not using a load-balanced set of VMs?

In a load-balanced setting, the traffic is routed at each request, hence reducing the pressure for each of the VMs.

Kind regards....
 
VM on one dedicated server? I have to keep this setup very simple, there is tons of content update during high traffic so don't want to deal with sync etc.

Any specific nginx.conf/apache settings I should be looking for?
threads, child process etc?
 
No, two VMs, by preference in the cloud, Azure and/or Amazon. No sync needed.

Try to increase the memory_limit value in the file /opt/psa/admin/conf/php.ini (and test it, by clicking a number of times on the website).

Analyse the apache logs, to find a more elaborate explanation of the site being slow (it should not be).

Tuning nginx.conf is rather tricky, we leave that for later (it is comparable to a doctor stating: take the ibuprofen, let´s wait with the brain surgery).
 
Thanks for hints.

Could you please explain a little bit more what do you mean by no sync? If I understand Amazon setup correctly, I can add as many webservers on fly behind loadbalancer but I don't understand what do you mean by no sync. Let's say I have primary webserver and 2 additional added behind loadbalancer and need to replace content on 1 of the CMS pages or an image. How does it replicate to these 2 additional webservers?
 
Well, the website data is static, so one installation per webserver should be sufficient, adding a load-balancer does the trick.

In addition, note that nginx does not need to be replicated/synced, since it is just a cache.

By the way, in Azure it is easier to load-balance.

Are you Dutch and, if so, where are you hosting?
 
Running a single website with Plesk on the server is a TOTAL waste of the server resources.
You could just run a MINIMUM installation of your server OS with just the Webserver, MySQL & PHP...

You could save a-lot on RAM, CPU Power, HDD which of-course can then be passed onto the spike in traffic increase.
 
@abdi,

Even though my first reaction to the post by Eric was very similar to your (recent) reaction, I have to emphasize the following.

A lot of hosting providers do provide a VPS and/or Dedicated Server with a free 10-domain Plesk license, so no harm there.

Furthermore, the average Plesk customer is preferring the pre-packaged Plesk solution over the (manual/individual) installation and maintenance of the various packages required.

More important, a manual/individual installation does not yield any advantages over a MINIMUM Plesk installation, given the facts that

a) Plesk mostly consists of the standard Open Source packages (Apache, MySql, etc.) that would or have to installed anyway,

b) Plesk uses all bare-minimum server maintenance and control tools, needed for a proper administration/control of a server,

c) some Plesk processes are what suboptimal regarding performance (in a general sense, being CPU, RAM, etc.) and tweaking of that performance issues is just the same as optimizing the packages installed with a manual/individual installation.

Naturally, it is a valid question whether Eric needs one whole server (VPS or dedicated) with Plesk for the hosting of one domain.

The unambiguous answer should be "no".

That is, for either an experienced administrator or a person with a lack of resources (for instance, no access to cloud-based websites, such as the free Azure websites).

In general, it makes (some but not full) sense that Eric is using Plesk in this case.

Kind regards....
 
Thanks guys for the input.

Yes, I need to stay on dedicated machine, can't go for cloud based solution - client restrictions.
Plesk gives me a headache with updates but in return I get nginx out of the box, easy SSL updates and many more basic server settings which is a great time save for me.

I'm dealing with 1 website that has sudden high traffic spikes due to advertising which I can't control so I need to ensure that all web related software is preset to handle much more requests, have adjusted limits like ulimit, child processes etc.

There is tons of settings in Apache, Nginx, DB, linux level that can be adjusted to allow more requests per second. Having powerful machine allows me to handle more in high traffic spikes but doesn;t hurt during normal slow every day work.
If you could think about any specific variable, setting, config that should be adjusted, please let me know.

Thanks!
 
@abdi,
a) Plesk mostly consists of the standard Open Source packages (Apache, MySql, etc.) that would or have to installed anyway,

b) Plesk uses all bare-minimum server maintenance and control tools, needed for a proper administration/control of a server,

c) some Plesk processes are what suboptimal regarding performance (in a general sense, being CPU, RAM, etc.) and tweaking of that performance issues is just the same as optimizing the packages installed with a manual/individual installation.

You really can't compare a bare and minimum installation of the server with a plesk server...(At minimumyou save over 40% of system resources, without Plesk/cPanel)

The ONLY exception is the lack of knowledge & skill to set-up a bare server, but otherwise if its a HIGH traffic site as stated (which of-course am already doubting) he would have already figured this out ...and a system possessive control panel wouldn't be an option in this setup.
 
@abdi,

In general, we do not disagree.

In the case of Eric, I still would advise the Plesk installation (even though I personally would never run this set-up, if I were to be the sysadmin).

Kind regards....
 
@eric,

Yes, I need to stay on dedicated machine, can't go for cloud based solution - client restrictions.

What "client restrictions"? To what do you refer?

I'm dealing with 1 website that has sudden high traffic spikes due to advertising which I can't control so I need to ensure that all web related software is preset to handle much more requests, have adjusted limits like ulimit, child processes etc.

To be clear on this: do you have adjusted setting, OR do you want and still have to adjust settings??

There is tons of settings in Apache, Nginx, DB, linux level that can be adjusted to allow more requests per second.

True, but not necessary in your case, I presume.

I am assuming that you have some javascript serving advertisements, am I correct?

Are you aware that you can run the javascript from another domain and/or server, in order to reduce the workload on the current server?

Are you also aware that any script, resulting in those traffic spikes, should be reviewed and/or rewritten (a form of good practice)?

In the current case, you should be aware that you have been

- delivered external ads (read: they are static and the number of ads will probably be relatively minimal)
- delivered external ads dynamically (read: they are loaded from an external server at each request, resulting in the question why you have the OUTGOING traffic)

and parts of simple solution should hence be lying in (amongst others)

- caching of one or more (static) ads (hence preventing a lot of incoming traffic)
- serving ads directly from an external server (hence preventing a lot of outgoing traffic on your own server)

and that would simply requiring (amongst others) the rewriting of the script serving the external ads.

To be honest, if you are relying on a third party (providing income with ads), you should select a different third party OR if you have been creating your own script or code (to serve external ads to provide income), you should optimize the code/script.

In many ways, I have the feeling that all the alterations in the world cannot change your server´s performance, as long as the code/script (serving ads) is not optimal.

Please explain the factual situation in more detail and/or provide some of the output logs.

Kind regards.....
 
Is there anything in Plesk settings or configuration files that needs to be adjusted for high traffic webistes?

Hardware and some linux based configuration is taken care of. Plesk will run on CentOS with 1 website, no other services, just apache/nginx. Website is generally slow but has sudden high traffic spikes due to external ads - traffic is legit and we have no control over ad schedule or frequency.

Anything PLesk specific that needs ot be done to optimize for this?

Looking back at your original question it seem like you were looking for practical advice.

In /etc/httpd/conf/httpd.conf, adjust apache MaxClients according the the amount of RAM on the server. Here's an old post on the topic:

http://blogs.reliablepenguin.com/2009/03/30/apache_maxclients

Probably find something newer on Google. We often see servers with lots of idle RAM because this setting is left at the default.

Also:

1. Make sure you have Nginx being used for static content.

2. Under Hosting Settings, turn off scripting that is not being used - CGI, Ruby, Perl, etc ... don't run it if you don't actually need it. If you're not hosting email of the server then turn off email features.

3. Make sure backups are running at non-peak load times.

4. Use mysqltuner and adjust innodb buffer size, myisam key buffer size, query cache size, etc to optimize database performance.

5. If it's WordPress or Drupal, then make sure you have caching enabled with something like W3 Total Cache or Boost.

Hope this helps.
 
Back
Top