Сообщество - Лига Сисадминов

Лига Сисадминов

2 410 постов 18 930 подписчиков

Популярные теги в сообществе:

2

Web верстальщики и иже с ними, подскажите

Заказчик захотел магазин на woocommerce .
все сделали но есть провалы в знаниях ( первый раз с этим плагином сталкиваюсь)
Возможно ли вывести вилку цен для отображения в каталоге (отображать допустим от 1000 до 5000 р.)
Сейчас сделано
( шорт код)
Отображает категорию, количество, колонок, сортировка по имени ну и пангинация.
_________________________
[products 
Саtegory="избранное"
limit="100" 
columns="5" 
orderby="title"
paginate="true"]
__________________________
Интересует, возможно ли стандартным шорт кодом решить, или писать костыль .
Заранее спасибо
 

18

Производительность в Linux: метод USE

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

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

Одним из подобных методов является U.S.E. (или USE): Utilization Saturation and Errors method, который был предложен Бренданом Греггом (Brendan Gregg), ведущим аналитиком производительности систем из компании Netflix. Более подробно о методе U.S.E. можно узнать на его сайте: https://www.brendangregg.com/usemethod.html а мы пока рассмотрим USE как практический вариант, который можно применить в повседневной работе.

Метод USE в первом приближении может быть рассмотрен как простой чек-лист на случай возникновения чрезвычайной ситуации для всех критических ресурсов вашей системы: для каждого ресурса вашей системы проверьте наличие одного или нескольких элементов из списка:

  • Использование/загрузка (UTILIZATION): среднее время, в течение которого ресурс был в работе или в обслуживании других систем. Обычно мы представляем использование в процентах за определенное время, например CPU, диски, и т.д.

  • Насыщение (SATURATION): объем работы, который ресурс не может обслужить. Обычно мы представляем эту метрику как длину очереди.

  • Ошибки (ERRORS): наличие ошибок любого рода, связанных с ресурсом и способных влиять на производительность: сбойные сектора на диске, ошибки сетевых протоколов и т.д.

Давайте определимся с понятием ресурса - это любой функциональный компонент вашей системы: сетевые соединения и процессоры, диски, память и прочее. Потенциально ресурс может быть исчерпан либо заблокирован и тем самым может быть спровоцирована ситуация "бутылочного горлышка" (bottleneck) или же вообще ошибки (error). При этом не исключается, что ресурс может быть вообще программным. Программные ресурсы мы рассматривать пока не будем, поэтому сосредоточимся на аппаратных ресурсах.

Важно помнить, что использование/загрузка и насыщение — это показатели зависящие от времени, поэтому поиск оптимального интервала наблюдения для их корректного определения может потребовать тестов и некоторого исследования с помощью некоторой системы мониторинга. Так, в ходе тестов системы мониторинга любого рода стоит предусмотреть ситуацию, когда всплеск использования либо загрузки ресурса может вызвать проблемы с насыщением и производительностью, хотя на значительном промежутке времени использование либо загрузка ресурса может быть в среднем небольшим. Сокращение же временного интервала может выявить всплески (burst) использования либо загрузки ресурса.

Начать использовать метод USE достаточно просто:

  1. Создайте контрольный список ресурсов. Подумайте обо всех различных ресурсах, которые использует ваша система, и о том, как вы хотите их измерить. Некоторые ресурсы способны вызывать проблемы с производительностью более чем одним способом: например, сетевое соединение может вызывать проблемы с I/O, а также проблемы с производительностью CPU. Удостоверьтесь, что создали отдельный элемент мониторинга для каждого типа проблемы, чтобы сделать процесс идентификации более полным и быстрым.

    Метод USE лучше всего работает с ресурсами, производительность которых снижается при интенсивном использовании. Он плохо работает с ресурсами, использующими кэширование, поскольку кэширование повышает производительность ресурсов при интенсивном использовании.

    В дополнении, часто упускается из виду, что CPU, память и ввод-вывод (I/O) связаны между собой, однако проблемы производительности в этом моменте достаточно редки. С другой стороны, если это все-таки так, то у вас крупные проблемы с аппаратной либо программно-аппаратной частью системы и стоит задуматься об обновлении либо оптимизации "железа" системы. В любом случае, метод USE подскажет вам в этом случае то, что проблемы с ресурсами в иных подсистемах отсутствуют и стоит повнимательнее отнестись к производительности соединений компонентов.

  2. Построение системы мониторинга. На этом этапе необходимо в выбранной системе мониторинга создать метрики, учитывая список ресурсов и типы метрик. Для каждого ресурса стоит предусмотреть надежный способ сбора метрик каждого типа (загрузка/насыщение/ошибки), их обработку и своевременное уведомление системы или пользователя об отклонениях от заданных значений. Например для системы хранения данных имеет смысл анализировать ошибки устройства (errors: hard/soft), насыщение (длина очереди ожидания, wait queue length), использование либо загрузку (device busy, %).

  3. Удостоверьтесь в том, что правильно интерпретируете получаемые показатели. Для некоторых показателей интерпретация может быть очевидной, для других - показатели могут зависить от нагрузки или наличия/отсутствия очередей. Общие рекомендации, которые приводит автор метода, следующие:

    - Использование/загрузка ресурса: максимальная загрузка ресурса обычно является признаком проблемы. Чрезмерная загрузка (например, более 70%) может стать проблемой по нескольким причинам: когда загрузка ресурса измеряется в течение относительно длительного периода времени (несколько секунд или минут), общая загрузка, скажем, 70 % может скрыть короткие всплески 100 % загрузки.

    Некоторые системные ресурсы, такие как жесткие диски, не могут быть прерваны во время операции даже для работы с более высоким приоритетом. Когда их загрузка превышает 70%, задержки в очереди могут стать более частыми и заметными. С другой стороны, CPU могут быть прерваны («разгружены») практически в любой момент.

    - Насыщенность: любая ненулевая степень насыщенности может быть проблемой. Это может быть измерено как длина очереди ожидания или время ожидания в очереди.

    - Ошибки: заслуживают изучения ненулевые счетчики ошибок, особенно если они продолжают увеличиваться при сохраняющейся низкой производительности.

  4. Уже добавлю от себя: согласуйте предельные параметры с имеющимся в комании или у клиента SLA. В вашей компании может иметься действующий SLA, который может описывать доступность некоторых систем. Добавляя в систему мониторинга метрики и устанавливая предельные значения срабатывания (например предустановки триггеров в Zabbix) имеет смысл удостовериться, что вы не выходите за пределы действующего SLA и проблема не успеет развиться до такого состояния, при котором может произойти нарушение соглашения.

  5. И тоже от себя: настроив систему мониторинга сразу настраивайте весь спектр требуемых оповещений и уведомлений, включая информационные панели и мнемосхемы. Рекомендую поначалу тестировать систему мониторинга и особенно уведомлений "на кошках", то есть на группе коллег, которые не будут впадать в панику при каждом оповещении об уровне загрузки CPU в 100%. Затем планомерно и вдумчиво настраивайте систему на оптимальный уровень срабатывания уведомлений и контроля данных. Цель всех действий состоит в том, чтобы выявлять проблемы на ранней стадии и решать их до того, как они повлияют на пользователей или производительность системы.

У автора метода можно найти неплохую таблицу для контроля производительности различных ОС, находится она тут: https://www.brendangregg.com/USEmethod/use-rosetta.html Отнеситесь к ней как к руководству, но не как к единственно верному способу контроля требуемых параметров.

В заключении стоит сказать, что метод USE действительно работает как базовый метод для быстрого развертывания мониторинга производительности и дает отличные результаты.

Если будут какие-либо пожелания или вопросы - добро пожаловать в комментарии.

Показать полностью
32

Производительность в Linux, часть 0.01

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

Пока есть мысль поделиться с вами циклом небольших заметок о производительности в ОС Linux, неважно какого дистрибутива, c целью ее (производительности же!) улучшения. Начну с базовых вещей, разбавлю переводами ряда интересных статей, собственным опытом, примерами из сети. С удовольствием выслушаю ваши пожелания, предложения, может еще что-то интересное подскажете. Писать буду по мере сил и возможностей, постараюсь не ссылаться на предыдущие части, чтобы не сбивать с толку. Получится (надеюсь) что-то вроде набора коротких заметок.

Начнем с азов - обсудим два понятия: "задержка" и "пропускная способность". Не будем уходить в глухую википедию, а вспомним смеситель в ванной: открывая соответствующий кран, мы не наблюдаем воду в ту же секунду - воде требуется время, чтобы очутиться в раковине. Будем называть это задержкой - то есть время между началом воздействия и результатом этого воздействия. Начиная какой-то процесс, мы не получаем результат сразу же, скорее всего это займет время.

При этом, если продолжать аналогию, ванна наполнится тем быстрее, чем больше сечение сливной трубы - то есть пропускная способность системы "кран-сливная труба" тем выше, чем больше сечение получившегося канала.

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

Теперь давайте подумаем, как это применимо к компьютерным системам. Если говорить про сеть, то обмен данными там идет пакетами, то есть обособленными единицами, каждая из которых имеет служебные данные (service data/protocol overhead) и полезную нагрузку (payload). Последняя как раз-таки и представляет интерес, мало кого из пользователей заботит служебная информация. Увеличить пропускную способность сети мы можем, применяя jumbo packets - увеличенные в размерах пакеты (~9000 байт и более вместо 1518 байт) - обмениваясь такими единицами, мы повышаем количество полученной информации, то есть растет параметр пропускной способности. Но при этом растут и затраты на передачу такого объема, занятость линии, загрузка аппаратной части и прочие вещи. То есть мы при этом ухудшили параметр задержки.

С другой стороны, можем сделать пакеты совсем мелкими, как в протоколе АТМ (48 байт), но теперь каждые 48 байт мы будем обязаны вставить служебную информацию. Уменьшилась задержка, уменьшилась пропускная способность.

Что лучше? Вопрос открытый. Если ваша система - трубопровод и вы качаете нефть, то, вероятно, вам будет важна пропускная способность. Для компьютерных систем, вероятно, можно привести пример систем, работающих без участия человека: хранение информации и ее передача, замкнутые системы СУБД и пр. Если же ваша система - логистика пищевых продуктов, например, доставка горячей еды, то вы заинтересованы в сокращении времени ожидания - то есть в уменьшении задержки. Для компьютерных систем происходит ровно то же самое: если в процессе обработки появляется человек, то задержка начинает играть роль. Мы начинаем замечать ее уже на уровне 100 миллисекунд, а уже при 200-300 мс она начинает нас раздражать. Телефонные линии спроектированы с учетом задержки в 100 мс.

Таким образом, производительность ОС Linux и работы по ее улучшению тесно связаны с рядом аспектов системы, первый из которых - что это за система и какова ее роль.

Показать полностью
14

Подключение и настройка сканнера Canon IR2270

Краткий гайд по подключению МФУ. Для начала определим, что саму печать можно проводить по USB, а вот сканирование в серии Canon Image Runner идет только по сети LAN.

(внешний вид машины)

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

Берем роутер. В моем случае -D-link DIR 615. Подключаем к нем через LAN МФУ и компьютер. Пример на фото:

(серый - компьютер, желтый -МФУ).

Теперь открывает в окне принтера настройки IP.

Обязательно включаем DHCP. Так же стоит запомнить IP, далее он нам понадобится. Везде нажимаем [OK]. Переходим на главной панели во вкладку сканера.

Включаем - в работе.

Теперь, нам понадобится программа - либо Color Network ScanGear tool, либо Advenced IP scanner.

И тут есть два способа: указать адрес и найти. Вот здесь, если будем указывать в ручную, нам и понадобится IP адрес, который мы ранее запомнили. Если нигде нет повреждений(LAN, роутер, порты), то наше МФУ сразу обнаружится в сети. Далее нажимаем [OK] и проверяем соединение в этом окне:

Вся основная работа сделана. Если вбить в поисковую строку IP принтера, то нас переведет на Mailbox.

Далее нам понадобится программа для сканирования. Лично я использую Winscan2PDF (может кто лучше вариант подскажет, буду признателен).

Здесь выбиваем источник сканирования.

У нас появляется окно, где нужно выбрать Color Network ScanGear. Далее [OK].

Теперь можно полноценно сканировать! На этом все.

P.s. Передаю огромную благодарность @cybfh, очень отзывчивый пикабушник, без которого я не мог решить этот вопрос со сканером на протяжении 5-7 лет. Так как периодически работаю с машинами серии Canon IR.

Показать полностью 11
5

2 Mikrotiks 1 modem

Комрады, нужна помощь - имеем сеть предприятия и микротик с модемом - нужно организовать тунель.
LTE подтянулся, прокинул НАТ Маскарад на ЛТЕ, подключился по L2TP - как результат:
Микротики видят друг друга
Устройства подключенные к микротикам могут достучатся до микротов
Устройства подключенные к микротам НЕ могут достучатся до устройств подключенных к други микротам

Но есть внезапное но, каким то боком у меня получается подключится с устройства подключенного ко второму микроту к нескольким серверам в основной сети(причем не последней важности) при этом пинг в обратную сторону не идёт(пробовал по РДП пропинговать машину с которой сидел).

Вопрос что я делаю не так и куда смотреть? почему я могу подключится только к нескольким серверам (Firewall вроде весь перерыл)?
Почему не пингуются утройства за пределами микротиков?

P.S. есть подозрение что мешает маскарад на ЛТЕ потому что если прокинуть маршрутизацию подсети модема на основном микротике то все устройства в этой пингуются

Посоветуйте может что почитать, посмотреть - буду признателен.

P.P.S. Соболезную если название вызвало рвотные позывы :D

Показать полностью
8

Прошу помочь

ОС Windows 8.1

У пользователя пропал рабочий стол. Точнее только ярлыки и папки. Теперь у него рабочий стол "младенца". Немного покопавшись в попытке найти как исправить наткнулся на такое. Раньше у пользователя был путь ко всем документам и рабочему столу : "C:/User/User" ,а теперь стало "C:/User/TEMP" причину найти не смог. Сделал костыль с помощью реестра изменив путь до рабочего стола, но после второй перезагрузки рабочий стол вернулся опять к маршруту "C:/User/Temp/"

Где это исправить? ))

34

Отвал камер PoE, прошу совета1

Приветствую коллег! Есть объект с типовыми улицами: улица длиной 400м, в центре установлен уличный термошкаф, в шкаф приходит оптика и 220, в шкафу стоит медиаконвертер и Poe коммутатор с режимом extended, обогреватель и термостат.
Проблема: при температурах на улице в диапазоне от 0 до -5, начинаются отваливаться камеры на расстоянии более 100м, но прикол в том, что при падении температур ниже, все начинает работать штатно.
Предположил кривую работу термостатов, выкрутил до 25 градусов, ситуация вообще не изменилась.
Есть идеи??
Проблема проявляется на 3х улицах с типовыми шкафами.

9

Кабель для передачи видео поверх USB type-c

Товарищи админы, уже сломал всю голову.

Не могу понять, какими параметрами должен обладать кабел USB type-c - USB type-c, чтобы поддерживать передачу видео?

Нужен двух-метровый кабель взамен метрового. Метровый видео передает.

Помогите, пожалуйста.

Отличная работа, все прочитано!