createConnection ?
пул, если мы говорим про базы данных, где на один коннект отдельный воркер
на несколько коннектов один воркер
глобально делаешь createPool, а в сервисах которые цепляются к базе делаешь await createConnection, await connection.query(...), await closeConnection
release лучше не использовать? лучше закрывать соединение?
А тебе надо явно доставать соединение? Если ты его явно из пула достал, то тебе нужно его туда вернуть через release
closeConnection и releaseConnection - одно и тоже по сути
А если ты отправляешь запросы примерно так pool.query, то оно само достанет из пула, сделает запрос, и вернёт в пул
у меня при высокой нагрузке просто происходит дикий ад . более 10 к оналйна сервак падает . autocannon при -c 100 -d 5 -p 10 просто отваливается
Нужно определить, что является узким местом для начала. Это коннекты к бд?
Ну если не закрывать коннект и не делать release то по сути все вроде хорошо медленно но работает
Если ты не будешь делать release (при условии что ты его явно достал перед этим), то в пул коннекты не вернутся
try(1: connect = await database.connection.getConnection(); 2: await connect.query('SELECT * FROM .... ) finally{ 3: connect.release() }
Ты транзакции используешь?
Обсуждают сегодня