SlideShare a Scribd company logo
1 of 17
Download to read offline
PHP обязан умирать
…или Откуда взялся слон
Откуда взялся слон?
Немного об истории
Не только сайты
Run code in the
background???
• Обработка очередей заказов
• Кеширование и «разогрев» кеша
большого объёма данных
• Проверка подписок/оплат
• Запись большого объёма данных
кусками для избежания деградации
данных
• Поддержка открытых соединений или
WebSockets приложения
• И т.д и т.п.
Bring it to the
foreground
Идея:
Пусть страдает каждый n-ный пользователь?
Беда:
Неравномерность нагрузки
Идея:
Запустить cron?
Беда:
Не всегда достаточно только времени для контроля;
доступ к cron бывает ограничен
Summon the daemons
• Ratchet — WebSockets for PHP
• Producer-Consumer implementation
Всё же у нас PHP…
PHP обязан умирать
Попробуем взлететь?
• memory_limit?
• circular references
• unset()
• ORMs
Увы, но не в этом мире…
Не только память
Fatal error: Exception thrown without a stack
frame in Unknown on line 0
Серебряная пуля?
React — неблокируемая библиотека. Основные задачи:
• Работа с минимальным количеством расширений,
дополнительные расширения для лучшей
производительности
• Независимый компонент событийного цикла, который
может быть использован в сторонних библиотеках
• Два вида абстракций: Stream (ReadableStream,
WritableStream) & Promise
Q&A?

More Related Content

What's hot

ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)
ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)
ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)ZFConf Conference
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаITCrowd Almaty
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаendeveit
 
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)PostgreSQL worst practices / Илья Космодемьянский (Data Egret)
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)Ontico
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюринpgdayrussia
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4HighLoad2009
 
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)Ontico
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Ontico
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014Alex Chistyakov
 
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Ontico
 
Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"Fwdays
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблераHighLoad2009
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplantit-people
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Ontico
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноBadoo Development
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаКонстантин Никифоров
 
Badoo presentation-2012-rit-nasretdinov
Badoo presentation-2012-rit-nasretdinovBadoo presentation-2012-rit-nasretdinov
Badoo presentation-2012-rit-nasretdinovYuriy Nasretdinov
 

What's hot (20)

ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)
ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)
ZFConf 2012: Кеш без промахов средствами Zend Framework 2 (Евгений Шпилевский)
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)PostgreSQL worst practices / Илья Космодемьянский (Data Egret)
PostgreSQL worst practices / Илья Космодемьянский (Data Egret)
 
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил ТюринPG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
 
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
Highload на GPU, опыт Vinci / Олег Илларионов (ВКонтакте)
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014My talk on LeoFS, Highload++ 2014
My talk on LeoFS, Highload++ 2014
 
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
 
Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"Anton Turetckii "What does it take to build a host?"
Anton Turetckii "What does it take to build a host?"
 
Хранилище 101
Хранилище 101Хранилище 101
Хранилище 101
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
 
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторинга
 
Badoo presentation-2012-rit-nasretdinov
Badoo presentation-2012-rit-nasretdinovBadoo presentation-2012-rit-nasretdinov
Badoo presentation-2012-rit-nasretdinov
 

Viewers also liked

180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room trainingBill Buffalo
 
Ольга Котий: Конструктивные коммуникации с заказчиком.
Ольга Котий: Конструктивные коммуникации с заказчиком.Ольга Котий: Конструктивные коммуникации с заказчиком.
Ольга Котий: Конструктивные коммуникации с заказчиком.DataArt
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion webDiego Rojas
 
Артур Чеканов «Microframeworks» (Python Meetup)
Артур Чеканов  «Microframeworks» (Python Meetup)Артур Чеканов  «Microframeworks» (Python Meetup)
Артур Чеканов «Microframeworks» (Python Meetup)DataArt
 
Сергей Зиновьев — Разработка веб-приложений на Rails.
Сергей Зиновьев — Разработка веб-приложений на Rails.Сергей Зиновьев — Разработка веб-приложений на Rails.
Сергей Зиновьев — Разработка веб-приложений на Rails.DataArt
 
Want to be a QA? What's next?
Want to be a QA? What's next?Want to be a QA? What's next?
Want to be a QA? What's next?DataArt
 
First story board pictures
First story board picturesFirst story board pictures
First story board picturesAbbey Cotterill
 
«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис НеклюдовDataArt
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - PolymerDataArt
 
8 Things Business Owners Wish They Knew
8 Things Business Owners Wish They Knew8 Things Business Owners Wish They Knew
8 Things Business Owners Wish They KnewUrbanBound
 
" Angular 2.0", Андрей Альперт, DataArt
 " Angular 2.0", Андрей Альперт, DataArt " Angular 2.0", Андрей Альперт, DataArt
" Angular 2.0", Андрей Альперт, DataArtDataArt
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccionJUAN CARLOS CALDERON
 
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...DataArt
 
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...DataArt
 
Ксения Кобрин "Сферы применения различных типов менеджмента"
Ксения Кобрин "Сферы применения различных типов менеджмента"Ксения Кобрин "Сферы применения различных типов менеджмента"
Ксения Кобрин "Сферы применения различных типов менеджмента"DataArt
 
Сергей Зиновьев и Игорь Ходырев - Ruby on Rails
Сергей Зиновьев и Игорь Ходырев - Ruby on RailsСергей Зиновьев и Игорь Ходырев - Ruby on Rails
Сергей Зиновьев и Игорь Ходырев - Ruby on RailsDataArt
 

Viewers also liked (20)

180 blue dining room training
180 blue dining room training180 blue dining room training
180 blue dining room training
 
Ольга Котий: Конструктивные коммуникации с заказчиком.
Ольга Котий: Конструктивные коммуникации с заказчиком.Ольга Котий: Конструктивные коммуникации с заказчиком.
Ольга Котий: Конструктивные коммуникации с заказчиком.
 
Que es el internet programacion web
Que es el internet programacion webQue es el internet programacion web
Que es el internet programacion web
 
git - the basics
git - the basicsgit - the basics
git - the basics
 
Артур Чеканов «Microframeworks» (Python Meetup)
Артур Чеканов  «Microframeworks» (Python Meetup)Артур Чеканов  «Microframeworks» (Python Meetup)
Артур Чеканов «Microframeworks» (Python Meetup)
 
Сергей Зиновьев — Разработка веб-приложений на Rails.
Сергей Зиновьев — Разработка веб-приложений на Rails.Сергей Зиновьев — Разработка веб-приложений на Rails.
Сергей Зиновьев — Разработка веб-приложений на Rails.
 
Want to be a QA? What's next?
Want to be a QA? What's next?Want to be a QA? What's next?
Want to be a QA? What's next?
 
First story board pictures
First story board picturesFirst story board pictures
First story board pictures
 
«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов«Android Marshmallow — будь готов». Денис Неклюдов
«Android Marshmallow — будь готов». Денис Неклюдов
 
Александр Кашеверов - Polymer
Александр Кашеверов - PolymerАлександр Кашеверов - Polymer
Александр Кашеверов - Polymer
 
8 Things Business Owners Wish They Knew
8 Things Business Owners Wish They Knew8 Things Business Owners Wish They Knew
8 Things Business Owners Wish They Knew
 
Social media 2.0 february edition
Social media 2.0 february editionSocial media 2.0 february edition
Social media 2.0 february edition
 
" Angular 2.0", Андрей Альперт, DataArt
 " Angular 2.0", Андрей Альперт, DataArt " Angular 2.0", Андрей Альперт, DataArt
" Angular 2.0", Андрей Альперт, DataArt
 
Estrategika nuevos productos proteccion
Estrategika nuevos productos proteccionEstrategika nuevos productos proteccion
Estrategika nuevos productos proteccion
 
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
«Документы, которые хочется прочитать: форматы и содержание, увлекающие коман...
 
Media: Ancillary photos
Media: Ancillary photosMedia: Ancillary photos
Media: Ancillary photos
 
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
«Чем занимается Google Life Sciences, и почему биотехнологии ожидает прорыв» ...
 
Ксения Кобрин "Сферы применения различных типов менеджмента"
Ксения Кобрин "Сферы применения различных типов менеджмента"Ксения Кобрин "Сферы применения различных типов менеджмента"
Ксения Кобрин "Сферы применения различных типов менеджмента"
 
Loe
LoeLoe
Loe
 
Сергей Зиновьев и Игорь Ходырев - Ruby on Rails
Сергей Зиновьев и Игорь Ходырев - Ruby on RailsСергей Зиновьев и Игорь Ходырев - Ruby on Rails
Сергей Зиновьев и Игорь Ходырев - Ruby on Rails
 

Similar to Роман Еникеев - PHP обязан умирать

Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Alexander Syrotenko
 
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...Arvids Godjuks
 
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере Resharper
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере ResharperCodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере Resharper
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере ResharperCodeFest
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Andrew Mayorov
 
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo Development
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Computer Science Club
 
Pconnect: граната в руках обезьяны
Pconnect: граната в руках обезьяныPconnect: граната в руках обезьяны
Pconnect: граната в руках обезьяныSergey Xek
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Ontico
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrusAlex Chistyakov
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...IT-Portfolio
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Ontico
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013Alex Chistyakov
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Serguei Gitinsky
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Ontico
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, BadooOntico
 
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)Ontico
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was coolAndrey Tokarchuk
 

Similar to Роман Еникеев - PHP обязан умирать (20)

Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?
 
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...PHP libevent Daemons. A high performance and reliable solution. Practical exp...
PHP libevent Daemons. A high performance and reliable solution. Practical exp...
 
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере Resharper
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере ResharperCodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере Resharper
CodeFest 2013. Скрыган К. — Оптимизация .Net приложений на примере Resharper
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.
 
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
 
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
Н. Иготти. Виртуализация и виртуальные машины. Лекция 02
 
Pconnect: граната в руках обезьяны
Pconnect: граната в руках обезьяныPconnect: граната в руках обезьяны
Pconnect: граната в руках обезьяны
 
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013
 
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов,...
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
Оптимизация производительности фронтенда / Игорь Алексеенко (HTML Academy)
 
Async Python
Async PythonAsync Python
Async Python
 
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
CodeFest 2014. Каплуновский Б. — Использование асинхронного I/O для снижения ...
 
Демонизированный PHP - before it was cool
Демонизированный PHP - before it was coolДемонизированный PHP - before it was cool
Демонизированный PHP - before it was cool
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR PartnersDataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в ITDataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from insideDataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtDataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's lifeDataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOpsDataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real lifeDataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
Selenoid
SelenoidSelenoid
SelenoidDataArt
 
Selenide
SelenideSelenide
SelenideDataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGDataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

Роман Еникеев - PHP обязан умирать

  • 1. PHP обязан умирать …или Откуда взялся слон
  • 4.
  • 6. Run code in the background??? • Обработка очередей заказов • Кеширование и «разогрев» кеша большого объёма данных • Проверка подписок/оплат • Запись большого объёма данных кусками для избежания деградации данных • Поддержка открытых соединений или WebSockets приложения • И т.д и т.п.
  • 7. Bring it to the foreground Идея: Пусть страдает каждый n-ный пользователь? Беда: Неравномерность нагрузки Идея: Запустить cron? Беда: Не всегда достаточно только времени для контроля; доступ к cron бывает ограничен
  • 8. Summon the daemons • Ratchet — WebSockets for PHP • Producer-Consumer implementation Всё же у нас PHP…
  • 10. Попробуем взлететь? • memory_limit? • circular references • unset() • ORMs Увы, но не в этом мире…
  • 11. Не только память Fatal error: Exception thrown without a stack frame in Unknown on line 0
  • 12. Серебряная пуля? React — неблокируемая библиотека. Основные задачи: • Работа с минимальным количеством расширений, дополнительные расширения для лучшей производительности • Независимый компонент событийного цикла, который может быть использован в сторонних библиотеках • Два вида абстракций: Stream (ReadableStream, WritableStream) & Promise
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Q&A?