cPFence I think the basic that is missing here is the EP together along with the nprocwith 100 nproc a website can overload the server because of php resources.
The solution seems to be now that the litespeed enterprise php max connections is set to lower limit that the nproclike ep is in c, something like 20 for connections and 35 nproc seems to create no issues but I am still testing , it's weird that on cl there is no problem but on enhance the load is huge .

I also tried the setting you mention in your blog , and the load issue is even worse 🙂
Server has epic Genoa CPU , with 128 GB of ram

    gmakhs

    What are the system resource settings in the Enhance packages you are using?

    If you use the system resource settings I mentioned above, you should have no issues. The only thing that can bypass these settings is a user abusing MySQL with a poorly written PHP script, plugin, theme, etc.

      gmakhs From my experience, setting IOPS to unlimited works well. Whenever I set IOPS to something like 1024 I do get frequent CPU load spikes to as high as 128, when on a normal day the load is at an average of 3.
      My basic plan has this:

      Memory: 1024MB
      Virtual CPUs: 1
      Nproc: 35
      IO bandwidth: 8MB/s
      IOPS: Unlimited

      You might have a different experience, but on my setup the culprit for high sudden load spikes is when you limit IOPS. Giving it unlimited works perfect.

        cPFence 2 vcpu , unlimited iops , 2 gb ram and it does effect the server greattly if nproc is 100

          gmakhs
          You’re not making use of cgroups with such generous limits. No wonder you’re running into issues.

            gmakhs do you mind to elaborate please ? Which limit is exesive ?

            All of them. You’ll never get things under control with those limits unless you have an extremely powerful server. Use the limits I mentioned earlier as a starting point, monitor performance, and adjust as needed. If a client genuinely needs 2 vCPU and 2 GB RAM, they’re probably not suited for shared hosting anymore. Move them to a small VM instead of compromising the limits for everyone else on the shared server.

              cPFence current server has more resources to allocate than that , and it's fairly empty , the issue Is caused from one website, load jumps from 0.60-080 to 70-120, I see that more people are struggling with similar issues, and the fact that same setting on enhance , with cl and same website, shows that something is wrong with the limits, I will keep poking around and hopefully eventually will figure it out .

                We fixed this with offering unlimited disk I/O and unlimited IOPS with a limited NPROC set to around 30-50 according the plan, and never have faced such issues from past 1 year or so. RAM and CPU are limited though, but even with heavy e-commerce websites generating over $2000 a month, play happily with our 4 vCPU and 4GB RAM shared environment. It depends on how well the site is optimized and the database queries.
                As said by @cPFence above, Cloudlinux limits are very different as compared to hard limits cgroups by Enhance.

                @gmakhs using the same limits nproc 30 on OLS we had 503. using nginx the website runs smoothly (both without caching). i dunno maybe its how OLS spawns its processes.... (honestly did not try to fiddle/tweak the config in OLS as the changes are lost).

                Here are our findings after doing months of trials n tests when we switched from cloudlinux to enhance,

                First of all, always always prefer dedicated server or VPS with dedicated resources, do not prefer vps with shared cpu unless you're just hosting 1 or max 3 websites with average traffic, also prefer good provider, follow this respectively as per your need and situation.. and always choose NVMe (recomended) or SSD disk..

                Use ram:swap in 2:1 ratio, like if your server has 16 GB RAM then use at least 8 GB of swap (again NVMe disk recommended)

                then set following base optimization config at bottom in /etc/sysctl.conf
                (now, be careful here, you should monitor and if this works for you then great otherwise tweak it till you find stable spot)

                vm.swappiness=10
                vm.vfs_cache_pressure=100
                vm.dirty_background_ratio = 5
                vm.dirty_ratio = 20

                and lastly,
                We typically use this as basic plan to start,

                1 vCPU
                2 GB RAM
                IO Unlimited
                IOPS Unlimited
                35 or 40 NPROC

                Hope this helps... play around you'll find what works best for you...

                With 35 NPROC i was in the same boat of the error 503 (using OLS). Than i had to set to 50 for small website and 100 for ecommerce/bigger website, but mall website sometimes gave 503 anyway. So so I turned everything up to 100 NPROC (like i had in Plesk) and now i have no 503, and so I just tune cpu/ram. I'm fine with this config, because a small delay on a website is a lot better than a 503.

                  Vendoz We have a large e commerce site, doing over $4500k/month transactions, and nproc we placed is 50 because before 25 was causing troubles for them, so i can say what kinda server you use plays vital part in it all, resource limit is secondary...

                    gmakhs No, we always stay within 0.85, 0.60 range, and we host 17 websites on same server, in which couple of them are high traffic and others are mostly low to idle..

                    P.S. we did our own optimization to db (my.cnf) and overall server.. also OLS + LSCACHE + REDIS, its all combine efforts..

                    gmakhs current server has more resources to allocate than that , and it's fairly empty , the issue Is caused from one website, load jumps from 0.60-080 to 70-120, I see that more people are struggling with similar issues, and the fact that same setting on enhance , with cl and same website, shows that something is wrong with the limits, I will keep poking around and hopefully eventually will figure it out .

                    Even if your server has plenty of resources and is mostly empty, a single user can still overload it.

                    Want to see it in action? Try this:

                    su - testuser -c "stress --cpu "2" --timeout 3600 &"

                    Run this command 10-15 times, and you’ll see the impact. ( run pkill -f "stress --cpu" to stop them )

                    Yes, CloudLinux is far more advanced than cgroups and is an excellent product, but with Enhance’s cgroups combined with containerization, you can get the job done for free if you know what you’re doing and follow best practices. The only real issue you might face is MySQL abuse.

                    pratik_asabe It could be, i'm not saying you're wrong, but precisely because you have a large website doing over 4k/month I don't understand the point of taking on the risk of setting 20/30/40/50 NPROCS when you would sleep safely with 100 (and if you're already limiting cpu/ram it will never overload). Black friday sales, christmas, intensive backend operations, analytics, everything could create problems if you're joking with the limit.

                    In Enhance i only host 60+ sites and I have to migrate another 300+ though the end of 2025, so for me it makes more sense to create a solid setup with as few risks as possible more than to try to limit resources to the minimum possible, otherwise I would be bombarded with tickets or calls. Also because I come from Plesk where 100 NPROC is the default and in fact I had no issue with 503 at all, so even though 100 will be an overkill for many, this setup is just safer for me, but i understand your point 🙂

                      Follow @enhancecp