powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Comet - самый быстрый PHP фреймворк для REST API
15 сообщений из 15, страница 1 из 1
Comet - самый быстрый PHP фреймворк для REST API
    #39956498
По долгу службы пришлось запилить максимально простой и быстрый фреймворк для создания REST API :)

Выложил исходники с бенчмарками на GitHub:

https://github.com/gotzmann/comet

Пока тестируем в работе, но в целом это плюс-минус продакшен-реди решение.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956622
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Гоцуляк,

Асинхронных пхп - ну такое. Там исторически никогда не заботились, чтобы процесс/поток жил дольше одного запроса.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956628
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Асинхронных пхп - ну такое.

оно развивается и имеет право на жизнь
но если хочется прям быстро, то стоит посмотреть в сторону nodejs, go.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956630
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
оно развивается и имеет право на жизнь

Дегтярев Евгений
но если хочется прям быстро, то стоит посмотреть в сторону nodejs, go.

Дело не в быстро, а в том, что оно потечёт, потому что всегда считалось, что пхп после отработки запроса успешно дохнет.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956634
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас это не более чем страшилка, уже на последних версиях пятерки можно было запускать скрипты, которые работали сутками. Вероятность утечек плюс-минус такая же как если бы это был не пхп
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956641
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений,

Дело не в самом пхп, а во всём том обвесе, что тащится за ним. Авторы либ других языков знали про утечки и что-то делали и всё равно они текут, а тут всем было похрену.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956757
crutchmaster,

Здесь нет асинхронщины в чистом виде. Код PHP в рамках одного вызова работает предсказуемым образом. Ускорение достигается за счет однократной инициализации сервера на старте и грамотного распределения нагрузки по воркерам. В случае проблем типа утечки памяти или исключения - воркер будет прибит и рестартован автоматически.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956759
Дегтярев Евгений,

Go будет быстрее, если тюнить либами вне стандартной библиотеки типа fasthttp. Если взять полноценный фреймворк вроде Gin, скорее всего будет медленнее, чем решение на базе Comet. Ну а NodeJS заметно отстанет даже от решения на Go.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39956856
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Гоцуляк
Go будет быстрее, если тюнить либами вне стандартной библиотеки типа fasthttp

ты сильно льстишь php
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957089
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
ты сильно льстишь php

я сильно сомневаюсь что http сервер на php (а он в Workerman на пхп) быстрее, чем на компилируемом языке, такие же сомнения по поводу корректности реализации http сервера в Workerman, не увидел информации какие версии поддерживаются.
на страничке либы ноль подробностей про бенчмарк, т.ч. не понятно что стоит за этими 36k rps
в readme Workerman есть и бенч и параметры теста - 138k rps, причем это, не http а tcp, т.е. никакого парсинга протокола, только прием буфера и отправка статичного буфера.
при этом затычка на go с использованием стандартной net/http, которая возвращает hello world, выдает в тех же условиях 155k rps
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957136
Дегтярев Евгений
Сергей Гоцуляк
Go будет быстрее, если тюнить либами вне стандартной библиотеки типа fasthttp

ты сильно льстишь php


Ну вот я смотрю бенчмарки

https://www.techempower.com/benchmarks/#section=test&runid=9a267248-17b0-4080-ac45-a50d25b4fc2a&hw=ph&test=json&l=zijnjz-1r

и понимаю, что если из топа убрать фреймворки на базе fasthttp, то php займет половину топа. А если сравнить с полноценными go-фреймворками типа gin / chi, то быстрые php-шные проекты (workerman, swoole, php-ngx) обойдут их в два-три раза даже не напрягаясь :)
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957138
Дегтярев Евгений
Дегтярев Евгений
ты сильно льстишь php

я сильно сомневаюсь что http сервер на php (а он в Workerman на пхп) быстрее, чем на компилируемом языке


Ну я выше дал ссылку - зачем верить и сомневаться, если можно просто сравнить цифры?

На сегодня PHP позволяет писать сравнимые по производительсности с Go сервисы, и уж точно более быстрые чем на любом NodeJS / Python фреймворке.

Да, пока отставает от Java / Net Core, но это не какие-то сумасшедшие цифры, которые вполне могут измениться с выходом JIT-ованного PHP8. Я надеюсь на это, хотя и как есть устраивает вполне :)
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957142
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Гоцуляк
и понимаю, что если из топа убрать фреймворки на базе fasthttp, то php займет половину топа. А если сравнить с полноценными go-фреймворками типа gin / chi, то быстрые php-шные проекты (workerman, swoole, php-ngx) обойдут их в два-три раза даже не напрягаясь :)

Тест тепличный, нагрузки нет, io нет, мериться тупой отдачей hello world смысла мало.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957143
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Гоцуляк
Да, пока отставает от Java / Net Core, но это не какие-то сумасшедшие цифры, которые вполне могут измениться с выходом JIT-ованного PHP8

Если там нет даже jit, то пых не может обгонять ни го, ни ноду, ни пистон by design. Единственный шанс - вызов си кода, но это - читерство.
...
Рейтинг: 0 / 0
Comet - самый быстрый PHP фреймворк для REST API
    #39957248
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Гоцуляк
Ну вот я смотрю бенчмарки

https://www.techempower.com/benchmarks/#section=test&runid=9a267248-17b0-4080-ac45-a50d25b4fc2a&hw=ph&test=json&l=zijnjz-1r

и понимаю, что если из топа убрать фреймворки на базе fasthttp, то php займет половину топа. А если сравнить с полноценными go-фреймворками типа gin / chi, то быстрые php-шные проекты (workerman, swoole, php-ngx) обойдут их в два-три раза даже не напрягаясь :)


давай по порядку

- этот benchmark как и все типичная писькомерка, хоть и основательная, но писькомерка, и смотреть на результаты надо понимая, решения там различными хаками подгоняются под бенчмарк, вряд ли это это можно назвать поддерживаемым кодом
- далее, посмотрел по различным сценариям и не увидел чтобы пхп рвал топ
- еще, не будем мешать все в одну кучу, workerman и swoole по сути не фреймворки а http серверы и сравнивать их надо, соответственно, c http серверами (net/http, fasthttp) и конкурировать тут может только swoole т.к. имеет нативную реализацию
- и еще, на предложение убрать fasthttp предложу убрать и workerman и swoole, они тоже не в ходят в стандартную библиотеку, и будем тогда сравнивать net/http и php-fpm

Сергей Гоцуляк
Дегтярев Евгений
пропущено...
я сильно сомневаюсь что http сервер на php (а он в Workerman на пхп) быстрее, чем на компилируемом языке

Ну я выше дал ссылку - зачем верить и сомневаться, если можно просто сравнить цифры?

Я и сравнил. Там все так как я и предположил. Решение на workerman ни в одном из сценариев не выигрывают у лидера на go. Т.е. проигрыш уже в базовом компоненте. А любой рест сервис не сферический конь в безвоздушном пространстве. Там будет логика обработки, работа с базами, файловой системой, другими сервисами, и все это будет пхп код, который будет исполняться медленнее нативного. Не убедил.

авторGo будет быстрее, если тюнить либами вне стандартной библиотеки типа fasthttp. Если взять полноценный фреймворк вроде Gin, скорее всего будет медленнее, чем решение на базе Comet.
дальнейшую дискуссию предлагаю продолжить после того как предоставишь пример своего бенчмарка и параметры окружения, на котором ты получил 36к rps
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Comet - самый быстрый PHP фреймворк для REST API
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]