
Kirill
17.08.2016
12:39:44
Затем, что я так сайты ускорил в два раза(!!!) и сэкономил ресурсов море

Phil
17.08.2016
12:40:44
Прости нас @MartaShe :)) Но терпеть нет сил, хочется про Linux :)

Pavel
17.08.2016
12:43:18
Я думаю ей щас тоже не скучно

Google

Kirill
17.08.2016
12:43:32
А все просто. Апач хэндлит подключения неэффективно, каждый то ли в своем треде, то ли в своем процессе. fpm хэндлит их пулом процессов.
Плюс nginx со своим, по-моему, эвент-лупом

Phil
17.08.2016
12:44:22

Мария
17.08.2016
12:44:29
?

Phil
17.08.2016
12:44:54

Pavel
17.08.2016
12:44:55

Мария
17.08.2016
12:45:18

Pavel
17.08.2016
12:45:18

Phil
17.08.2016
12:46:12

Kirill
17.08.2016
12:46:22

Phil
17.08.2016
12:46:50

Pavel
17.08.2016
12:47:36
У php-fpm тоже есть типо префорки - там можно установить количество воркеров которые всегда крутятся в фоне и ловят запросы

Google

Pavel
17.08.2016
12:47:43
Можно их хоть сотню поставить

Phil
17.08.2016
12:47:55

Kirill
17.08.2016
12:47:59

Pavel
17.08.2016
12:48:03
И они еще все работают асинхронно (вроде бы)

Phil
17.08.2016
12:48:15

Pavel
17.08.2016
12:48:49
Каждый воркер асинхронно принимает запросы и обрабатывает их

Phil
17.08.2016
12:49:53
ммм... ну апач тоже не ждёт. Он принимает запросы и обрабатывает их. Каждый воркер независимо от других

Kirill
17.08.2016
12:51:06
ты платишь за каждый процесс в апаче даже с префорком, это очевидно. а платить будешь, если не просто ресурсами, то сорванными запросами при нагрузке.

Phil
17.08.2016
12:52:00
И ты платишь за каждый процесс в пуле php-fpm. Нет разницы

Kirill
17.08.2016
12:52:02
плюс сам по себе хендлинг запросов nginx быстрее и легковеснее apache

Phil
17.08.2016
12:52:31
Разница-то где?

Kirill
17.08.2016
12:53:16

Phil
17.08.2016
12:54:12

Kirill
17.08.2016
12:54:47
схема с апачем добавляет еще одну точку до обработчика php

Phil
17.08.2016
12:55:01
где?
Ну-ка, расскажи об этом

Pavel
17.08.2016
12:56:59
1) -> nginx -> apache
2) -> nginx -> php-fpm

Kirill
17.08.2016
12:57:00
ладно. смотри.
nginx -> apache (t/p fork -> mod_php)
nginx -> php-fpm (php)

Google

Phil
17.08.2016
12:57:27
php-fpm-то тоже fcgi runtime -> php interpretator

Kirill
17.08.2016
12:58:16
форк треда или процесса, либо его выделение из пула — подставь, что нужно

Phil
17.08.2016
13:01:47
нет в обоих случаях никакого выделения и форка. у тебя префорки биндятся на сокет и забирают пришедшее соединение. у обоих. оба умеют динамические пулы - мастер-процесс отсекает, тчо все обработчики заняты и создает ещё, опять же вешая его слушать сокет

Pavel
17.08.2016
13:04:14
https://habrahabr.ru/post/267721/ вот тут кое что объяснено

Phil
17.08.2016
13:05:26
Что там объяснено? там нет ничего про php-fpm

Pavel
17.08.2016
13:07:23
Написано что префорк не порождает треды динамически и плохо масштабируется
И жрет кучу оперативки
Но в любом случае, поток/тред все равно медленнее чем асинхронная корутина
И жрет больше ресурсов

Roman
17.08.2016
13:10:11

Kirill
17.08.2016
13:11:04

Pavel
17.08.2016
13:11:19
в пхп то есть корутины, но мы щас про корутины nginx

Kirill
17.08.2016
13:11:22

Phil
17.08.2016
13:13:08
но и не быстрее. у них очень косметические отличия на идентичных паттернах

Kirill
17.08.2016
13:16:38
у меня он почему-то быстрее. не знаю, что вы с ним делаете, чтобы он стал медленнее.

Roman
17.08.2016
13:20:54

Google

Roman
17.08.2016
13:21:31

Phil
17.08.2016
13:21:59

Kirill
17.08.2016
13:22:34

Pavel
17.08.2016
13:22:57

Roman
17.08.2016
13:32:27
ну-ка покажи О_о
Что показывать? Вот болтается у тебя php-fpm на tcp сокете, а у Апача пхп уже в памяти. Никаких лишних connect/accept/send/recv

Pavel
17.08.2016
13:38:13
как-будто send/recv дофига времени отнимают

Admin
ERROR: S client not available

Pavel
17.08.2016
13:38:46
Хотя если повесить fpm на юникс сокет а не на tcp то будет побыстрее процентов на 20

Roman
17.08.2016
13:44:00

Kirill
17.08.2016
13:44:29

Vladimir
17.08.2016
13:44:43

Pavel
17.08.2016
13:44:44

Kirill
17.08.2016
13:44:47
Нет
если сокет будет в tmpfs — точно да

Vladimir
17.08.2016
13:44:48
или разный набор виртуалок

Roman
17.08.2016
13:50:01

Alex Milushev
17.08.2016
13:54:01
Нет
возможно будет немного быстрее
http://stackoverflow.com/questions/257433/postgresql-unix-domain-sockets-vs-tcp-sockets/257479#257479

Phil
17.08.2016
15:17:27
Попросили попиарить группу @coreos_ru . Согласен с приведенными аргументами. Там собственно про CoreOS

Алексей
17.08.2016
15:17:52
так там же традиция...

Google

Alex Milushev
17.08.2016
15:19:23
там тоже анальная модерация от измайлова?

Pavel
17.08.2016
15:19:24
По моему эта группа под контролем Овчинникова
Там только частично, а писать досье не обязательно

Алексей
17.08.2016
15:21:02
да не. фаундер опять денис

Phil
17.08.2016
15:23:01
Извините за офтоп, но мне телега не даёт публичный чатик создать. Говорит "слишком много публичных каналов". Простите 4. Хочу чатик про секс :( Нигде не могу почитать про ограничения

Vladimir
17.08.2016
15:25:03

ptchol
17.08.2016
15:25:09
А разве loopback не через обычные unix socket реализованы ?

Vladimir
17.08.2016
15:25:36

ptchol
17.08.2016
15:25:57
вот гавно )

Vladimir
17.08.2016
15:27:05
в этом же и фишка )
ты ловишь на лупбэке все косяки стэка, если есть )

Алексей
17.08.2016
15:33:17
Слишком старая

Phil
17.08.2016
15:33:39
Пусть будет

Алексей
17.08.2016
15:33:41
Они уже дважды всё переписали

Alex Milushev
17.08.2016
15:33:45
охебать, по этому говну уже кукбук выпустили

Phil
17.08.2016
15:34:10
Поправил теги

ptchol
17.08.2016
15:34:38

Alex Milushev
17.08.2016
15:36:11
а вот gitlab не люблю, Я его держал на сотнях репо еще со второй вроде версии, и имел радость общаться с разрабами