I've started to single out suspect accounts which are either being used by a lot of IPs, or showing a large number getworks with low return rates/speed (likely to be a very large CPU mining operation).
While CPU mining is not banned from BTC Guild, they are discouraged when used in large numbers. They are ineffective, slow, and anybody running them is likely doing so either behind the owner's back (computer lab/client computers of an IT company), or by misinforming the owner's ("They're on 24/7 anyway").
There is absolutely no situation I can find where it is cost effective for somebody to be running a CPU server farm for mining. Somebody is going to eat that bill, and I highly doubt its the person running them. By running these huge numbers of CPU miners, you are negatively impacting the rest of the pool. Each CPU miner is consuming server resources similar to a GPU miner. Long poll sessions are a fixed cost for the pool regardless of the miner speed. Additionally, most of these CPU miners are asking for work every 5 or 10 seconds, even though they take many minutes to send something back.
If your account gets singled out, you will see a large warning on the My Account page directing you to a special server address which has long polling disabled. This special server was put in place to keep the primary servers healthy and running stable.
As too often happens ... this is a bad solution to a problem generated by another bad solution.
LP is a good example of bad design!
So ... someone thought that an additional service that will signal the miner that the block has changed will stop the miner from doing obsolete work! Great idea! Being a great idea another (or the same) person find a solution -> LP (
https://deepbit.net/longpolling.php).
The problem with LP is
Miner starts a request to long polling URL with GET method and same basic authorization as on main connection.
This request is not answered by server until new block is found by bitcoin network.
What does this actually means server side is: Allocate resources and keep them blocked for EVERY miner till a new block arrives.
Doing so ... you will remove resources from the actual mining and keep them in an IDLE state!
Now ... your solution (to move the CPU miners to another server with no LP) will not actually resolve the problem. Because the miners will start lo lower the ask rate for new work to minimize the losses. So you will move the resources from IDLE state (non-productive) to GENERATE NEW WORK (non-productive again because the work will be dropped in a few seconds).
I think its time to do some real design (server and client friendly) for a new mining API.
Let me know if you need a hand!
Ciao