
Sergey
02.01.2017
21:03:20
....

Sergey
02.01.2017
21:03:37
и то! это чтение xml, парсинг его и сборка новой xml для запроса на api

Sergey
02.01.2017
21:03:58
ну это и в php не много времени занимает вроде как
хотя хер его знает

Google

Sergey
02.01.2017
21:04:16
еще вот до меня дошло что кеширование на VM за счет неумирающих запросов то другое
и вместо редиса это все можно прям на VM держать, как cool kids это делают

Sergey
02.01.2017
21:04:48
мне как бы разницы не много.... 100ms пинг до сервака, 20ms обработка запроса... то есть для клиента не много разницы, 200ms его ответ будет приходить на клиент или 220)

Sergey
02.01.2017
21:05:08
для дрочеров на микросервисы разница большая

Sergey
02.01.2017
21:05:13
(100ms в мобильных сетях)

Sergey
02.01.2017
21:05:19
каждый бут симфони по 10-20мс, на 20 сервисах
выливается больно

Sergey
02.01.2017
21:05:42
у них там микросервисы на ларавели
бутстраппинг ~100 ms
про штуки вроде php-pm не слышали

Sergey
02.01.2017
21:06:43
это мой любимый вопрос к людям которые делают доклады о очередной кул-архитектуре для пхп "микросервисах" - "как вы боритесь с бутстрапингом и издержками на него?"
отвечают либо - микросервисы на джаве, либо "нам пох"

Google

Sergey
02.01.2017
21:07:01
?

Sergey
02.01.2017
21:07:11
хз, я как-то пробовал свой проектик погонять под php-pm

Fayozjon [CybernatiC]
02.01.2017
21:07:15
Второе чаще всего

Sergey
02.01.2017
21:07:26
пришлось слегка поипаться что бы его завести но зато быстро работает довольно
и в целом для простых запросов (тупо на чтение) вообще ништяк
если бы еще был официальный образ под докер для php-cgi

Sergey
02.01.2017
21:08:23
ну в общем такое. я до сих пор удивляюсь когда говорят что на пхп микросервисы херачат

Sergey
02.01.2017
21:08:41
запилить адаптер для того что бы тупо поднимался http сервер на php так легко не выйдет

Sergey
02.01.2017
21:09:14
ну... а как же блокирующий мускуль и прочие вещи?
ты ж от этих особенностей не уйдешь

Sergey
02.01.2017
21:09:38

Sergey
02.01.2017
21:09:51
даже если у тебя php-pm будет держать в пуле 20 демонов
при этом каждый демон ты ж не забывай это около 100мб памяти на средненьком проекте

Sergey
02.01.2017
21:10:12
не ну конечно штуки вроде jvm/node будут побыстрее
> при этом каждый демон ты ж не забывай это около 100мб памяти на средненьком проекте
эээм... видать у меня маленькие проекты... жрут по метров 20
на php 5.6 жрали под сотню да
а сейчас не больше 30 метров

Sergey
02.01.2017
21:11:41
у меня в idle состоянии демоны по 140мб щас жрут

Sergey
02.01.2017
21:11:51
джава или пых?

Sergey
02.01.2017
21:11:52
дохуя большой контейнер выходит видимо

Google

Sergey
02.01.2017
21:11:54
пых

Sergey
02.01.2017
21:11:59
ааа... контейнер
ну может быть

Sergey
02.01.2017
21:13:24
многопоточности в пхп наверное никогда не будет, а вот корутины довести до повсемесного использования можно было б
ли б не блокирующие операции которые в наследство достались
может когда-то и переделают..

Sergey
02.01.2017
21:13:48
не понял
многопоточность - есть - pthreads, но она толком не нужна

Sergey
02.01.2017
21:14:22

Sergey
02.01.2017
21:14:24
да, это не совсем "та" многопоточность что в java, ибо потоки полностью изолированы друг от друга
но как по мне это больше плюс
то есть как и в случае с процессами, с pthreads лучше минимизировать общение и синхронизацию потоков

Sergey
02.01.2017
21:15:05
нафиг нужны потоки если они ведут себя как дочерние процессы?

Sergey
02.01.2017
21:15:28

Dmitriy
02.01.2017
21:16:15

Sergey
02.01.2017
21:16:16
по сути для своей цели норм. Берешь задачу, разбиваешь на куски, запускаешь треды и каждому даешь свой кусок... они что-то делают и выплевывают результат
по хорошему им и не нужно общаться между собой
если у тебя там задачи такие что барьеры в памяти надо делать или чего-нибудь интереснее - возможно стоило брать не php
а rust какой-нибудь или go
если математика - то получим еще векторизацию вычислений

Google

Sergey
02.01.2017
21:17:37
ну короч я хз... треды редко нужны...
тут весь вопрос в переключении контекста
если у тебя количество воркеров больше количества ядер то потоки выгоднее

Dmitriy
02.01.2017
21:18:22

Sergey
02.01.2017
21:18:22
единственное что могу придумать
а корутины в php норм
с 7-ой версии
просто нет ивент лупа из коробки... но всегда можно сделать pecl install event

Sergey
02.01.2017
21:19:16
это больше стрельба себе по ногам. и если можешь писать на другом языке где с этим все ок - то лучше это делать на нем

Admin
ERROR: S client not available

Sergey
02.01.2017
21:20:06
дебаг... тип присоединиться к запущенному процессу?

Sergey
02.01.2017
21:20:22
чтобы выяснить откуда вытекла память за 3 месяца его работы

Sergey
02.01.2017
21:20:41
ну я понял о чем ты...
ну быть может

Sergey
02.01.2017
21:21:53
да и о чем говорить, пхп иногда нужно напоминать о том что пора делать сборку мусора

Sergey
02.01.2017
21:22:05

Sergey
02.01.2017
21:22:08
не знаю как с этим на 7.х ветке, надо проверить. но 5.6 грешил

Google

Dmitriy
02.01.2017
21:22:18

Sergey
02.01.2017
21:22:33
у меня вот демон висит без перезагрузки уже 7й месяц

Sergey
02.01.2017
21:22:49
у меня были демоны которые жили ну может по неделе (потому что деплоили новые)
и норм было

Sergey
02.01.2017
21:23:09
и то перезагружали потому что перемещали на другой сервер

Sergey
02.01.2017
21:23:16
были траблы с doctrine odm
разве что
с тамошним uow
сейчас наверное уже норм должно быть
хз.... через неделю буду деплоить продакшен проекта... там демоны будут висеть и раз в 10 секунд что-то делать
могу потом поделиться

Sergey
02.01.2017
21:24:29
вроде с доктриной GC парился. после очистки доктрины видимо где-то терялись островки с референсами. надо у коллеги уточнить, он с этим воевал и знает детали
всякие background tasks

Sergey
02.01.2017
21:25:09

Sergey
02.01.2017
21:25:19
так давай)

Sergey
02.01.2017
21:25:40
ну проблема в том, что weakmap для php есть только в виде экстеншена)

Sergey
02.01.2017
21:25:51
а ты как на редисе сделай
есть экстеншен - юзай его, нет - стримы

Sergey
02.01.2017
21:26:05
ээээм
ты не сможешь "эмулировать" викмэп... хотя хз... не уверен
надо подумать