В настоящее время я сталкиваюсь с проблемой производительности, когда игровое пятно попало в базу данных Postgresql на AWS RDS.Приложение работало довольно хорошо 2 дня назад, но теперь некоторые запросы замораживают приложение.
Запрос на соединение с результатом только 8 строк может занять до 2300 мс, а один запрос с 30 строками - более 4000 мс..
Вот запрос, выполненный в качестве примера:
protected def jobOfferQuery = for {
(((mission, client), process), clientCompany) <- jobOffers
.joinLeft(users).on(_.clientId === _.userId)
.joinLeft(processes).on(_._1.offerId === _.jobOfferId)
.joinLeft(companies)
} yield (mission, client, process, clientCompany)
Вот моя гладкая конфигурация для моего игрового приложения:
database {
dataSourceClass = org.postgresql.ds.PGSimpleDataSource
properties = {
serverName = ${app.postgres.host}
portNumber = ${app.postgres.port}
databaseName = ${app.postgres.db}
user = ${app.postgres.user}
password = ${app.postgres.password}
}
poolName = ${app.postgres.poolName}
numThreads=5
driver="slick.driver.PostgresDriver$"
}
Как это может быть так медленно?Должен ли я добавить больше конфигурации hikarycp?
Большое спасибо за помощь, высоко ценится.