📜 ⬆️ ⬇️

A simple solution for load balancing in a printer pool.

Our problem:
One printer can not cope with a large peak load and melts the internal plastic. Under the cut I will tell you what solutions we tried, and what we finally came to.

We have:


1) Win2008R2 terminal farm
2) 3 identical network printers


I'll tell you a little about the problem itself. We have an application department in the delivery service. For one night, they seal a total of 8 thousand A4 sheets. The load on the printers falls precisely at night - when all orders and routes are formed. Recently, the quality of non-original toner has become worse, and because of this, the device is overheated. With melted plastic and hit on moving parts.
')

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


I will specifically try not to bring brands of printers. Let me just say that in my printer, the resource for refilling the cartridge is 25 thousand A4 sheets, the monthly resource of the printer 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 study of the Yandex market has shown that either the counterparts have a high operating price and cost per sheet of paper, or initially a disproportionately high price (> 200 thousand rubles), even at the old $ rate. All the same, decided not to change ...

Solution 2: Pooling printers.


The logical solution to overheating, we considered the easiest option - to let the printer cool. How to do it? Naturally - distribute print on multiple devices! And it is better to automate it right away in order to eliminate the "human factor".

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

Option 1. Standard grouping in a pool.
A standard MS article was used as a guide. But then the problem was clarified - 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 due to the price of a powerful printer.

Option 2. Third-party software.
I admit honestly - with great difficulty I just gotta 2 programs for my tasks ... First - I got very buggy, constantly blocked the spooler on the terminal farm so that I had to rebuild servers. And it required constant hovering 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 does not offer anything adequate and working out of the box.

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

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

Now a little research.
1) one printer is turned 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 according to the rezolv, then the task “as if” will go to print from the server, but will not be printed on the WORK printer. As soon as we insert the cartridge, or close the lid - the printer prints everything that was sent specifically to him.
3) this scheme does not work with different printers. The exception is printers with a universal or identical driver. But also crooked (always problems with duplex) ... Normally it works on identical printers, it is checked.
4) pop-up informational messages to the user from the printer at TTL = 0 do not work. But I am even happy about that. I think it depends on the printer.
5) I have route sheets printed from 1C. Printing was a national team - a person pressed the print button, and the 1C client collected documents from different places, and as he searched, he immediately printed. At TTL = 0, we got terrible stuffing from a single routing sheet on all printers. Exits here 2 - use TTL> 0, and reduce the likelihood of such situations to a minimum, or option 2 - rewrite 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 the photo of the roller after the plastic is melted

Source: https://habr.com/ru/post/251395/


All Articles