A simple solution for load balancing in a printer pool

    Our problem:
    One printer does not cope with a large peak load and melts the internal plastic. Under the cut, I’ll tell you what solutions we tried, and what we ended up with.

    We have:


    1) Win2008R2 terminal farm
    2) 3 identical network printers


    I will tell a little about the problem itself. We have a request department in the delivery service. For one night they seal a total of 8 thousand A4 sheets. The load on printers lies precisely at night - when all orders and routes are formed. Recently, the quality of non-original toner has become worse, and because of this, overheating is observed in the apparatus. With plastic fusion and contact with moving elements.

    Solution 1. Replace the printer with a more powerful one.


    I will specially try not to quote the brands of printers. I can only say that in my printer the refueling resource of a cartridge is 25 thousand A4 sheets, the monthly printer resource is 300 thousand. My printer was bought for 25 thousand rubles. The first thing that was invented was to buy a cooler printer. But a Yandex Market study showed that either analogues have a high price of operation and cost per sheet of paper, or an initially disproportionately higher price (> 200 thousand rubles), even at the old $ rate. All the same, we decided not to change ...

    Solution 2. Pooling printers.


    The logical solution to overheating, we considered the simplest option - to let the printer cool. How to do it? Naturally - distribute printing to multiple devices! And it’s better to automate it right away in order to eliminate the “human factor”.

    I will list several options for distributing the load on the pool.

    Option 1. Standard pooling.
    The standard MS article was used as an instruction. But then the problem became clear - the second and subsequent printers print ONLY if the previous ones are busy. It turns out uneven wear and overheating of the first printer ... This solution is suitable if we have a very powerful and reliable first printer. The solution does not suit us, again in view of the price of a powerful printer.

    Option 2. Third-party software.
    I admit honestly - with great difficulty I only got 2 programs for my tasks ... First - I got very buggy, constantly blocked the spooler on the terminal farm so that I had to reboot the servers. And it required constant hanging in the tray. The second - did not master. It seems everything is simple - but the same window pops up and that's it. Both programs are paid, but with a trial period. In general, so far the market is not offering anything adequate and working “out of the box”.

    Option 3. It turns out that everything is very simple. Round robin DNS
    I was confused by the "name or IP address" field in the " printer setup " window . And I tried to specify the DNS name ... it works!
    This is already much more interesting. We can put several printers on one DNS name. It turns out the choice of printer now depends on the DNS settings! And this is automation at least at the script level!

    So. I have an AD domain. I create a third-level domain printers , and register an A-host with the name of our "pool" - oz. Full name is oz.printers.mydomen.local . We indicate our first printer as the IP address. Next we create the same record, but with a different IP address (address of the second printer). On both entries I set TTL = 0, so that the resolution is not cached, and there is an honest random.
    If you need to adjust a higher priority load on a printer, you can play with TTL.

    Now a little research.
    1) one printer is off - the second will ALWAYS print the job.
    2) if the cover is open on the first one or some other logical problems, then ... If we print this printer through resolution, then the task “as if” will be printed, but it will not be printed on the WORKING printer. As soon as we insert the cartridge, or close the lid, the printer prints everything that was sent specifically to it.
    3) such a scheme does not work with different printers. The exception is printers with a universal or the same driver. But also crooked (always problems with duplex) ... It works fine on identical printers, verified.
    4) pop-up informational messages to the user from the printer with TTL = 0 do not work. But I'm glad about that. I think it depends on the printer.
    5) my route sheets were printed from 1C. Printing was prefabricated - a person pressed the print button, and the 1C-client collected documents from different places, and as he searched, he immediately printed it. With TTL = 0, we got terrible stuffing from a single routing sheet on all printers. There is 2 way out here - use TTL> 0, and reduce the likelihood of such situations to a minimum, or option 2 - copy 1 Sku to print output.

    As a result. I think my experience will be useful to someone. Thank you for your attention!
    PS: Here is a photo of the roller after plastic melting

    Also popular now: