Size: a a a

pro.rb (Ruby/Rails / RU)

2021 March 25

ПА

Попов Алексей... in pro.rb (Ruby/Rails / RU)
версия не меняется
источник

ПА

Попов Алексей... in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
Ща все в докерах
да я сделал для докера, только вот сервак старый туда капистрано деплоят
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Попов Алексей
gem install capistrano -v 3.11.0
Зачем ты ставишь гем глобально?
источник

ПА

Попов Алексей... in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
Зачем ты ставишь гем глобально?
как надо делать?
источник

ПА

Попов Алексей... in pro.rb (Ruby/Rails / RU)
я не силен в Ruby on Rails
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Попов Алексей
как надо делать?
bundle exec capistrano мб?
источник

ПА

Попов Алексей... in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
bundle exec capistrano мб?
да, спасибо bundle exec cap prodyction deploy
источник

BS

Baisak Sagynov in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
Руби сейчас синхронный, поэтому одно соединение на поток.
У вебсервера puma сразу стартуется N потоков (зависит от твоей конфигурации). В этих потоках он обрабатывает запросы от клиентов, значит логично выставить pool такого же размера что и N потоков пумы.
У очереди задач (например sidekiq) свое количество одновременно работающих воркеров, и pool там должен быть того же размера что и количество воркеров.
ок, спасибо что ответили, удачи вам!
источник

OS

Oximmiron Stall in pro.rb (Ruby/Rails / RU)
when i send photo
источник

EM

Eugene Maslenkov in pro.rb (Ruby/Rails / RU)
Baisak Sagynov
всем привет, кто знает релсы в звязке с постгрес там в настройках database.yml есть параметр pool а также в постгрес есть боунсер, как работает pool в рельсах? он открывает 5 коннектов с постгрес и постоянно держит их открытыми и на стороне приложения сам контролирует запросы и транзакции? и как правильно настроить для большей производительности рельсы с постгрес, кто что знает подскажите что нибудь, я только начал работать с этими технологиями.
учитывая то, что pg gem использует под капотом GVL(ruby умеет запускать C-шный код и IO асинхронно и pg это использует) (https://github.com/ged/ruby-pg/blob/master/ext/pg_connection.c) - "синхронность" ruby тут не важна. Но тебе все правильно про количество потоков. Можно сделать с запасом. Может "показаться", что нужно расчитывать по кол-ву worker-ов puma. На сколько я знаю - нет. Потому что каждый worker будет открывать свой pool коннекшенов. Как минимум это точно так для https://github.com/grosser/parallel#activerecord
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Eugene Maslenkov
учитывая то, что pg gem использует под капотом GVL(ruby умеет запускать C-шный код и IO асинхронно и pg это использует) (https://github.com/ged/ruby-pg/blob/master/ext/pg_connection.c) - "синхронность" ruby тут не важна. Но тебе все правильно про количество потоков. Можно сделать с запасом. Может "показаться", что нужно расчитывать по кол-ву worker-ов puma. На сколько я знаю - нет. Потому что каждый worker будет открывать свой pool коннекшенов. Как минимум это точно так для https://github.com/grosser/parallel#activerecord
А смысл тогда в этом пуле если можно 1-2 соединения держать?
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
Я вот тоже думал что каждый инстанс пумы это отдельные рельсы, но тогда не очень понимаю смысл в этом пуле
источник

EM

Eugene Maslenkov in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
А смысл тогда в этом пуле если можно 1-2 соединения держать?
На случай если pg вернет управление другому ruby thread-у и тот пойдут в БД пока не завершится первый query.
источник

BS

Baisak Sagynov in pro.rb (Ruby/Rails / RU)
Eugene Maslenkov
учитывая то, что pg gem использует под капотом GVL(ruby умеет запускать C-шный код и IO асинхронно и pg это использует) (https://github.com/ged/ruby-pg/blob/master/ext/pg_connection.c) - "синхронность" ruby тут не важна. Но тебе все правильно про количество потоков. Можно сделать с запасом. Может "показаться", что нужно расчитывать по кол-ву worker-ов puma. На сколько я знаю - нет. Потому что каждый worker будет открывать свой pool коннекшенов. Как минимум это точно так для https://github.com/grosser/parallel#activerecord
спасибо!
источник

Р

Руслан in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
А смысл тогда в этом пуле если можно 1-2 соединения держать?
Пул - это некое пространство. Представь потоки. Если запустишь 300 потоков по 10 мб каждый, то это 3 гига прямиком в оперативу! А пул из 10 позволяет те же 300 потоков обработать по "очереди" (тут поправка - зависит от реализации), и съест 100 мб (10 одновременно запущенных потоков).

Это условно, чисто для понимания. Может отличаться от реального опыта.
источник

u

unkmas in pro.rb (Ruby/Rails / RU)
Alex Ilizarov
А смысл тогда в этом пуле если можно 1-2 соединения держать?
1-2 тебе может не хватить просто. А на каждый поток свой держать - дорого и базе тяжело
источник

EM

Eugene Maslenkov in pro.rb (Ruby/Rails / RU)
а вообще о каком колличестве тредов (хотя бы примерном) идет речь?
источник

BS

Baisak Sagynov in pro.rb (Ruby/Rails / RU)
Хочу стать программистом руби и начать зарабатывать, посоветуйте короткий путь пожалуйста
источник

Р

Руслан in pro.rb (Ruby/Rails / RU)
Baisak Sagynov
Хочу стать программистом руби и начать зарабатывать, посоветуйте короткий путь пожалуйста
Изучаешь тренинги, читаешь книги, делаешь "портфолио" (домашний проект), потом идешь стажером. Если "проявляешь" себя, то становишься джуном. Продолжаешь фигачить и изучать по вечерам и выходным. И так до тех пор, пока не получишь желаемое
источник

AI

Alex Ilizarov in pro.rb (Ruby/Rails / RU)
unkmas
1-2 тебе может не хватить просто. А на каждый поток свой держать - дорого и базе тяжело
А на что не хватит если руби однопоточный? Опять эти коннекты через C?
источник