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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNjQ1MTAsIm5iZiI6MTczOTI2NDIxMCwicGF0aCI6Ii8xMzg1NDc0NDkvMjUxNjk5MDg3LThiYmYyYjMwLWM3NGItNDc0Ny04NjY3LTgwMzFlZWZiNDI2Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwODU2NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jOTRmYzUyMmU4ODZhMjgyZjY2NjJkYTg5Nzg0OGUyNTUzZWJlYzM0NjlkODE1NTQyZDgxZWI1NjgwZmVkNzNjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.gxdeH4gN4T6hl_PYoP5A1SLvS2iFx8u1G-jsO9QMnhg)
![스크린샷 2023-07-07 17 40 43](https://private-user-images.githubusercontent.com/138547449/251699118-399d4de4-fb9b-48a6-b177-5e46ce371ddb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkyNjQ1MTAsIm5iZiI6MTczOTI2NDIxMCwicGF0aCI6Ii8xMzg1NDc0NDkvMjUxNjk5MTE4LTM5OWQ0ZGU0LWZiOWItNDhhNi1iMTc3LTVlNDZjZTM3MWRkYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjExJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMVQwODU2NTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZjY2OTk1NDliNzJiYjVhN2I2YjMxZGI3YWM3YmNlMzAyZTkzZWFhYjUwOWIyNDk2OGRkZTU1MmJmYWMxMjFkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.En59AmqivX4bL_RvLBF5furkqQWcMcZN0CScqzIFldk)
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