Задать вопрос
un1t
@un1t

Actix-web, tokio postges. Как установить лимит соедениний?

Использую библиотеку deadpool-postgres для создания пула соединений.
Но почему-то изменение .max_size(10) на любое число не меняет количества соединений.
Почему-то открывается всегда 24 соединения.

Подумал что проблема в библиотеке, попробовал использовать bb8, но с ней почему-то такая же проблема, открывается 24 соединения с базой.

#[get("/")]
async fn index(pool: web::Data<Pool>) -> impl Responder {
    let client = pool.get().await.unwrap();

    let rows = client.query(
        "SELECT id, title, content FROM words LIMIT 100", &[]
    ).await.unwrap();


}


#[actix_web::main]
async fn main() -> std::io::Result<()> {
    ...

    let pg_config = Config::from_str(&database_url).unwrap();

    let mgr_config = ManagerConfig {
        recycling_method: RecyclingMethod::Fast
    };
    let mgr = Manager::from_config(pg_config, NoTls, mgr_config);
    let pool = Pool::builder(mgr).max_size(10).build().unwrap();

    HttpServer::new(move || {
        App::new()
            .app_data(web::Data::new(pool.clone()))
            .service(index)
    })
    .bind(("127.0.0.1", 8080))?
    .run()
    .await
}
  • Вопрос задан
  • 124 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 2
mayton2019
@mayton2019
Bigdata Engineer
Почему-то открывается всегда 24 соединения.

Возможно ты не с той стороны пула посмотрел. И вообще смысл этого
max_size надо почитать. О чем он? О сокетах или о процессах?
Ответ написан
un1t
@un1t Автор вопроса
Проблема оказалась в другом. Просто не тот бинарник запускал.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы