All streams
Search
Write a publication
Pull to refresh
44
0
Dmitry @RPG18

Golang Developer

Send message
Спасибо за перевод книги.
В зависимости от версии PostgreSQL запрос может обрезаться..
По логам мы получаем отдельное время выполнения каждого запроса, по pg_stat_statements только среднее. PostgreSQL еще не все запросы хорошо нормирует, и люди пытаются при помощи регекспов это подправить.
На PGDay 15 ребята демонстрировали OKmeter довольно интересная вещь для мониторинга PostgreSQL, за 25$ в месяц с сервера.

Для анализа можно еще взять pgBadger, но тут нужно смотреть на объем логов. На том же PGDay упоминали, что 200 Gb логов в несколько потоков переваривает за 6 часов.

Можно еще pgCluu, он работает через разные view и расширения PostgreSQL, а не через лог.
Не только в крупных компаниях. Наш фронтенд разработчик глянул на Jasper BI и пал в уныние. Такие средства позволяют сократить время на разработку отчетов, дашбордов и т. д.
Обычно на форумах хотят от 500 запросов в секунду :)

Все зависит от задач. PhantomJS — это гибридное приложение написанное на Qt, C++, JavaScript. Его использует другой проект jsreport, где люди радуются 641 pdf станицей в секунду.
libevent, libuv переносимые. Вообще удивительно, что существуют столько альтернативных диспетчеров.
Тестирование прокси сервера это отличись тормоза ресурса, от тормозов твоего сервера. Можно пойти по пути описанным в этом письме. Я пробовал словить блокировки внутри malloc, что бы сравнить с jemalloc/tcmalloc.

Да. Сигналы и слоты медленные, особенно если использовать синтаксис
QObject::connect(const QObject * sender, const char * signal, const char * method, Qt::ConnectionType type = Qt::AutoConnection) const

Понятно что работа со строками быстрой быть не может. Сравнение между Qt4/Qt5 слотами можно посмотреть Benchmark for conception


Я естественно не делаю ничего из highload на Qt, потому что уткнемся в память, а именно в операциях malloc/free, фрагментация памяти и т.д. Потом еще обязательно придется оптимизировать парсеры, если они есть, как например в nxweb – HTTP сервер для приложений на Си. Если вы хотите с базой общаться, то скорее всего захочется асинхронно и с ней работать, а интерфейс QSqlQuery не предоставляет этой возможности. Потом еще вдруг заходим размещение ответа от базы за оптимизировать как Побег из темницы типов. Реализуем работу с данными, тип которых определяется динамически. Если мы скажем захотим сделать игровой сервер, то epoll с сокетами будет недостаточно.
Нет. Я его использовал для онлайновой агрегации и консолидацией KPI, для дальнейшего расчета показателей качества(KQI).
У меня руки не дошли до тестирования производительности. Пока ждали новый сервер научились готовить PostgreSQL.

По поводу производительности. Особенность LevelDB это использование LSM-дерева. Ссылки в конце статьи ведут на видео 2013 где рассказываются про LSM. По производительность LevelDB есть такое видео Практика NOSQL в высоконагруженном проекте, Дмитрий Ананьев (Мамба) 2012 года, и немного Константин Осипов показывает неприятный бенчмарк. Как упоминал Осипов, Facebook развлекался с LevelDB, как результат имеем RocksDB. Вот бенчмарк RocksDB и LevelDB

На остальные вопросы ответить не могу, т.к. с ними не сталкивался.
Правильно я понимаю, что граф состояний получается из анализа спецификаций?
Магнитная лента?
Мы используем тип timestamp with time zone. Postgres хранит в UTC, а перед выдачу клиенту преобразует в локальное.
Не понял про DateTimeOffset, в PostgreSQL. PostgreSQL хранит временную зону.
Как начало карьеры все подойдет. Нужно понимать, что в крупных компаниях ты винтик в крупном механизме. Например есть вакансия разработчика Яндекс.Браузера, вот как и куда можно развиватся?

А в небольших компаниях чуточку больше свободы, можно идти в менеджеры, аналитики, архитекторы и т.д. Небольшие команды способствуют тому, что становишся и швец, и жнец, и на дуде игрец, что дает некоторую свободу в выборе другого направления или места работы.
Попасть в Яндекс и Jetbrains можно не только с этих вузов. Более интересный вопрос: имеет ли смысл идти в Яндекс, Jetbrains? :)
А мне балонская система понравилась. В моём вузе были выкинуты специализированные предметы которые не подходят под CS, SE. А в дальнейшем позволило поступить в магистратуру в СПБАУ.
Я говорил про NUMA?

Как оптимизировать программы на Си вполне известно. Для Си есть качественные компиляторы с различными оптимизациями. Модель памяти в Си проще, в ней нет GC/подсчета ссылок за которые надо платить.
Если код был разработан с учетом использования исключений, то описанная вами ситуация не может быть. А если иначе, то это некорректный код.
В С++ есть принцып: не платим за то, что не используем. На этом принципе основаны различные проверки во время компиляции, примеры можно почитать у того же Александреску.

Если мы объявляем функцию
OCINumber* extractOCINumber(oracle::occi::Number& );

а реализацию изолируем в отдельной еденице трансляции extractOCINumber.cpp
#define private public
// подключаем необходимый заголовочный файл
OCINumber* extractOCINumber(oracle::occi::Number& foo)
{
  return &foo.data;
}
//и ничего более

то ничего не сломаем. Зато получаем проверку есть ли член-данное, имеет ли оно нужный нам тип, верное смещение данного в классе.
Можно поподробней, почему сломается?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity