Как стать автором
Обновить
114
0
Vladimir Goncharov @morozovsk

Backend developer

Отправить сообщение

Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba

Время на прочтение6 мин
Количество просмотров18K
В этой статье я расскажу, как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard.

На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже наблюдаются проблемы и не понятно «где копать».

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

Кто-то анализирует логи nginx, а кто-то медленные запросы в бд.

Конечно pinba не была бы лишней, но есть несколько причин, почему она есть далеко не на каждом проекте.


Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии4

Statistics and monitoring of PHP scripts in real time. ClickHouse and Grafana go to Pinba for help

Время на прочтение6 мин
Количество просмотров5.6K
In this article I will explain how to use pinba with clickhouse and grafana instead of pinba_engine and pinboard.

On the php project pinba is probably the only reliable way to understand what is happening with performance. But usually people start to use pinba only when problems are already observed and it isn't clear where to look in.

Often developers have no idea how many RPS each script has. So they begin to optimize starting from places that seem to have problem.

Someone is analyzing the nginx logs, and someone is slow queries in the database.

Of course pinba would not be superfluous, but there are several reasons why it is not on every project.


Read more →
Всего голосов 16: ↑15 и ↓1+14
Комментарии0

Нейронные сети с нуля. Обзор курсов и статей на русском языке, бесплатно и без регистрации

Время на прочтение5 мин
Количество просмотров219K
На Хабре периодически появляются обзоры курсов по машинному обучению. Но такие статьи чаще добавляют в закладки, чем проходят сами курсы. Причины для этого разные: курсы на английском языке, требуют уверенного знания матана или специфичных фреймворков (либо наоборот не описаны начальные знания, необходимые для прохождения курса), находятся на других сайтах и требуют регистрации, имеют расписание, домашнюю работу и тяжело сочетаются с трудовыми буднями. Всё это мешает уже сейчас с нуля начать погружаться в мир машинного обучения со своей собственной скоростью, ровно до того уровня, который интересен и пропускать при этом неинтересные разделы.

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

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


Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии12

Компьютерное зрение и машинное обучение в PHP используя библиотеку opencv

Время на прочтение9 мин
Количество просмотров34K
Всем привет. Это моя юбилейная статья на Хабре. За почти 7 лет я написал 10 статей (включая эту), 8 из них — технические. Общее количество просмотров всех статей — около полумиллиона.
Основной вклад я внёс в два хаба: PHP и Серверное администрирование. Мне нравится работать на стыке этих двух областей, но сфера моих интересов гораздо шире.

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

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


Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии21

Как уехать жить и работать на Кипр без знания английского языка

Время на прочтение10 мин
Количество просмотров79K
Обычно я пишу технические статьи на хабре, но не так давно я отметил два года проживания на Кипре и в связи с этим хотел бы поделиться информацией не технического толка о том, как уехать жить и работать в Евросоюзе на острове в Средиземном море, в какие компании, почему именно на Кипр и стоит ли оно того.

Дисклаймер:
Для избежания разночтений всё что будет описано ниже — по большей части о городе Лимассол, в котором я живу и работаю. Все сравнения, которые я буду делать с Россией — по большей части с Санкт-Петербургом, в котором я жил последнее время. Далее по тексту под «русскими» я буду иметь ввиду граждан России, Украины, Белоруссии и других русскоговорящих. Местные нас особо не различают, мы для них — все русские.


Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии87

Обзор зарубежных и российских регистраторов доменных имён. Сравнение маркетинговых уловок у нас и у них

Время на прочтение5 мин
Количество просмотров93K
В последнее время появилось много интересных доменных зон, некоторые из них были и раньше. У большинства регистраторов на такие зоны большие скидки и на какой-то момент можно поверить, чтобы были созданы дешёвые и доступные зоны для всех пользователей для любых нужд, но на самом деле это и близко не так. Далее речь пойдёт о классических зонах .ru / .com и не совсем обычных .xyz, .club, .today, .life, .world, .online, .tech, .store, а также о регистраторах, которые заманивают низкими ценами и в результате пользователи попадают на большие деньги на продлении этих зон.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии88

Выбираем бесплатный сервер в облаке для тестовых целей, домашних проектов и т.д

Время на прочтение7 мин
Количество просмотров364K
Всегда хотелось познакомиться с облачными сервисами, но на моих работах они либо не использовались, либо не в моём отделе. Платить свои деньги не очень хотелось за такое знакомство, да и всё это казалось довольно сложным. Куча разных тарифов, что-то бесплатно, что-то платно. Но на самом деле каждый может разобраться с этим и самое главное легко. Настолько легко, что вы просто обязаны получить свой собственный бесплатный облачный сервер прямо сейчас. Осталось только выбрать какой.

Статья будет полезна тем, кто ещё не пользовался облачными серверами.


Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии110

По следам highloadcup: php vs node.js vs go, swoole vs workerman, splfixedarray vs array и многое другое

Время на прочтение8 мин
Количество просмотров28K
Рассказ о том как я участвовал в highloadcup (чемпионат для backend-разработчиков) от Mail.Ru, написал на php сервер обслуживающий 10000 RPS, но всё равно не получил победную футболку.


Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии43

Вебсокеты на php. Выбираем вебсокет-сервер

Время на прочтение6 мин
Количество просмотров122K
Давным-давно я публиковал статью на хабре, как написать свой вебсокет-сервер с нуля. Статья переросла в библиотеку. Несколько месяцев я занимался её развитием, ещё несколько лет — поддержкой и багфиксом. Написал модуль интеграции с yii2. Какой-то энтузиаст написал интеграцию с laravel. Моя библиотека совместима с php7. Недавно я решил отказаться от её дальнейшей поддержки (причины ниже), поэтому хочу помочь её пользователям перейти на другую библиотеку.


Читать дальше →
Всего голосов 18: ↑14 и ↓4+10
Комментарии58

Обзор систем мониторинга серверов. Заменяем munin на…

Время на прочтение9 мин
Количество просмотров184K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


Читать дальше →
Всего голосов 79: ↑76 и ↓3+73
Комментарии111

Вебсокеты на PHP. Часть 3. От чата до игры: Battle City

Время на прочтение5 мин
Количество просмотров40K
В предыдущих двух частях (Делаем вебсокеты на PHP с нуля и Межпроцессное взаимодействие) в качестве демонстрации я использовал чаты, но в этой статье на примере онлайн-игры я покажу, что сфера применения вебсокетов может быть гораздо шире.

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

Содержание:
  • Поддержка вебсокетов браузерами
  • Разработка онлайн-игры
  • Благодарности
  • Демка и исходный код

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии23

Делаем вебсокеты на PHP с нуля. Часть 2. IPC

Время на прочтение5 мин
Количество просмотров39K
После написания моей предыдущей статьи Делаем вебсокеты на PHP с нуля я понял, что у сообщества есть некоторый интерес к поднятой мною теме.

В прошлой статье я обещал, что опишу:
  • запуск нескольких процессов для обработки соединений
  • межпроцессное взаимодействие
  • разделение процессов мастер-воркер
  • проксирование вебсокетов с помощью nginx
  • запуск из консоли
  • интеграция с вашим фреймворком на примере yii
  • демонстрация


И, как обычно, — получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии15

Делаем вебсокеты на PHP с нуля

Время на прочтение18 мин
Количество просмотров306K
Некоторое время назад я выбирал библиотеку для работы с вебсокетами. На просторах интернета я натыкался на статьи по интеграции node.js с yii, а почти все статьи о вебсокетах на хабре ограничивались инструкциями к тому, как использовать phpdaemon.

Я изучал библиотеки phpdaemon и ratchet, они достаточно монструозны (причём используя ratchet для отправки сообщения конкретному пользователю рекомендовано дополнительно использовать wamp). Мне не совсем было понятно для чего использовать таких монстров, которые требуют установку других монстров. Почитав исходники этих, а также других библиотек, я разобрался как всё устроено и мне захотелось написать простой вебсокет-сервер на php самостоятельно. Это помогло мне закрепить изученный материал и наткнуться на некоторые подводные камни, о которых я не имел представления.

Так я решил написать необходимый для меня функционал с нуля.

Получившийся код и ссылка на демонстрационный чат в конце статьи.
Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии77

Информация

В рейтинге
Не участвует
Откуда
Лимассол, Government controlled area, Кипр
Дата рождения
Зарегистрирован
Активность