|
It really depends on the website in question, what type of content is pushed, the data distribution pushed back to the client. For example, an litespeed level dos protection strategy for a video hosting site is quite different than one that's only pushing mostly html/text.
Personally, I would say, CPU is usually the last resource exhausted in a litespeed system if the proper throttles are in place.
By reducing the data pushed to the client, you are reducing the number of aggregate packets hitting back so using compression is an advantage.
1) If the system is a blog/general website with very small POST, non-video upload, operations, set the "Per Client" incoming throttle to a very small value. For example, a 50KB incoming throttle should be more than enough.
2) You should always use keep-alive and have KA enabled in litespeed. KA uses a bit more cpu and ram but the advantages are numerous. In a keep-alive setup, a real web user should never use more than 3-5 concurrent TCP HTTP connections. Even if they download 100 pages per second, keep-alive connections allow real browsers to pipeline and queue those requests. Knowing this, a good throttle to have is understand the site in question and set this value. "Per Client" max connections soft and hard limit to something like soft:10, hard:15 is usually more than enough and even conservative.
If both 1/2 is properly set, you would need a very very large pool of zombies to have a true dos effect and 99.99% of the time, that's not the case. The floods are coming from a small finite pool of ips.
Not the least, you should have "syn cookies" enabled in your server. This will protect, not prevent, 1 packet SYN floods from even a small pool of zombies. Without this protection in place, even 2 clients can render your server useless. No request gets even past the L4 stage.
That's properly too bloated an answer to your question. But in my view, leave it on and optimize/throttle elsewhere where it is more meaningful.
|