for reproduction of this problem prisma/prisma#16912 (comment)
executed the upsert operation in parallel
script(index.ts)
async function main() {
const prisma = new PrismaClient();
await prisma.$connect();
await prisma.user.deleteMany();
const promises: Promise<void>[] = []
for (let i = 1; i <= 100; i++){
promises.push(runThread(prisma, i))
}
await Promise.all(promises);
await prisma.$disconnect();
}
async function runThread(prisma: PrismaClient, index: number) {
while (true) {
const data = { id : randomInt(250000) };
await prisma.user.upsert({
where: { id: data.id },
create: data,
update: data,
});
}
}
Please check the memory usage of the RSS below.
![스크린샷 2023-07-07 17 40 33](https://private-user-images.githubusercontent.com/138547449/251699087-8bbf2b30-c74b-4747-8667-8031eefb4267.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MTYzODIsIm5iZiI6MTczODgxNjA4MiwicGF0aCI6Ii8xMzg1NDc0NDkvMjUxNjk5MDg3LThiYmYyYjMwLWM3NGItNDc0Ny04NjY3LTgwMzFlZWZiNDI2Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwNDI4MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lMTZiNTQxMjEwNTc0YzNlYWQxOGI5OGI3MmFmNGNlMTIzMTQ4YTMwYTFlYTkzYjJkMjQ0YjRjODJkOTEzYjk1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.28eVQ0K3ovT1i-3nbCBGIM2qNE3df0bibGRpULin1g4)
![스크린샷 2023-07-07 17 40 43](https://private-user-images.githubusercontent.com/138547449/251699118-399d4de4-fb9b-48a6-b177-5e46ce371ddb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MTYzODIsIm5iZiI6MTczODgxNjA4MiwicGF0aCI6Ii8xMzg1NDc0NDkvMjUxNjk5MTE4LTM5OWQ0ZGU0LWZiOWItNDhhNi1iMTc3LTVlNDZjZTM3MWRkYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwNDI4MDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNTViZTUwMGZjNmUyZDRkYjhjOTBiN2I3YWJjYWI5ZmU0ZjRlMWU3M2UyZDhhMDFkYjBlMDc2MjdjZmRjOTEyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.CDhliSSRPqJicFwEIVNS2eupZTLp-xU6uJzHgppfv8s)
https://github.com/cashwalk/prisma-issue16912-reproduction.git
npm install
DATABASE_URL="postgresql://<user>:<password>@localhost:5432/<DB>?schema=public"
clinic doctor -- node index
npm run main
.clinic/4.8.1.html
.clinic/4.9.0.html