Question

Website is taking too much time to open. Need changes MaxRequestWorkers

Posted October 26, 2020 492 views
ApacheServer OptimizationLEMPInitial Server Setup

I am facing slow website and I check apache error log and I found following error

AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

I saw some tutorial and found that is some issue with my apache2buddy tool and I set MaxRequestWorkers as per tool showing but its not allow or consider more than 256

/etc/apache2/mods-enabled/mpm_prefork.conf file.

Configuration of my mpm_prefork.conf is as following

<IfModule mpm_prefork_module> 
    StartServers                    10
    MinSpareServers                 10
    MaxSpareServers                 40
    MaxRequestWorkers               256
    MaxConnectionsPerChild          10000
</IfModule>

I tried to increase more than 1000 and also used
I am also mention my site structure it such as

http://droplet-ip/console1
http://droplet-ip/console2
http://droplet-ip/console3
http://droplet-ip/console4
http://droplet-ip/console5
http://droplet-ip/console6
http://droplet-ip/console7

I am also my server details which is as following

Ubuntu 18.04 (LTS) x64
Size 4 vCPUs
8GB / 160GB Disk

What’s going wrong please help me to solve this issue

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

Hi @nayanbaraiya2808,

I’m just posting the typical issues/resolutions to such cases. They are almost every time connected with two things - Website Optimization and Server/Droplet Optimization.

Let’s start with Server Optimization.

When looking at Server/Droplet Optimization, there are a few necessary services/packages that are universal.

  • The first one would be Server-side caching. Server cache is an umbrella term covering a number of different types of caching. This includes Content Delivery Network (CDN) caching, object caching, and opcode caching. Depending on what you want to achieve you might need one or the other. Usually, though, you can have all 3 types of caching as it shouldn’t interfere with your Website/App. I won’t go into more details about what each caching does as this post will become 3 pages long. There are multiple documents providing services/packages for each of the server-type caching.

  • Next would be using PHP-FPM (if your Website is using PHP of course). PHP-FPM is an efficient method on how to minimize the memory consumption and rise the performance for the Websites with heavy traffic. It is significantly faster than traditional CGI-based methods in multi-user PHP environments.

  • Another solution would be Database Caching. A database cache supplements your primary database by removing unnecessary pressure on it, typically in the form of frequently accessed read data. The cache itself can live in a number of areas including your database, application or as a standalone layer. Usually, for this kind of caching is being used Redis.

  • Apache NPM modules. If you are using Apache, you are using one of three NPM modules. Most certainly if you haven’t configured anything on it and have used the default configuration, you are using NPMPrefrok which is the most outdated one and thus the slower. I’ll recommend using one of the other two - NPMWorker and NPM_Event depending on your situation. Again, I would urge you to read more about these 3 and what is applied in which case.

Those were the basic optimizations on a server level, let’s start with your Website/App

If you are using a CMS like WordPress, Magento, Joomla, Opencart or anything of the same matter, there will be plugins/addons. These addons can be very powerful if used correctly. The most helpful plugins are:

  • Caching Plugins
  • Image Optimization Plugins
  • Plugins that reduce redirections/requests
  • Plugins that reduce the size of JS and CSS files.

If you are not using a CMS, you’ll need to try and do what these plugins are doing manually.

Usually, Websites/Apps are slow because of a couple of reasons which range from too many requests or big images to a bunch of unnecessarily big JS or CSS files. Optimizing these whether you are using a Plugin or doing it manually is enough.

I hope this was helpful.

Regards,
KFSys