How to reduce Apache connections caused by plugins?

First of all, we need to clear up some terminology here. You and your host are citing “Apache connections,” which makes no sense.

Basic Application Lifecycle

WordPress is a PHP application. PHP is run in Apache using (typically) mod_php.

When a user requests your website, they send an HTTP request to your server (Apache). Apache sees the request and, based on its configuration, forwards the request to PHP.

PHP will start up WordPress, which reads the URL requested and fires off the appropriate routines to respond – this includes loading any of the the plugins you’ve listed and, if needed, your theme.

After WordPress/PHP build out the HTML for your site, they hand it back to Apache. Apache then hands the response back to the browser.

This is where caching comes in …

Your HTML page likely includes several stylesheets, images, JavaScript files, etc. Each of these resources will be requested by the browser. So we walk through the above process again with the browser requesting a new URL, Apache forwarding that to PHP if needed, and packaging a response.

Your plugins do not, on their own, create any kind of “Apache connection.”

What you can do

You’ve already installed a caching system. Are you sure it’s working? Verify that static content is being served from the cache and you’re one step closer to lowering your server load.

You can also install a front-end cache like Varnish to prevent frequent requests for static content from even getting to Apache.

Also, you can use Nginx instead of Apache to lower your memory footprint.

But all of these are decisions you need to make based on the skills you have, the tools you have available, the resources you have on your VPS (and likely the amount of cash you have to spend on an outside expert).