Все говорят, что при проблемах с памятью нужно открыть Eclipse MemoryAnalyzer и немного покрутить. Да, часто это срабатывает, но бывает, что даже опытного инженера задача ставит в тупик.
В докладе мы рассмотрим примеры коварных OOM, и научимся анализировать причины их возникновения. На живых мертвецах дампах памяти увидим почему может не очищаться WeakHashMap, куда утекает native память, сколько finalizer'ов поместится на кончике иглы.
Полученные знания позволят вам уверенно разбирать дампы памяти и избегать шаблонов кода, приводящих к утечкам.
http://jeeconf.com/program/a-step-by-step-approach-toward-high-quality-outofmemoryerror-analysis/
Запустить нагрузочный тест — дело нехитрое. Но запуск без анализа — время на ветер. При анализе выявляется такое, от чего приходится повторять замер. Например: времена отклика получились хорошее, а при детальном анализе оказалось, что все страницы показывали 404-ую ошибку. В начале теста времена хорошие, а потом вообще никакие. Или даже так: JMeter показывает, что «всё замечательно», а в реальности нагрузка не подавалась полчаса. Бывает, что в целом всё хорошо, но есть неприятные выбросы. Как анализировать причины выбросов? Как узнать, на каких данных они возникают? И на этот вопрос будет рекомендация.
В докладе будут рассмотрены типичные подводные камни при тестировании enterprise приложений и варианты решения этих проблем. Доклад построен на примере JMeter, но многие подходы могут с тем же успехом применяться и к другим инструментам. Владимир расскажет, чем среднее отличается от 90% line, как coordinated omission мешает измерять времена отклика, и научит способам обхода типичных проблем, возникающих при замере производительности.
Все говорят, что для максимальной производительности работы из Java с базой данных нужно использовать PreparedStatements и Batch DML. Практика показывает, что нельзя слепо идти на поводу у прописных истин. Нужно понимать особенности конкретной базы и характера передаваемых данных.
В докладе мы рассмотрим то, как эффективное использование протокола PostgreSQL позволяет добиться высокой производительности при выборке и сохранении данных. На примерах увидим как простые изменения в коде приложения и JDBC драйвера на порядок ускоряют запросы. Мы увидим как задействовать механизм server prepared statements из клиенсткого кода и узнаем его узкие места. Обсудим средства эффективной передачи данных в базу.
Многие обсуждаемые доработки недавно вошли в состав официального JDBC драйвера. Доклад будет полезен не только Java программистам, т.к. многие подводные грабли вытекают из самого протокола общения PostgreSQL с внешним миром.
В этом докладе рассмотрен опыт NetCracker по выбору инструмента для изучения причин проблем производительности.
Рассмотрены критерии по которым не подошли имеющиеся инструменты и показаны примеры того, чего не хватает при анализе результатов обычными профайлерами.
http://jeeconf.com/program/implement-your-own-profiler-with-blackjack-and-fun/
Все говорят, что при проблемах с памятью нужно открыть Eclipse MemoryAnalyzer и немного покрутить. Да, часто это срабатывает, но бывает, что даже опытного инженера задача ставит в тупик.
В докладе мы рассмотрим примеры коварных OOM, и научимся анализировать причины их возникновения. На живых мертвецах дампах памяти увидим почему может не очищаться WeakHashMap, куда утекает native память, сколько finalizer'ов поместится на кончике иглы.
Полученные знания позволят вам уверенно разбирать дампы памяти и избегать шаблонов кода, приводящих к утечкам.
В этом докладе рассмотрен опыт NetCracker по выбору инструмента для изучения причин проблем производительности.
Рассмотрены критерии по которым не подошли имеющиеся инструменты и показаны примеры того, чего не хватает при анализе результатов обычными профайлерами.
http://jokerconf.com/#sitnikov
Доклад читался на http://university.jokerconf.com/. Целевая аудитория -- начинающие программисты.
У enterprise-приложений много общих подводных камней, которые подстерегают на пути к выводу систему в эксплуатацию.
Что делать, если через неделю после выхода в production система начала тормозить? Что делать, если проблема воспроизводится только у заказчика?
В докладе рассмотрим частые случаи, приводящие к полной или частичной недоступности production-системы. Научимся обходить стороной грабли и поднимать их до того, как на них кто-то наступит.
Общедоступные программы и библиотеки подкупают своей бесплатностью. Если же исходный код открыт, то все сразу думают, что «умные дядьки уже исправили всё, что нужно». На практике же оказывается, что грабли разложены там, где их мало кто ждёт. Тормозит всё, кроме, разве что, самой java. В докладе мы рассмотрим примеры проблем производительности при использовании таких библиотек как Wildfly, Spring, HornetQ, pgjdbc.
Например, оказывается, что spring.getBean тормозит, а в комбинации с autoproxy вообще может занимать до 50% времени приложения. Cglib мешает работе garbage collector’а в попытках проксировать Object#finalize, а HornetQ внезапно притормаживает отправку JMS, что запросто приводит к 5-и секундным задержкам на одно сообщение. Узнаем как их опознать и обезвредить.
http://javapoint.ru/talks/sitnikov/
Пара простых советов как ускорить регулярные выражения и предотвратить stackoverflowerror.
Да, хоть и нужны они нечасто, но почему-то мало кто знает про *+ и ?>.
Рассмотрен и вопрос xpath vs regexp. Регулярные выражения побеждают стандартный XML движок.
Запустить нагрузочный тест — дело нехитрое. Но запуск без анализа — время на ветер. При анализе выявляется такое, от чего приходится повторять замер. Например: времена отклика получились хорошее, а при детальном анализе оказалось, что все страницы показывали 404-ую ошибку. В начале теста времена хорошие, а потом вообще никакие. Или даже так: JMeter показывает, что «всё замечательно», а в реальности нагрузка не подавалась полчаса. Бывает, что в целом всё хорошо, но есть неприятные выбросы. Как анализировать причины выбросов? Как узнать, на каких данных они возникают? И на этот вопрос будет рекомендация.
В докладе будут рассмотрены типичные подводные камни при тестировании enterprise приложений и варианты решения этих проблем. Доклад построен на примере JMeter, но многие подходы могут с тем же успехом применяться и к другим инструментам. Владимир расскажет, чем среднее отличается от 90% line, как coordinated omission мешает измерять времена отклика, и научит способам обхода типичных проблем, возникающих при замере производительности.
Все говорят, что для максимальной производительности работы из Java с базой данных нужно использовать PreparedStatements и Batch DML. Практика показывает, что нельзя слепо идти на поводу у прописных истин. Нужно понимать особенности конкретной базы и характера передаваемых данных.
В докладе мы рассмотрим то, как эффективное использование протокола PostgreSQL позволяет добиться высокой производительности при выборке и сохранении данных. На примерах увидим как простые изменения в коде приложения и JDBC драйвера на порядок ускоряют запросы. Мы увидим как задействовать механизм server prepared statements из клиенсткого кода и узнаем его узкие места. Обсудим средства эффективной передачи данных в базу.
Многие обсуждаемые доработки недавно вошли в состав официального JDBC драйвера. Доклад будет полезен не только Java программистам, т.к. многие подводные грабли вытекают из самого протокола общения PostgreSQL с внешним миром.
В этом докладе рассмотрен опыт NetCracker по выбору инструмента для изучения причин проблем производительности.
Рассмотрены критерии по которым не подошли имеющиеся инструменты и показаны примеры того, чего не хватает при анализе результатов обычными профайлерами.
http://jeeconf.com/program/implement-your-own-profiler-with-blackjack-and-fun/
Все говорят, что при проблемах с памятью нужно открыть Eclipse MemoryAnalyzer и немного покрутить. Да, часто это срабатывает, но бывает, что даже опытного инженера задача ставит в тупик.
В докладе мы рассмотрим примеры коварных OOM, и научимся анализировать причины их возникновения. На живых мертвецах дампах памяти увидим почему может не очищаться WeakHashMap, куда утекает native память, сколько finalizer'ов поместится на кончике иглы.
Полученные знания позволят вам уверенно разбирать дампы памяти и избегать шаблонов кода, приводящих к утечкам.
В этом докладе рассмотрен опыт NetCracker по выбору инструмента для изучения причин проблем производительности.
Рассмотрены критерии по которым не подошли имеющиеся инструменты и показаны примеры того, чего не хватает при анализе результатов обычными профайлерами.
http://jokerconf.com/#sitnikov
Доклад читался на http://university.jokerconf.com/. Целевая аудитория -- начинающие программисты.
У enterprise-приложений много общих подводных камней, которые подстерегают на пути к выводу систему в эксплуатацию.
Что делать, если через неделю после выхода в production система начала тормозить? Что делать, если проблема воспроизводится только у заказчика?
В докладе рассмотрим частые случаи, приводящие к полной или частичной недоступности production-системы. Научимся обходить стороной грабли и поднимать их до того, как на них кто-то наступит.
Общедоступные программы и библиотеки подкупают своей бесплатностью. Если же исходный код открыт, то все сразу думают, что «умные дядьки уже исправили всё, что нужно». На практике же оказывается, что грабли разложены там, где их мало кто ждёт. Тормозит всё, кроме, разве что, самой java. В докладе мы рассмотрим примеры проблем производительности при использовании таких библиотек как Wildfly, Spring, HornetQ, pgjdbc.
Например, оказывается, что spring.getBean тормозит, а в комбинации с autoproxy вообще может занимать до 50% времени приложения. Cglib мешает работе garbage collector’а в попытках проксировать Object#finalize, а HornetQ внезапно притормаживает отправку JMS, что запросто приводит к 5-и секундным задержкам на одно сообщение. Узнаем как их опознать и обезвредить.
http://javapoint.ru/talks/sitnikov/
Пара простых советов как ускорить регулярные выражения и предотвратить stackoverflowerror.
Да, хоть и нужны они нечасто, но почему-то мало кто знает про *+ и ?>.
Рассмотрен и вопрос xpath vs regexp. Регулярные выражения побеждают стандартный XML движок.
Общедоступные программы и библиотеки подкупают своей бесплатностью. Если же исходный код открыт, то все сразу думают, что «умные дядьки уже исправили всё, что нужно». На практике же оказывается, что грабли разложены там, где их мало кто ждёт. Тормозит всё, кроме, разве что, самой java. В докладе мы рассмотрим примеры проблем производительности при использовании таких библиотек как Wildfly, Spring, HornetQ, pgjdbc.
Например, оказывается, что spring.getBean тормозит, а в комбинации с autoproxy вообще может занимать до 50% времени приложения. Cglib мешает работе garbage collector’а в попытках проксировать Object#finalize, а HornetQ внезапно притормаживает отправку JMS, что запросто приводит к 5-и секундным задержкам на одно сообщение. Узнаем как их опознать и обезвредить.
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 14:00
Тезисы:
http://rootconf.ru/2017/abstracts/2708.html
Сообщество любого открытого проекта созидательно по сути, не использовать эту силу будет большой ошибкой. Но всегда ли нужно слепо следовать за мнением большинства?
В своём докладе я расскажу о новой функциональности, ожидаемой в версии Zabbix 3.4, какие запросы наших пользователей мы решили реализовать, и какую роль в формировании роадмапа играет сообщество. Затрону тему общих принципов формирования роадмапа, и почему мы не готовы работать над всеми хотелками сообщества. Некоторые из них приходится ждать годами, а некоторые мы реализуем буквально за день.
Я расскажу о том, как мы работаем с сообществом, мониторим и реализуем запросы. Всегда ли мы это делаем эффективно или что-то можно улучшить?
Приходите! Доклад будет интересен не только тем, кто интересуется Zabbix и мониторингом в целом, но, надеюсь, что и разработчикам открытых программных продуктов.
Deployment to production with an unexpected loadGrid Dynamics
In his talk, Max Mazur a DevOps Engineer at Grid Dynamics, shares his experience deploying to production despite unexpected loads using the example of the web application (RTB). There you can find specific cases of using MySQL and resolving solutions. Technology stack: Linux, MySQL, PHP, Nginx, Kafka, Redis, Gearman
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)Ontico
Вне зависимости от размера инфраструктуры, весьма сложно разобраться в проблемах, обнаруженных системой мониторинга, особенно если их сотни или тысячи. Они могут быть о железе, приложениях, связаны с безопасностью, тестовыми и продакшн средами, различными датацентрами и сервисами. Как эффективно управлять этой сложностью? Как удобно отображать проблемы для коллег, отвечающих за различные куски инфраструктуры?
Новая мажорная версия Zabbix 3.2 революционна и отвечает на эти вопросы!
Модуль корреляции событий на глобальном уровне и уровне одной проблемы, система тагов, новая супер быстрая панель для отображения проблем, вложенные группы устройств, возможность ручного закрытия проблем и многое другое позволяют построить эффективный мониторинг любого размера или качественно улучшить существующий.
Я расскажу о новой функциональности и покажу, как её использовать для построения, в том числе, сервис-ориентированного мониторинга. Многие вещи стали намного проще. Иногда может быть достаточно одного триггера для мониторинга всех сервисов или приложений компании. Фантастика! Как это возможно? Приходите и узнаете.
Реактивный двигатель вашего Android приложенияMatvey Malkov
Презентация, объясняющая концепцию реактивных потоков с использованием Android SDK и RxJavа. Рассчитано на программистов с любым стажем, которые жеалют начать использовать эту концепцию в своих программах.
Реактивные потоки -- это круто.
Алексей Романчук «Реактивное программирование»DevDay
Старые подходы к построению программных систем не так актуальны для создания современных решений. В дополнение к масштабируемости добавляются требования отзывчивости, отказоустойчивости и событийности. Пытаться работать на родном старом или посмотреть в сторону новых технологий? В своем выступлении я расскажу про концепцию reactive programming. Какие технологии реализуют концепцию и как сделать первые шаги в этом новом прекрасном мире.
Presentation from https://heisenbug-piter.ru/en/talks/2018/spb/kkw6oivsoywayacggksmk/
Once upon a time, we got a requirement to finish all testing in 2 days despite the number of tests to run. That number grew, and grew, and grew, and now there are tens of millions of them. So this is a story about building a dam against the never-ending flood which turned out to be not that scary. You are very welcome to join and see it for yourself.
Что нам стоит DAL построить? Акуляков Артём D2D Just.NETDev2Dev
Работа с данными - это ключевая функция большинства приложений. Но работать с данными не так просто как кажется. С одной стороны, нам нужна производительность, с другой все best practices диктуют нам принцип persistence ignorance, с третьей еще и хочется писать красивый и понятный код. Как найти баланс между всем этим? Чем хороший IRepository отличается от плохого? Что такое CQRS и причем тут функциональное программирование? Об этом и пойдет речь, а так же немного граблей и личного опыта.
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Fwdays
Покажу как выпилить пароли/сертификаты/важные данные из репозиториев. Дам всю необходимую информацию для внедрению Hashicorp Vault в вашей компании и команде. Сделаю акцент на использовании в контейнерных инфраструктурах. Рассмотрю продвинутые практики использования и юз-кейсы с вау эффектом, которые работают в реальной жизни. Тут будут звучать такие слова как Ansible, Chef, Puppet, Docker, Swarm, Kubernetes etc.
Доклад, который сможет помочь сделать все хорошо, даже если сейчас все плохо.
There is a problem of finding the best instance of a service in distributed systems with dynamic configuration. Nowadays, there are many products for the configuration storage and service discovery. It should be mentioned at least Netflix Eureka, Consul, etc or good old Zookeeper. These products can keep and give configuration, manage service instances lifecycle and some of them even can be as dynamic DNS service. But main question is not about what instance may be called at the certain time. It is about what instance is better for call? This means that smart load balancing top on service discovery is required. Spring Cloud project allows to integrate these products to your project and provides powerful solutions for typical problems, that make cloud native services developing easier. This talk will review the internal structure of SpringCloud implementation of Client-Side Service Discovery and Client Load Balancing patterns. It also will include specific details of concrete implementations with examples from official libraries and the author’s own library.
This document summarizes a presentation about optimizing performance between PostgreSQL and JDBC.
The presenter discusses several strategies for improving query performance such as using prepared statements, avoiding closing statements, setting fetch sizes appropriately, and using batch inserts with COPY for large amounts of data. Some potential issues that can cause performance degradation are also covered, such as parameter type changes invalidating prepared statements and unexpected plan changes after repeated executions.
The presentation includes examples and benchmarks demonstrating the performance impact of different approaches. The overall message is that prepared statements are very important for performance but must be used carefully due to edge cases that can still cause issues.
Business environment in Azerbaijan. This rules should be considered valid during 2015. And take into cosinerdatin that this document doesnt fully cover all the business rules but basic rules.
Общедоступные программы и библиотеки подкупают своей бесплатностью. Если же исходный код открыт, то все сразу думают, что «умные дядьки уже исправили всё, что нужно». На практике же оказывается, что грабли разложены там, где их мало кто ждёт. Тормозит всё, кроме, разве что, самой java. В докладе мы рассмотрим примеры проблем производительности при использовании таких библиотек как Wildfly, Spring, HornetQ, pgjdbc.
Например, оказывается, что spring.getBean тормозит, а в комбинации с autoproxy вообще может занимать до 50% времени приложения. Cglib мешает работе garbage collector’а в попытках проксировать Object#finalize, а HornetQ внезапно притормаживает отправку JMS, что запросто приводит к 5-и секундным задержкам на одно сообщение. Узнаем как их опознать и обезвредить.
Zabbix 3.4 - простая непростая дружба с сообществом / Алексей Владышев (Zabbix)Ontico
РИТ++ 2017, Root Conf
Зал Пекин + Шанхай, 5 июня, 14:00
Тезисы:
http://rootconf.ru/2017/abstracts/2708.html
Сообщество любого открытого проекта созидательно по сути, не использовать эту силу будет большой ошибкой. Но всегда ли нужно слепо следовать за мнением большинства?
В своём докладе я расскажу о новой функциональности, ожидаемой в версии Zabbix 3.4, какие запросы наших пользователей мы решили реализовать, и какую роль в формировании роадмапа играет сообщество. Затрону тему общих принципов формирования роадмапа, и почему мы не готовы работать над всеми хотелками сообщества. Некоторые из них приходится ждать годами, а некоторые мы реализуем буквально за день.
Я расскажу о том, как мы работаем с сообществом, мониторим и реализуем запросы. Всегда ли мы это делаем эффективно или что-то можно улучшить?
Приходите! Доклад будет интересен не только тем, кто интересуется Zabbix и мониторингом в целом, но, надеюсь, что и разработчикам открытых программных продуктов.
Deployment to production with an unexpected loadGrid Dynamics
In his talk, Max Mazur a DevOps Engineer at Grid Dynamics, shares his experience deploying to production despite unexpected loads using the example of the web application (RTB). There you can find specific cases of using MySQL and resolving solutions. Technology stack: Linux, MySQL, PHP, Nginx, Kafka, Redis, Gearman
Zabbix 3.2 - мониторинг качественно нового уровня / Алексей Владышев (Zabbix)Ontico
Вне зависимости от размера инфраструктуры, весьма сложно разобраться в проблемах, обнаруженных системой мониторинга, особенно если их сотни или тысячи. Они могут быть о железе, приложениях, связаны с безопасностью, тестовыми и продакшн средами, различными датацентрами и сервисами. Как эффективно управлять этой сложностью? Как удобно отображать проблемы для коллег, отвечающих за различные куски инфраструктуры?
Новая мажорная версия Zabbix 3.2 революционна и отвечает на эти вопросы!
Модуль корреляции событий на глобальном уровне и уровне одной проблемы, система тагов, новая супер быстрая панель для отображения проблем, вложенные группы устройств, возможность ручного закрытия проблем и многое другое позволяют построить эффективный мониторинг любого размера или качественно улучшить существующий.
Я расскажу о новой функциональности и покажу, как её использовать для построения, в том числе, сервис-ориентированного мониторинга. Многие вещи стали намного проще. Иногда может быть достаточно одного триггера для мониторинга всех сервисов или приложений компании. Фантастика! Как это возможно? Приходите и узнаете.
Реактивный двигатель вашего Android приложенияMatvey Malkov
Презентация, объясняющая концепцию реактивных потоков с использованием Android SDK и RxJavа. Рассчитано на программистов с любым стажем, которые жеалют начать использовать эту концепцию в своих программах.
Реактивные потоки -- это круто.
Алексей Романчук «Реактивное программирование»DevDay
Старые подходы к построению программных систем не так актуальны для создания современных решений. В дополнение к масштабируемости добавляются требования отзывчивости, отказоустойчивости и событийности. Пытаться работать на родном старом или посмотреть в сторону новых технологий? В своем выступлении я расскажу про концепцию reactive programming. Какие технологии реализуют концепцию и как сделать первые шаги в этом новом прекрасном мире.
Presentation from https://heisenbug-piter.ru/en/talks/2018/spb/kkw6oivsoywayacggksmk/
Once upon a time, we got a requirement to finish all testing in 2 days despite the number of tests to run. That number grew, and grew, and grew, and now there are tens of millions of them. So this is a story about building a dam against the never-ending flood which turned out to be not that scary. You are very welcome to join and see it for yourself.
Что нам стоит DAL построить? Акуляков Артём D2D Just.NETDev2Dev
Работа с данными - это ключевая функция большинства приложений. Но работать с данными не так просто как кажется. С одной стороны, нам нужна производительность, с другой все best practices диктуют нам принцип persistence ignorance, с третьей еще и хочется писать красивый и понятный код. Как найти баланс между всем этим? Чем хороший IRepository отличается от плохого? Что такое CQRS и причем тут функциональное программирование? Об этом и пойдет речь, а так же немного граблей и личного опыта.
Олег Миколайченко "Как перестать хранить секреты в git и начать использовать ...Fwdays
Покажу как выпилить пароли/сертификаты/важные данные из репозиториев. Дам всю необходимую информацию для внедрению Hashicorp Vault в вашей компании и команде. Сделаю акцент на использовании в контейнерных инфраструктурах. Рассмотрю продвинутые практики использования и юз-кейсы с вау эффектом, которые работают в реальной жизни. Тут будут звучать такие слова как Ansible, Chef, Puppet, Docker, Swarm, Kubernetes etc.
Доклад, который сможет помочь сделать все хорошо, даже если сейчас все плохо.
There is a problem of finding the best instance of a service in distributed systems with dynamic configuration. Nowadays, there are many products for the configuration storage and service discovery. It should be mentioned at least Netflix Eureka, Consul, etc or good old Zookeeper. These products can keep and give configuration, manage service instances lifecycle and some of them even can be as dynamic DNS service. But main question is not about what instance may be called at the certain time. It is about what instance is better for call? This means that smart load balancing top on service discovery is required. Spring Cloud project allows to integrate these products to your project and provides powerful solutions for typical problems, that make cloud native services developing easier. This talk will review the internal structure of SpringCloud implementation of Client-Side Service Discovery and Client Load Balancing patterns. It also will include specific details of concrete implementations with examples from official libraries and the author’s own library.
This document summarizes a presentation about optimizing performance between PostgreSQL and JDBC.
The presenter discusses several strategies for improving query performance such as using prepared statements, avoiding closing statements, setting fetch sizes appropriately, and using batch inserts with COPY for large amounts of data. Some potential issues that can cause performance degradation are also covered, such as parameter type changes invalidating prepared statements and unexpected plan changes after repeated executions.
The presentation includes examples and benchmarks demonstrating the performance impact of different approaches. The overall message is that prepared statements are very important for performance but must be used carefully due to edge cases that can still cause issues.
Business environment in Azerbaijan. This rules should be considered valid during 2015. And take into cosinerdatin that this document doesnt fully cover all the business rules but basic rules.
EY Azerbaijan. Business Guide Azerbaijan 2014Kanan Mammadli
This document provides an overview guide to doing business in Azerbaijan. It begins with general country statistics and an economic overview. It then discusses business licensing requirements, currency regulations, and land ownership. The main types of business entities are joint stock companies, limited liability companies, and partnerships. The guide provides detailed information on taxation, accounting and reporting requirements, and contact information for EY Azerbaijan which can provide professional services. In summary, it is a comprehensive guide covering the key considerations and steps for establishing and operating a business in Azerbaijan.
The document discusses the semantics of final fields in Java. It provides examples of how final fields can prevent unsafe behavior in multithreaded applications by preventing race conditions on shared mutable objects. It also describes how final helps avoid issues seen in early versions of Java by preventing references to uninitialized objects. The specification allows compilers to reorder and optimize code in complex ways while still preserving the partial order of operations defined by final fields and other semantics.
The document discusses high performance JDBC and database optimization. It covers topics like persistence frameworks, JDBC drivers and connections, query performance, and tuning database and application design. Specific tips mentioned include using prepared statements, setting fetch sizes, closing resources, and leveraging database features like indexes and materialized views.
Final keyword in java is known to forbid class extension and modification of the fields. It is less known to have special meaning in multithreaded code.
Unfortunately, there is not that much information on the latter, and even most thorough talks avoid deep details on the beauty of finals.
In this talk I apply section 17.5 of java language specification to different examples and show how the spec works. Several myths are busted on the way.
Here's nice article on different aspects of JMM: http://shipilev.net/blog/2014/jmm-pragmatics/
This document discusses various approaches to building high performance Java applications for handling IoT workloads. It begins by noting that vanilla Java can handle 10,000 requests per second per CPU core. It then discusses blocking and non-blocking IO approaches, highlighting several non-blocking frameworks like Netty. The document also summarizes the architecture and performance of the Blynk IoT platform, which uses a non-blocking architecture with batches, no synchronization, and in-memory structures to achieve high throughput. Finally, it outlines different versions of the Blynk platform with increasing scale and resilience.
Developing PostgreSQL Performance, Simon RiggsFuenteovejuna
This document discusses PostgreSQL performance improvements over multiple versions from 7.3 to 8.4. It shows graphs demonstrating significant performance gains in peak read-only and read-write transaction rates. It describes the contributors to these gains as improvements to buffer management, locking, caching, and other internal aspects of the database engine. It also outlines ongoing focus areas and potential for further 10-20% gains in transaction processing and data warehouse workloads through continued optimization.
Many Java developers use ORM in their projects but most of them don’t do deep dive into configuration, settings and tuning to achieve really good performance. What is worse most of them even don’t know what options do they have to improve performance. In this talk we will review them on practical samples and give concrete recommendations how to make your Hibernate work much better in real projects.
Code samples can be found here: https://github.com/xpinjection/hibernate-performance
.
Almost every Java developer knows ORM concepts and Hibernate as the most popular solution in Java world in this area. But it is big surprise that very small percent of Java developers (even experienced ones) can answer very simple questions about how Hibernate really do all this “magic”. In this live coding session we will go through many practical samples and finally show truth to the Java community. ;)
P.S. After this talk you could pass through any Senior Developer interview easily.
Code samples can be found here: https://github.com/xpinjection/hibernate-basics
.
Контейнеры в OpenStack: простое решение сложных проблемOpenVZ
Контейнеры в OpenStack: простое решение сложных проблем.
В настоящее время в OpenStack есть хорошая поддержка гипервизорной виртуализации, но пока нет работающего решения для использования контейнеров. Я расскажу, почему так получилось, сравню гипервизорную и контейнерную технологии в контексте OpenStack и рассмотрю, насколько проще будет выполнять некоторые операции в OpenStack при использовании контейнеров, а также какие новые возможности появятся в OpenStack при использовании этого типа виртуализации.
Контейнеры в OpenStack: простое решение сложных проблемYandex
В настоящее время в OpenStack есть хорошая поддержка гипервизорной виртуализации, но пока нет работающего решения для использования контейнеров. Я расскажу, почему так получилось, сравню гипервизорную и контейнерную технологии в контексте OpenStack и рассмотрю, насколько проще будет выполнять некоторые операции в OpenStack при использовании контейнеров, а также какие новые возможности появятся в OpenStack при использовании этого типа виртуализации.
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo Development
Badoo — крупнейшая в мире социальная сеть для знакомств с новыми людьми. У нас тысячи серверов в двух дата-центрах, и какие-то из них постоянно выходят из строя. Наш кластер машин состоит из различных групп: машины для обслуживания веб-запросов, серверы баз данных, хранилище фотографий, серверы для выполнения cron-заданий, машины для C/C++ сервисов и некоторые другие. Для обработки заданий по расписанию мы используем так называемые «скриптовые» машины, на которых запускаются PHP-скрипты в CLI, которые выполняют нужные действия. До недавнего момента мы использовали обычный cron для запуска скриптов по расписанию, а также самописную утилиту для того, чтобы автоматизировать процесс прописывания нужных строчек в cron. Тем не менее, разработчикам приходилось по каким-то критериям выбирать одну или несколько машин, на которых будут запускаться эти скрипты, и они жестко «привязывались» к конкретным серверам. Если какая-то из машин «падала», мы должны были вручную переносить с неё скрипты на другие машины. Чтобы равномерно распределять нагрузку по серверам, а также обеспечивать автоматическое восстановление в случае отказа (failover), мы решили сделать свое «облако», которое призвано решить эти проблемы. Доклад посвящен процессу создания «облака», а также первым результатам, которые мы получили в связи с его использованием.
Краткий план доклада:
- Требования к «облаку».
- Существующие решения.
- Распределение нагрузки по машинам.
- Обработка сбоев оборудования.
- Мониторинг «облака».
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
Сегодня всё больше и больше компаний решаются на перевод своей инфраструктуры и сервисов в облака. Некоторые даже начинают строить свой бизнес, не имея ни единого собственного сервера для обработки или хранения пользовательских данных, и при этом становятся лидерами в своих сегментах рынка.
Но, несмотря на очевидные преимущества этого подхода, не всех устраивает перспектива быть привязанными к конкретному поставщику облачных услуг. В докладе рассказывается об основных тенденциях в современном «облакостроении», о свободе и гибкости и, самое главное, представляется наша открытая облачная платформа.
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "IT Event
I've been surprised how easy it is today to program hardware containing Wi-Fi module and start receiving data from a chosen sensor (those perceiving motion, light or sound, etc.). Without a line in C++, all in JavaScript solely.
Together with Sergey, we'll elaborate more on how any frontend engineer can easily jumpstart his journey within the Internet of Things.
В последнее время во фронтенде появляется столько нового и внедряется настолько быстро, что не все успевают осознать последствия. Хорошо это или плохо? Рассмотрим некоторые новинки с точки зрения «за», а главное – «против».
Конференция FrontTalks, Екатеринбург, 19 сентября
Видео: https://vimeo.com/107694664
Windbg: когда у нас не воспроизводится. Александр Головач ➠ CoreHard Autumn ...corehard_by
На практике возникают проблемы, которые невозможно воспроизвести и исследовать на стороне разработчика. В таких ситуациях порой бывает невозможно даже организовать удаленный доступ к машине. Во время доклада будут рассмотрены и даны советы по отладке типовых задач таких как аварийное завершение, утечка ресурсов и ошибки синхронизации в многопоточных приложениях. Мы будем использовать отладчик Windbg. Доклад будет интересен в первую очередь начинающим разработчикам, работающим с платформой Windows.