В этой статье я расскажу как использовать pinba совместно с clickhouse и grafana вместо pinba_engine и pinboard.
На php-проекте pinba — пожалуй единственный надёжный способ понять, что происходит с производительностью. Правда обычно pinba внедряется только тогда, когда уже наблюдаются проблемы и не понятно «где копать».
Часто никто понятия не имеет сколько раз в секунду/минуту вызывается тот или иной скрипт и начинают оптимизировать «на ощупь», начиная с тех мест, что кажутся логичнее.
Кто-то анализирует логи nginx, а кто-то медленные запросы в бд.
Конечно pinba не была бы лишней, но есть несколько причин, почему она есть далеко не на каждом проекте.
Читать полностью »
Рубрика «Go» - 25
Статистика и мониторинг PHP скриптов в реальном времени. ClickHouse и Grafana идут на помощь к Pinba
2019-04-28 в 22:15, admin, рубрики: board, engine, Go, golang, nginx, php, php7, pinba, pinba_engine, pinba_server, pinba2, pinbaserver, pinboard, высокая производительностьNil не всегда nil
2019-04-26 в 16:30, admin, рубрики: development, Go, golang, software, Программирование, разработкаNil не всегда nil
"Что? Что вообще здесь написано?" спросите вы. Сейчас все разложу.
Когда начинал изучать язык — не думал что зайду в этот узкий случай. Это также не рационально как и изменять итерируемую коллекцию.
Динамическое изменение схемы JSON в Go с помощью gob
2019-04-23 в 6:16, admin, рубрики: Go, gob, golang, jsonЗначимо изменить маршализацию структуры в json можно только через метод MarshalJSON(), написав там полную реализацию маршализации. Как именно? На это документация Go ни ответов, ни рекомендаций не даёт, предоставляя, так сказать, полную свободу. А как воспользоваться этой свободой так, чтобы не нагородить кучу костылей, перенеся всю логику в MarshalJSON(), и потом не перепиливать эту бедную постоянно разрастающуюся функцию при очередных кастомизациях json?
Решение на самом деле простое:
- Будь честен (честна).
(Второго пункта не будет, первого хватит.)
Знакомые незнакомцы или еще раз об использовании паттернов проектирования
2019-04-18 в 12:43, admin, рубрики: Go, golang, ооп, паттерны проектирования, шаблоны проектированияНа тему паттернов проектирования написаны тонны статей и издано множество книг. Однако эта тема не перестает быть актуальной, поскольку паттерны позволяют пользоваться нам уже готовыми, проверенными временем решениями, что позволяет сокращать время разработки проектов за счет улучшения качества кода и уменьшения технических долгов.
С момента появления паттернов проектирования появляются все новые примеры их эффективного использования. И это замечательно. Однако, здесь не обошлось и без ложки дегтя: каждый язык имеет свою специфику. А уж golang — и подавно (в нем нет даже классической модели ООП). Поэтому и возникают вариации шаблонов, применительно к отдельно взятым языкам программирования. В этой статье хотелось бы затронуть тему паттернов проектироавния применительно к golang.
Простая система имитационного моделирования на Go
2019-04-14 в 17:00, admin, рубрики: Go, gpss-world, simulation modellingВведение
Имитационное моделирование это метод, при котором для проведения экспериментов изучаемая реальная система заменяется моделью. В подобной модели можно проиграть как отдельные ситуации, так и их множество. Собранные статистические данные могут помочь сделать выводы о ходе процессов в системе, а также наметить пути оптимизации.
Читать полностью »
Свой велосипед для синхронизации MariaDB и Sphinx
2019-04-11 в 9:12, admin, рубрики: Go, golang, mariadb, sphinx, sphinxsearch, Блог компании Superjob.ru, поисковые технологии
28 февраля я выступал с докладом на SphinxSearch-meetup, который проходил в нашем офисе. Рассказывал о том, как мы пришли от регулярного перестроения индексов для полнотекстового поиска и отправки обновлений в коде «по месту» к рейлтайм-индексам и автоматической синхронизации состояния индекса и базы данных MariaDB. По ссылке доступна видеозапись моего доклада, а для тех, кто предпочитает чтение просмотру видео, я написал эту статью.
GoLand 2019.1: анализ производительности кода, Smart Step Into, рефакторинг Extract Interface, Nilness Analyzer и другое
2019-04-10 в 14:32, admin, рубрики: Go, GoLand, golang, jetbrains, Блог компании JetBrains, ПрограммированиеПривет!
Две недели назад мы выпустили GoLand 2019.1 и спешим рассказать вам о новинках этого релиза.
Зачем вам учить Go
2019-04-08 в 15:54, admin, рубрики: geekbrains, Go, golang, mail.ru group, Блог компании Mail.Ru Group, Программирование, Учебный процесс в ITGo — относительно молодой, но популярный язык программирования. По данным опроса Stack Overflow, именно Golang получил третье место в рейтинге языков программирования, которые хотели бы освоить разработчики. В этой статье мы попробуем разобраться в причинах популярности Go, а также посмотрим, где этот язык используется и почему его вообще стоит изучать.
Мой путь от Python к Go — делюсь советами и ресурсами
2019-03-22 в 14:41, admin, рубрики: Go, python, skillbox, Блог компании Skillbox, выбор, Программирование, Учебный процесс в IT
От переводчика: перевели для вас статью Илада Леева о переходе с Python на Go. Статья будет полезна не только начинающим программистам, но и всем, кто так либо иначе интересуется Go.
Мне нравится Python. Этот язык был моим фаворитом последние пять лет. Он дружелюбный, эффективный, и его легко выучить. Используется практически для всего: от создания простых скриптов и веб-разработки до визуализации данных и машинного обучения
Постепенное «созревание» Go, обширное комьюнити и тот факт, что все больше компаний принимают этот язык на вооружение после успешных тестов, заставили меня обратить на него внимание и углубиться в литературу. Но этот пост не о том, что лучше — Python или Go: сравнений в сети огромное количество. По моему мнению, все зависит от области применения. Я собираюсь рассказать о том, почему выбрал Go, дав несколько советов и ссылок на полезные ресурсы для всех интересующихся темой.
Читать полностью »
GraphQL и Golang
2019-03-22 в 9:00, admin, рубрики: Go, graphql, Блог компании RUVDS.com, разработка, Разработка веб-сайтовТехнология GraphQL за последние несколько лет, после того, как компания Facebook перевела её в разряд опенсорсных, стала весьма популярной. Автор материала, перевод которого мы сегодня публикуем, говорит, что попробовал работать с GraphQL в среде Node.js и на собственном опыте убедился в том, что эта технология, благодаря её замечательным возможностям и простоте, неслучайно привлекает к себе столько внимания. Недавно он, занимаясь новым проектом, перешёл с Node.js на Golang. Тогда он и решил испытать совместную работу Goland и GraphQL.