Stepan
в php?)
да, а что кто то верит в мифы про то что ПХП такой прямо медленный? )
Aleksand
проксирование запроса на fastcgi-сокет -> диспетчеризация на воркер (в худшем случае fork) -> (накладные расходы на байт-код которого нет к кэше) -> соединение с memcached -> получение данных (ты только это посчитал) -> обработка и сериализация -> запись в сокет. это все конечно меньше миллисекунды, ага
Aleksand
да, а что кто то верит в мифы про то что ПХП такой прямо медленный? )
медленный и с очень архаичной архитектурой, скорость и здравый смысл совсем не про эту технологию
Stepan
байкт код почти всегда в кеше, расходы на сокет мизерные, при правильной настройке никогда не надо форков воркеров достаточно, обрабатывать ничего не надо, зачем серилизировать?
Stepan
это все теории, на практике это все меньше 1мс занимает
Stepan
с нормальным железным серваком и настройками
Aleksand
байкт код почти всегда в кеше, расходы на сокет мизерные, при правильной настройке никогда не надо форков воркеров достаточно, обрабатывать ничего не надо, зачем серилизировать?
зачем тут вообще php тогда? у тебя немного с размерностью проблемы и со словом мизерный, это все будет под 10ms стоить в зависимости от ситуации, и это если ты не используешь ничего тяжелого а пишешь все сам
Aleksand
это все теории, на практике это все меньше 1мс занимает
если ты деплоишься на localhost то да, верим
Stepan
если ты деплоишься на localhost то да, верим
я про время генерации, сетевые задержки тут не при чем
Aleksand
статические сайты на то и статические чтобы их раздавал даже не nginx а varnish который заточен остро на него, он может конски просто держать нагрузку на блоге, а php пусть себе старчески там обновляет статику по нужде
Aleksand
я тут причем? шла речь про ситуацию с полностраничным кешем, я говорю что с ним оверхед ПХП мизерный.
обращение к php тут уже оверхед, причем не мизерный а конский если речь идет о хотя бы нескольких сотнях прибегающих читать статичный сайт
Stepan
можно и так. кстати варниш как раз дает большие оверхед, я тестил. самый быстрый нгиникс с его кешем(не помню название модуля). но варниш просто очень прост в настройке и многое на себя берет из коробки
Stepan
больший по отношению к кому?
к ПХП который тупо берет и отдает из мемкеша страницу. варниш это делал около 5мс пхп меньше 1мс
Stepan
правда тестил я года 3 назад, может допилили
Aleksand
к ПХП который тупо берет и отдает из мемкеша страницу. варниш это делал около 5мс пхп меньше 1мс
varnish медленнее php? ну да, а твой гироскутер быстрее спорткара тогда
Stepan
ну и да, при сильно большом количестве запросов у ПХП раньше кончится оперативка, я не спорю. но генерация одной страницы быстрее
Вячеслав
Php, как по мне, уже умирающая кобыла, которая живёт из-за своей популярности и низкого порога вхождения.
Stepan
90% мнений про скорость ПХП происходит из за криворуких прогеров которые на нем пишут всякие вордпрессы и мадженты.
Вячеслав
Может ли php обойти nodejs в скорости генерации страницы?
Stepan
зачем его обходить? он не создает такой большой оверхед как ты пытаешься представить. воркеры да, создают в том смысле что каждый хочет оперативки, а конкретно на время генерации это все на столько мизерное влияние оказывает что его даже во внимание принимать нет смысла
Stepan
Может ли php обойти nodejs в скорости генерации страницы?
может быть одинаково незначительное время генерации до определенного порога когда начнет кончатся оперативка и тогда нода будет быстрее
Stepan
у меня есть счетчик на пхп к которому до 3000 запросов в секнунду, это хайлоад или еще нет?
Stepan
Stepan
и 90% времени оно генерит картинку
Вячеслав
И всё-равно меня преследуют ощущения, что тот же meteorjs и быстрее и проще.
Stepan
я и не говорил что пхп лучше в чем то, речь шла конкретно об оверхеде при генерации и я показываю на пальцах что он не значителен, по крайней мере до момента как оперативка не кончится)
Stepan
сам использую разные технологии в разных ситуациях где мне кажется они лучше, в том числе и ноду очень часто
Aleksand
и 90% времени оно генерит картинку
не знаю зачем тут php, это все из какого-то прекрасного 2008
Stepan
где то с тех времен он и трудится ) сейчас для счетчика взял бы что то другое, скалу или ноду
Oleg 🍺
Лол
Andrew Kiselev
Подскажите, пожалуйста. Я использую node-pg и хочу сделать INSERT INTO массива данных. Кроме как использовать pg-promise есть ли еще декларативный способ построить запрос? Не считая knex и т.д. Хочется использовать меньшее количество дополнительных библиотек.
V
кнекс очень удобная, смысла "использовать меньше библиотек" не вижу здесь
Andrew Kiselev
Декларативно, наверное knex самое меньшее из зол
за последние два дня поисков тоже склоняюсь либо к knex, либо к pg-promise. Смущает в последнем активная работа надо проектом, хотя всегда поддерживаю опенсорс
Konstantin
Knex ещё и миграции умеет
Andrew Kiselev
Knex ещё и миграции умеет
это когда заполняешь данными базу?
Andrew Kiselev
кнекс очень удобная, смысла "использовать меньше библиотек" не вижу здесь
боюсь что не будут развиваться навыки синтаксиса SQL, а когда понадобится подправить что-нибудь, будет фрустрация
Konstantin
это когда заполняешь данными базу?
Это когда определяет или изменяет структуру базы
Konstantin
При это можно делать откаты изменений
Andrew Kiselev
инструкция ALTER получается?
Konstantin
Konstantin
Там в миграции 2 метода, up & down
Andrew Kiselev
аа, а подскажи, как выстраивать права доступа на уровне строк через knex?
Konstantin
Гранты?
Andrew Kiselev
да
Konstantin
Ну прямым запросом в миграции
Konstantin
Там цепочка промисов
Konstantin
Создал таблицу, через knex.raw дал гранты
V
к тому же кнекс повторяет запрос полностью
Andrew Kiselev
по сути получается, что когда ты выполняешь js на каждом инстансе происходят постоянные запросы миграции в базу?
Konstantin
Миграция запускается руками или через ci
Konstantin
Через консоль
Andrew Kiselev
аа. сейчас перефразирую. Если использовать node-pg, то достататочно один раз прописать в базу CREATE TABLE IF NOT EXISTS project.user ( id uuid primary key references smm_private.user_account(user_id) on delete cascade, first_name text not null, created_at timestamp default now(), updated_at timestamp default now() ); А когда используется knex, это команда постоянно выполняется?
Konstantin
Посмотри доку
Konstantin
migrate
Andrew Kiselev
хорошо. Спасибо. И последний вопрос :)
Konstantin
При деплое
Andrew Kiselev
http://knexjs.org/#Installation-migrations ?
Konstantin
Там раздел про cli
Konstantin
С телефона ссылку не дам
Andrew Kiselev
нашел. Благодарю!
Andrew Kiselev
т.е. grant и row level security через миграцию?
Andrew Kiselev
хорошо, пойду допишу сервер на knex, выглядит как многообещающе :)
Misha
Посоветуйте как залить изображение на метеоре, сколько не ищу, одна вода
Willy
кхм, вода?
Leonyd
@fredFredric https://github.com/VeliovGroup/Meteor-Files