Search
Write a publication
Pull to refresh
4
0
Send message

Настройка PHP-FPM: используем pm static для максимальной производительности

Reading time5 min
Views29K


Неотредактированная версия статьи была изначально опубликована на haydenjames.io и публикуется здесь с разрешения ее автора.


Я в двух словах расскажу, как лучше всего настроить PHP-FPM, чтобы увеличить пропускную способность, снизить задержку и более стабильно использовать процессорные ресурсы и память. По умолчанию строка PM (process manager, менеджер процессов) в PHP-FPM имеет значение dynamic, а если у вас не хватает памяти, то лучше установить ondemand. Давайте сравним 2 варианта управления на основе документации php.net и посмотрим, чем от них отличается мой любимый static pm для большого объема трафика:


pm = dynamic — количество дочерних процессов настраивается динамически на основе следующих директив: pm.max_children, pm.start_servers,pm.min_spare_servers, pm.max_spare_servers.
pm = ondemand — процессы создаются по требованию (в отличие от динамического создания, когда pm.start_servers запускаются при запуске сервиса).
pm = static — количество дочерних процессов фиксировано и указывается параметром pm.max_children.

Читать дальше →

«Аполлон» против лунного заговора: что реальнее осуществить?

Reading time13 min
Views75K

Пролог


image
Астронавты Олдрин (слева) и Армстронг в Хьюстоне во время тренировки выхода на лунную поверхность (22 апреля 1969 года)

Знаете, кого мне всегда напоминали сторонники теорий заговора? Назойливых шахматистов.

Да-да, бывают такие, которые продолжают ходить королем против вашей ладьи. И вы теряетесь, разинув рот от неожиданности: он что, не читал стандартных эндшпилей и не знает своей судьбы — мат не позднее 16-го хода? Что происходит? Он надеется, что вы забыли, как это делается, что вам станет скучно и вы бросите играть?

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

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

А что же тогда делать? Да все очень просто. Надо замолчать. А затем попросить теоретика заговора рассказать все с начала. Нет-нет, не пересказывать теорию, которая обычно является «сутью произошедшего». А описать. Все. Как было сделано. Подробно. С самого начала.

Давайте так и сделаем на примере лунного заговора, который живуч на фоне миссий LRO, Opportunity, Rosetta и сегодняшних ежедневных снимков все приближающегося Плутона.
Читать дальше →

8 лучших фреймворков для тестирования с помощью Python в 2021 году

Reading time9 min
Views34K

Если вы когда-нибудь думали: «С какого же языка программирования мне следует начать свое путешествие в тестирование?» Ваш ответ – Python. Но он подойдет не только начинающим! В недавнем опросе, который я провела в LinkedIn, мы видим, что среди опытных программистов 35% проголосовали за то, что Python является их самым любимым языком программирования (немного опередив всеми любимую Java, которая заняла 2-е место с 32%).

На протяжении многих лет Python действительно набирает обороты как среди тестировщиков, так и среди разработчиков, да и в целом является самым динамично развивающимся языком программирования (как видно на диаграмме трендов Stack Overflow), и мы прекрасно понимаем, что это значит. Популярность = релевантность!

К концу этой статьи я ставлю своей целью дать вам понимание того, насколько мощным является язык программирования Python и какой фреймворк для тестирования лучше всего подойдет вашему проекту исходя из его потребностей.

Читать далее

Мой MikroTik – моя цифровая крепость (часть 1)

Reading time10 min
Views140K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →

Расставляем ударения с помощью Natasha и Spacy

Reading time8 min
Views18K

Представьте себя на месте изучающего русский язык иностранца. Ударение станет одним из ваших самых страшных ночных кошмаров.

Однажды я написал приложение для изучения русского, одной из функций которого была расстановка ударений. Я просто проверял каждое слово по словарю. Однако, это часто приводило к ситуации неоднозначности, когда ударение зависит от контекста. Например: "два сло́ва", но "длинные слова́".

Время подключать нейросети.

Читать далее

Я сделал StackOverflow из IT-чатов Telegram

Reading time4 min
Views19K

Всем привет. Я бэкенд разработчик, и по роду деятельности активно использую разные чаты в Телеге – по Go, Кубернетес, базам данных. Задаю свои вопросы, иногда отвечаю на чужие.

Идея Q&A из Телеги показалась очень интересной, и социально полезной. Обидно что такая кладезь знаний пропадает в недрах неиндексируемых телеграм-чатов. Ведь когда я был начинающим разрабом, общение с коммьюнити позволило мне быстро бустануть скиллы. Пришло время отдавать должок.

Читать далее

Простой способ установить Mikrotik RouterOS в любом облаке

Reading time1 min
Views58K

Многие облачные провайдеры не позволяют загружать ISO-файлы и не предоставляют никакой возможности для установки ОС отличных от тех что предусмотрены самим облаком.


В этой статье я расскажу вам как избежать данное ограничение и как просто в 5 шагов можно установить Mikrotik Cloud Hosted Router на любой облачной виртуалке.

Читать дальше →

IPIP IPsec VPN туннель между Linux машиной и Mikrotik за NAT провайдера

Reading time7 min
Views28K

upd: Отличный разбор про устройство современного стэка IPsec протоколов ESPv3 и IKEv2 опубликовал stargrave2. Рекомендую почитать.


Linux: Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)


  • Eth0 1.1.1.1/32 внешний IP
  • ipip-ipsec0 192.168.0.1/30 будет наш туннель

Mikrotik: CCR 1009, RouterOS 6.46.5


  • Eth0 10.0.0.2/30 внутренний IP от провайдера. Внешний IP NAT провайдера динамический.
  • ipip-ipsec0 192.168.0.2/30 будет наш туннель
Читать дальше →

Выходим в интернет за пределами РФ: (MikroTik<->Ubuntu) * GRE / IPsec

Reading time8 min
Views75K
Позволю себе опубликовать свой опыт применения сетевых технологий в меру моей испорченности для выхода в интернет из-за пределов РФ. Не будем рассуждать о том, зачем это нужно. Надеюсь, что все всем и так понятно.

Итак, у нас есть статический публичный IP адрес, который приходит Ethernet шнуром в MikroTik RouterBOARD 750G r3 (hEX). Пробуем собрать вот такую конструкцию.


Настройку L2tp линка в рамках этой статьи я не описываю, а на схеме он нарисован только потому, что в ней упоминается.
Читать дальше →

Профессионально обрабатываем исключения в Python

Reading time10 min
Views48K

Одним из недостатков гибких языков, таких как Python, является предположение, что если что-то работает, то скорее всего оно сделано правильно. Я хочу написать скромное руководство по эффективному использованию исключений в Python, правильной их обработке и логировании.

Читать далее

Мифы о вакцинации

Reading time26 min
Views68K

Вакцинация - одно из самых важных достижений медицины, а недоверие к вакцинации включено ВОЗ в список десяти основных проблем здравоохранения. После прочтения очередных комментариев о вакцинации от covid-2019 в соцсетях вспоминается история вакцинации от оспы в Москве 1959-1960 гг и кажется, что люди 21 века, перепрыгнув 20 век, вернулись во времена Екатерины II.

Ученые пытаются понять причины отрицательного отношения к вакцинации. 16 июля в Nature Medicine вышла статья об отношении к вакцинации в разных странах и Россия оказалась абсолютным лидером антипрививочных настроений. В нашей стране к вакцинации положительно относятся только 30%, а в конспирологические теории верит 21% населения (считают, что вирус не существует или что эпидемия - это заговор фармкомпаний или политиков). 29% опрошенных считают, что вакцины не защищают от болезни и 14% боятся заразиться от вакцины. В России, в стране с одним из самых высоких процентов людей с высшим образованием, показатели оказались в несколько раз хуже, чем в США, Индии, Пакистане, Сьерра-Леоне и Уганде.

Побочные эффекты вакцинации

Всемогущий FFmpeg: скриншаринг в WebRTC

Reading time9 min
Views17K

Когда мы пишем статьи о своем сервере в комментариях очень часто находится читатель, который говорит:

"И зачем такой огород городить? Все это одной FFmpeg командой делается!"

Читать далее

Борьба с дубликатами: делаем POST идемпотентным

Reading time8 min
Views30K

Представим, что у вас клиент-серверное приложение, REST API на бекенде и какая-нибудь форма на фронте. И вот наступает момент, когда в баг-трекере появляется запись "создалось N дубликатов <вставьте ваше слово>". Начинаете выяснять, оказывается что на клиенте кнопка сохранения не меняла статус на disabled в процессе сохранения, а у клиента ускоренный метаболизм, и он успел много раз по ней нажать, пока интерфейс не сообщил заветное "ок".

Разбираемся, как сделать POST идемпотентным.

Читать далее

Nginx. Фазы обработки запроса. Практика

Reading time5 min
Views15K

Хабру катастрофически не хватает такого формата постов как "продолжение" или "дополнение". После написания статьи зачастую появляется материал, который хотелось бы добавить к сказанному, но update'ить статью, с её сроком жизни в 1-2 дня, бессмысленно, а писать в комментариях невозможно из-за объёма материала. В то же время этого материала может быть недостаточно для новой статьи, да и, в силу того, что он сильно перекликается с предыдущей статьёй, придется либо постоянно её цитировать, либо оставлять пробелы, подразумевая, что читатель понимает о чем идет речь.

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

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

Читать далее

Blender, 1000 мелочей

Reading time9 min
Views39K

Собрал наиболее востребованные базовые приёмы работы с самым ламповым пакетом трёхмерной графики (в интерфейсе "классической" версии 2.79): немного общих моментов и часто используемые инструменты редактирования.

Продолжение (материалы и рендер)

Далее

О чем вы много думали, но боялись узнать #2 — мРНК вакцина, выработка иммунитета, S-белок

Reading time11 min
Views27K

Это продолжение моего рассказа, в котором я вас знакомлю с вакцинами против коронавируса и их механизмами действия. В ней я погружаюсь глубже в недра молекулярной биологии, чтобы познакомить вас с центральной догмой, а также со структурой S-белка и его взаимодействием с антителами. Ну и напоследок мы немного пофантазируем на тему создания универсальной вакцины.

Узнать

Метод Виолы-Джонса (Viola-Jones) как основа для распознавания лиц

Reading time15 min
Views186K
Хотя метод был разработан и представлен в 2001 году Полом Виолой и Майклом Джонсом [1, 2], он до сих пор на момент написания моего поста является основополагающим для поиска объектов на изображении в реальном времени [2]. По следам топика хабраюзера Indalo о данном методе, я попытался сам написать программу, которая распознает эмоцию на моём лице, но, к сожалению, не увидел на Хабре недостающей теории и описания работы некоторых алгоритмов, кроме указания их названий. Я решил собрать всё воедино, в одном месте. Сразу скажу, что свою программу успешно написал по данным алгоритмам. Как получилось рассказать о них ниже, решать Вам, уважаемые Хабрачитатели!
Добро пожаловать под кат!

Семантический поиск: от простого сходства Жаккара к сложному SBERT

Reading time10 min
Views33K

В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, автор переходит к поиску с разреженными векторами — TF-IDF и BM25 и заканчивает современными представлениями плотных векторов и Sentence-BERT. Простые примеры сопровождаются кодом и иллюстрациями, а в конце вы найдёте ссылки на соответствующие блокноты Jupyter.

Читать далее

Аннотирование текстов при помощи BERT

Reading time5 min
Views5.8K

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

Рутинные задачи часто связаны с прочтением разного вида документов, многие из них растянуты на несколько страниц, хотя суть каждого можно было бы изложить коротко, используя всего несколько предложений. Особенную боль составляет прочтение текстов юридического или строгого канцелярского стиля, когда используется много нагруженных предложений. К таким текстам очень удобно иметь краткие содержания.

Задача создания краткой аннотации текстов решается двумя способами: 

·        Абстрактивный подход – генерация нового текста, на основе полученной информации

·        Экстрактивный подход – использование слов/словосочетаний, ранее использованных в текстах

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

Основной минус такого подхода – разметка. Если ваши тексты написаны по принципу пирамиды Минто, то вам скорее всего повезло, разметку можно провести механически, выделив первое или несколько первых предложений в качестве референсного саммари.

Читать далее

Information

Rating
Does not participate
Registered
Activity