Низкая производительность первого запроса случайного запроса с TypeORM и Postgres - PullRequest
0 голосов
/ 20 января 2020

У меня проблема с typeorm и postgress. У меня мало несложных запросов. Всякий раз, когда я инициирую запросы, для некоторых запросов первый запрос выполняется быстро, а для некоторых первый запрос выполняется медленно.

Я не закрываю соединение. Соединение открывается при запуске приложения по следующим рекомендациям:

const connection = await createConnection({
    type: "postgres",
    host: "...amazonaws.com",
    port: 5432,
    username: "test",
    password: "test",
    database: "test"
});

Журнал результатов:

-----
{"level":"info","durationMs":2,"message":"QueryBuild"}
{"level":"info","durationMs":**11230**,"message":"**FirstCall**"}
{"level":"info","durationMs":**73**,"message":"**SecondCall**"}
{"level":"info","durationMs":**75**,"message":"**FirstCallType**"}
{"level":"info","durationMs":**73**,"message":"**SecondCallType**"}
-----
{"level":"info","durationMs":0,"message":"QueryBuild"}
{"level":"info","durationMs":**11205**,"message":"**FirstCall**"}
{"level":"info","durationMs":**72**,"message":"**SecondCall**"}
{"level":"info","durationMs":**73**,"message":"**FirstCallType**"}
{"level":"info","durationMs":**71**,"message":"**SecondCallType**"}

Похоже, что в какое-то время соединение закрывается, даже если свойство isConncted функции getConnection () имеет значение true. Как я могу улучшить производительность?

мой код прост:

createConnection({
    ...dbConfig,
    logging: true,
})
    .then(_ => {
        app.use(jsonBodyParser.json());
        app.get('/test', async (req, res) => {
            const result = await getConnection().query('SELECT "user"."id" AS "id" FROM "user" ');
            res.status(200).send(result);
        });
        app.listen(port, () => console.log(`listening on port: ${port}`));
    });
...