Простое решение для распределения нагрузки в пуле принтеров

    Наша проблема:
    Один принтер не справляется с большой пиковой нагрузкой и оплавляет внутренний пластик. Под катом расскажу какие решения мы опробовали, и к чему в итоге пришли.

    Имеем:


    1) терминальную ферму Win2008R2
    2) 3 одинаковых сетевых принтера


    Расскажу немного о самой проблеме. У нас есть отдел заявок в службе доставки. За одну ночь они спечатывают суммарно 8 тысяч листов А4. Нагрузка на принтеры ложится именно ночью — когда все заказы и маршруты сформированы. Последнее время качество неоригинального тонера стало хуже, и из-за этого в аппарате наблюдается перегрев. С оплавлением пластика и попаданием на движущиеся элементы.

    Решение 1. Замена принтера на более мощный.


    Я специально постараюсь не приводить марки принтеров. Скажу лишь, что в моём принтере ресурс заправки картриджа 25 тысяч листов А4, месячный ресурс принтера 300 тысяч. Мой принтер покупался за 25 тысяч рублей. Первое что было придумано — купить более крутой принтер. Но исследование яндекс-маркета показало, что либо у аналогов высокая цена эксплуатации и себестоимости на лист бумаги, либо изначально несоразмерно бОльшая цена(>200тыс.р.), даже по старому курсу $. Всё таки решили не менять…

    Решение 2. Объединение принтеров в пул.


    Логичным решением перегрева мы посчитали самый просто вариант — дать принтеру остывать. Как это сделать? Естественно — распределить печать на несколько устройств! И лучше сразу это автоматизировать дабы исключить «человеческий фактор».

    Перечислю несколько вариантов распределения нагрузки на пул.

    Вариант 1. Стандартная группировка в пул.
    Использовалась стандартная статья MS в качестве инструкции. Но тут же выяснилась проблема — второй и последующий принтеры печатают ТОЛЬКО в том случае, если предыдущие заняты. Получается неравномерный износ и перегрев первого принтера… Это решение подходит в случае, если у нас очень мощный и надёжный первый принтер. Решение нам не подходит, опять ввиду цены мощного принтера.

    Вариант 2. Стороннее ПО.
    Признаюсь честно — с большим трудом нагуглил всего 2 программы под мои задачи… Первая — попалась очень глючная, постоянно блокировала спулер на терминальной ферме так, что приходилось ребутать серваки. И требовала постоянного висения в трее. Вторую — не осилил. Вроде всё просто — но выскакивает одно и то же окошко и всё тут. Обе программы платные, но с триальным периодом. Вобщем, пока что рынок ничего адекватного и рабочего «из коробки» не предлагает.

    Вариант 3. Оказывается, всё очень просто. Round robin DNS
    Меня смутило поле «имя или IP адрес» в окошке "установка принтера". И я попробовал указать DNS имя… работает!
    Это уже намного интереснее. Мы можем на одно DNS имя посадить несколько принтеров. Получается выбор принтера теперь зависит от DNS-установок! А это уже автоматизация как минимум на уровне скриптов!

    Итак. У меня домен AD. Я создаю домен 3го уровня printers, и прописываю A-хост c именем нашего «пула» — oz. Полное имя oz.printers.mydomen.local. В качестве IP-адреса указываем наш первый принтер. Следом создаём такую же запись, но с другим IP-адресом(адрес второго принтера). На обоих записях настраиваю TTL=0, дабы резолв не кешировался, и был честный рандом.
    Если нужно скорректировать более приоритетную нагрузку на какой то принтер — можете поиграться с TTL.

    Теперь немного изысканий.
    1) один принтер выключен — второй ВСЕГДА напечатает задание.
    2) если на первом открыта крышка или какие то другие логические проблемы, то… Если у нас по резолву придёт печать этот принтер, то с сервера задание «как будто» уйдёт на печать, но напечатано на РАБОЧЕМ принтере не будет. Как только вставляем картридж, или закрываем крышку — принтер отпечатывает всё, что было отправлено конкретно ему.
    3) такая схема не работает с разными принтерами. Исключение — принтеры с универсальным или одинаковым драйвером. Но тоже криво(всегда проблемы с дуплексом)… Нормально работает на идентичных принтерах, проверено.
    4) всплывающие информационные сообщения пользователю от принтера при TTL=0 не работают. Но этому я даже рад. Думаю это зависит от принтера.
    5) у меня маршрутные листы печатались из 1С. Печать была сборная — человек нажимал кнопку печати, и 1С-клиент собирал документы из разных мест, и по мере поиска — тут же выводил на печать. При TTL=0 получался жуткий фарш из цельного маршрутного листа на всех принтерах. Выхода тут 2 — использовать TTL>0, и сократить вероятность таких ситуаций к минимуму, либо вариант 2 — переписывать 1Ску на вывод печати.

    Как итог. Я считаю мой опыт окажется кому то полезным. Спасибо за Ваше внимание!
    PS: Вот фото валика после оплавления пластика
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 28

      0
      То, что всё это проделывалось на принтерах с сетевыми интерфейсами, становится ясно лишь середине статьи и то не явно.
        –1
        поправил, спасибо.
        +3
        8 тысяч листов за ночь — это 16 пачек А4. Одна пачка стоит ~200 р. => 3200. Судя по тому, что работают ночью — скорее всего работают без выходных — то есть 30 дней * 3200 ~ 96000 р. в месяц на одну только бумагу. Если учесть еще заправки (240000 листов за месяц ~ 10 заправок за месяц), выйдет под 100K р. (и то, если брать супербюджетный тонер и делать все на месте).

        Вопросов два:
        1. Почему тратить 100К в месяц на бумагу — нормально, а 200К за принтер единоразово — дорого?
        2. Неужели нельзя избавиться от такого дикого объема бумагооборота? Судя по словам «маршрутный лист» — это все зачастую водителям печатается. За 100К за месяц (или за два) им нельзя банально по планшету купить?
          –1
          Зачем покупать принтер за 200, если и за 25 всё работает? Основные характеристики такие же… Разница в цене — в 8 раз. Первый принтер (тот что за 25) честно отпахал год в одиночку и скопытился. Потратил 10 т.р. на ремкомплект и он работает дальше. И я бы не задумывался над этим, если бы не проблемы с перегревом.
          Лично я не понимаю, почему такой разлёт по цене у принтеров.

          Про бумагооборот. От меня не зависят бизнес процессы. Насколько я понимаю — планшет бухгалтерия не подошьёт, это основная причина. Наш отдел (я думаю вы поняли, что фирма большая) уже внедрил планшеты менеджерам и «мерчендайзерам». С водителями труднее, всё таки не пиццу развозят. Как только дадут ТЗ — так и внедрим.
            +1
            Первый принтер (тот что за 25) честно отпахал год в одиночку и скопытился. Потратил 10 т.р. на ремкомплект и он работает дальше.

            На самом деле, субъективно, вам как-то сильно повезло. Из того, что я видел в этой ценовой категории — у этих принтеров ресурс максимум — в районе миллиона страниц, дальше начинает сыпаться все по кругу. Вашими темпами они должны рассыпаться в пыль за 3-4 месяца (что, впрочем, опять же, при ~100K в месяц на бумагу, субъективно, совсем не страшно).

            Лично я не понимаю, почему такой разлёт по цене у принтеров.

            Если смотреть на именно узкоспециализированную задачу «хочу печать черно-белую А4, но быстро и много», то вы в целом правы — типовое решение — либо Kyocera 4xxx, либо HP 4xxx (подешевле), либо HP Enterprise 6xx (подороже). Разброс цен от ~30K до ~80K рублей обусловлен ровно двумя параметрами — размером картриджа (и, соответственно, тем, как часто его надо заправлять) и размером лотков (т.е. как часто надо заправлять бумагу). Все, что больше — это большие рабочие станции а ля Ricoh, занимающие пол-комнаты, где, с одной стороны, лотки и картриджи еще чуть побольше (но не феерично — максимум — раза в два-три), с другой — напичканные тучей бесполезных в вашем случае функций типа LCD-экранчиков, print-by-pin-code, сканерами, факсами, цветными картриджами, брошюровщиками и т.д.

            Еще дальше есть то, что называется «цифровая полиграфия» — всякое такое — но там цены, соответственно, еще на порядок больше и упор больше идет на широкий формат, работу с рулона, встроенную нарезку, и в итоге — на супербыстрое тиражирование более-менее одинаковых форм.

            По большому счету промежуточных решений толком нет — видимо, как-то не очень востребовано народом печатать в сутки десятки тысяч разных ч/б листов.

            Собственно, вопрос-то, действительно, видимо, не к вам, а скорее к топам — почему каждый месяц профукиваются столько сил и денег (я уже молчу о том, сколько народ тратит времени, что перетаскать эти 500 пачек бумаги в месяц, повставлять их в принтеры, заправлять картриджи и т.д.), тогда как, на первый взгляд, можно все перетрясти за цену только бумаги за эти 3-4 месяца.
              0
              > По большому счету промежуточных решений толком нет — видимо, как-то не очень востребовано народом печатать в сутки десятки тысяч разных ч/б листов.

              Именно так. Такая задача встречается не слишком часто. В полиграфии печатаются одинаковые листы, и «быстрая техника» совсем другая. А так, чтобы куча листов и все разные — задача непопулярная, но встречается. В таком случае — лучше несколько среднего бюджета принтеров, с 2-3 лотками на 500 листов и картриджем на 25-30 к листов, чем 1-2 монстра, которые ничем не быстрее, а в случае сбоя — менее надежны.
                +1
                Скорее уж если такая задача встает — это огромный повод думать, как от нее избавиться и как ее можно решить альтернативно. С какой-то вероятностью от всего или хотя бы от части такого гигантского бумагооборота можно избавиться. То, от чего избавиться нельзя — возможно, можно перевести хотя бы на печать не на А4, а на какой-нибудь ленте а ля чековая — оно и быстрее на порядок (чековые принтеры, делающие по 30-40 листов в секунду — весьма рядовая вещь), и дешевле, и бумагу не надо бегать и менять каждые полчаса, и сами принтеры там, как правило, радикально более надежные и легче обслуживаемые. Если все таки прям совсем нужно печатать и прямо А4 — очень может быть, что можно сделать типографские (офсетом) бланки, куда лазерник на месте уже будет впечатывать уже 3-4 поля, что внезапно на пару порядков снизит и расход тонера, и износ, и нагрев принтеров.

                В общем, поле для деятельности тут обширное — только да, надо, чтобы инициатива сверху была, и это понимали не только люди на местах…
                  0
                  для меня это пройденный этап. Уже и где нужно на A5 пропечатываем, и дуплекс используем. Но это отдельная история.
            –1
            Планшенты? Водителям-дальнобоям и складским сотрудникам? Одноразовые, что ли?
            Любой не одноразовый будет либо украден, либо потерян, либо разбит в первую же неделю.
              +1
              Разруха — она, как сказал классик, в головах. Сам лично знаю штуки 3 крупных торговых фирм, где и водители с планшетами (в одной из таких контор — там вообще все прямо в тягачи встраивается, вкупе с трекингом, камерами и т.д.), и на складах — роботизированные тележки со списками собираемого прямо в них, и воруют не традиционные для постсоветского пространства 15-20%, а на пару порядков меньше.

              Так что все это решается и делается — вопрос в желании и воле у того, кто делает.
                0
                видел корпоративный iPad у кладовщика. Стекло на нём такое, что можно отвёрткой тыкать. Забавная штука…
              +1
              Помимо объединения в пул можно еще варировать приоритет очереди через ps Set-Printer по расписанию, это позволит давать принтерам отдыхать.
                +1
                У меня в компании 8 машинок коника-Минолта и сервер централизованной печати, не помню как звался, были.
                в подвале для печати счетов клиентам стояла более дурная Минолта, и обьемы печати соразмерные с Вашими.

                аутсорс — обслуживание принтера, ремонт в случае аварии максимум 23 часа по SLA.
                диагностика принтера — gsm модемами. 100% проблем за три года решалось либо на уровне того что печать документов офиса выполнялась на любом принтере где ты авторизовался rfid пропуском — либо приездом дежурной команды оператора в течение пары часов после аварии на большой Минолте, но большой брат был рассчитан на десяток миллионов документов в цикле обслуживания, в отличие от мелких офисных мфушек. к чести бренда сказать, за 3 года ни одного инцидента сложнее замены расходников вроде тонера/картриджа/валиков не было

                Суммы экономии в компании при переходе на этот режим обеспечения печати документов составили несколько миллионов гривен в год, когда сравнили с тем, что было с зоопарком принтеров по кабинетам, где каждый третий печатал кроме документов всякие дипломы/курсовые и прочее, не относящееся к работе.

                Но, что самое важное — безопасность и время — все документы (вроде бухгалтерских) распечатываются на любом принтере и отправляются на тот принтер по которому ты авторизовался пропуском, и можно за полдня их накидать в печать, а идя с обеда или с перекура этот пакет распечаток просто забрать.
                Ну, еще экономия по електроэнергии и поддержке всего этого хозяйства и унификация.
                  0
                  Всегда было интересно. Вот кинули на печать, печать не идет, потому что нужно RFID пропуск приложить к принтеру. А там 100 листов. То есть мы ножками идем к принтеру, прикладываем пропуск и ждем, пока напечатается, а тем временем стоим рядом. Это удобно вообще? Или я какого-то важного момента не понимаю?
                  Если не стоим рядом, а пошли на обед — где тут секьюрность? всю нашу распечатку может так же забрать кто угодно.
                    0
                    Да что такое 100 листов. Две минуты подождать.
                      0
                      это у топов стоял:
                      bizhub 751: 75ppm (A4); bizhub 601: 60ppm (A4)

                      в 400й серии попроще, но цифры тоже не полторы страницы в минуту.
                      Да, удобно. потому что это один принтер в коридоре на 2-3 ближайших комнаты.
                      А секурность — можно например у секретаря поставить на распечатку, топы все равно мимо него ходили в 90% случаев.
                        0
                        Оно не «удобнее для конечных пользователей», оно «не сильно более противно для конечных пользователей», зато «сильно дешевле по TCO» — зачастую проще обслуживать 4-5 больших центров, нежели сотню-полторы мелких дешевых принтеров, которые ломаются, которые надо заправлять, к которым надо выделять и носить бумагу и т.д.
                      +1
                      Когда-то у меня была похожая задача. Оптовый склад, к каждому заказу печатается пакет документов. Склад работает практически круглосуточно в три смены, то есть простоя принтеров как такового практически не было.

                      Решилось дело обычным MS пулом принтеров. И в общем-то суть не в дорогих принтерах, думаю за 25000 это как раз удачное решение по скорости печати.
                      Более дорогие принтеры скорее оборудованы всякими перделками-свистелками-сканерами-факсами. В основном смотреть надо на три параметра — скорость листов в минуту, ресурс картриджа и ресурс печати печки.

                      У нас стояло 4 принтера, что позволяло элементарно один принтер в случае чего снимать и отправлять на ремонт, при этом в случае выхода из строя еще одного принтера, два более-менее тянули.

                      То есть в вашем случае 3 принтера мне кажутся дороже чем четыре.

                      А вот ваша проблема насчет отдыха мне кажется совершенно странной. Вы же можете элементарно на любом сервере запустить по расписанию скриптик, который будет переводить принтеры по очереди в оффлайн, и пул сразу справиться с данной задачей. Запустить например смену очередности примерно раз в 30 минут.
                      Можно считать задания. Можно получать с принтера количество распечатанных листов или напрямую, или парсить его статистику по html страничке и ставить в оффлайн после печати определенного количества листов (плюс-минус чтобы завершилось текущее задание).
                      Такой подход вроде как более адекватен, чем лепить сюда DNS.
                        0
                        Решилось дело обычным MS пулом принтеров. И в общем-то суть не в дорогих принтерах, думаю за 25000 это как раз удачное решение по скорости печати.

                        я в статье написал, почему мне это не подходит.

                        Ваш вариант имеет право на существование. Но согласитесь, что писать скрипт и пихать его в крон НЕ проще создания «a» записи. Как минимум потому, что для этого нужен какой то «сервер» со всеми вытекающими проблеми (отказоустойчивость, зависимость от ПО принтера/сервера и т.п.)…
                          +1
                          >«нужен какой то «сервер» „

                          Ну у вас же как минимум Active Directory крутится на чем-то? Скрипт не зависит от ПО принтера. Это обычное что-то вроде:
                          rundll32 printui.dll,PrintUIEntry /y /q /n “Printer name”
                          Которое вообще никакой нагрузки не создает.

                          Вы же ушли от принтер пула, который в общем-то заточен именно под вашу ситуацию — когда нужно печатать на какой-то принтер, чтобы служба сама разрулила, какой принтер занят, или крышка открыта, или картридж кончился.

                          Возможно у меня требования к печати стояли такие, что напечатать после отправки задания нужно было как можно быстрее, поэтому мне было важно, что бы в случае чего, не было простоя даже на минуту, если есть на чем печатать.
                        0
                        del
                        • UFO just landed and posted this here
                            0
                            продуть до нужных элементов нереально, всё очень плотно скомпоновано. Идея такая была.
                          • UFO just landed and posted this here
                              0
                              А нельзя совместить dns-round-робин и микрософтовский пул принтеров?
                              Сделать 3 пула, в каждом первым является каждый из трёх принтеров.
                                0
                                IMHO там нет прямо вызначенного «первого принтера» — в пуле все принтеры в принципе равноправны, и если вдруг первый занят (неважно чем — выключен, ошибка печати, печатает другое задание), задание автоматом пойдет на второй.

                                Делить печать между принтерами в пуле можно только по заданиям, и если одно задание на 100 страниц, а остальные 99 по 1 странице, то первый принтер которому попало это одно задание будет занят пока его не напечатает, и отдохнуть сможет только после него.

                                Поэтому мне казалось, что самым правильным будет просто отправлять принтеры по очереди в оффлайн по расписанию.
                                При этом нет никакой сложной нагроможденности лишних сервисов, включить принтер можно откуда угодно.
                                Если какой-то принтер ушел в ремонт, то нагрузка балансируется тем же принт пулером, а не отдельным DNS балансером, который не может проверять занят ли текущий принтер по А-записи.

                                В общем было бы интересно погонять текущее решение и узнать, вскрылись ли какие подводные камни.
                                +1
                                Скорее всего знаю эти принтеры на букву Х, но что бы перегревались да ещё из-за тонера, по-моему у Вас тут дело в печке а не в тонере. У них температура печки (и куча других параметров) если что настраивается. В обычном мануале нет, но в сервисном есть.

                                Я делаю обычно через CUPS гораздо удобнее и стабильнее.

                                  –1
                                  Ох парни, как ваша боль знакома.
                                  У нас есть алкогольные склады. При отгрузке партий алкоголя на каждую партию печатается бешенное количество сертификатов и прочих бумажек. Изначально было по принтеру на каждого оператора и сертификатчика, иногда не по одному, в основном hp/kyoсera. Стоимость печати никто не считал, все мерялось в картриджах и их заправках, ну и ежемесячных деньгах на случай ремонта.

                                  Когда объемы выросли и один склад начал работать круглосуточно — принтера больше находились в ремонте чем печатали. Одинаково плохо было как с hp 1020/1006/3005/1522, так и 1028/1128/3140 киосерами за 20-25к рублей. Геморрой с обслуживанием, зоопарк принтеров, проблемы доставкой и перезаправкой расходников — были доступны все круги ада для управления ИТ.
                                  Когда же все это начало ощутимо вредить отгрузкам, то стоимость и объемы печати основательно посчитали и ужаснулись.
                                  В итоге после долгих битв с экономистами, руководством и департаментами закупили Xerox 5755/5775 за ценники over_много за штуку в начале 2013 года…

                                  … а дальше то и рассказывать нечего, только расходку меняй, да вовремя сервисного инженера для обслуживания вызывай (кстати, именно наличие вменяемого сервиса в приделах досягаемости повлияло в итоге на выбор вендора)

                                  Счетчики чуть более полугода назад:
                                  image
                                  Кто любит считать «страницы в день», может взять приблизительно 500 дней, которые первые три принтера были в бою в момент снятия статистики для аргументации зачем нам нужны еще дорогие принтеры на другие склады и заводы.


                                  Деньги на эти железяки выбивались с боями и кровью. Экономисты когда видели, что каждый принтер стоит ощутимо больше их этажной Kyocera TASKalfa 181, купленной «всего» за 150к, в штыки вставали, что мол «Нам это не нужно за ТАКИЕ деньги». Кровь, кишки, лбы и стены. Начальнику ИТ спасибо, он смог!

                                  Разницу в объемах печати вы можете увидеть на скриншоте. Kyocera TASKalfa 181 была куплена за полтора года до первого большого ксерокса. И пользовалась всего лишь как этажный принтак и копир на ~40 человек экономистов/юристов/кадровиков.

                                  Мораль:
                                  Автор статьи героически борется с следствием, а не причиной.

                                  Only users with full accounts can post comments. Log in, please.