ab -p saveHtmlPayload.json -T 'application/json;
charset=utf-8' -C 'access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZHgiOjg2Nywic2Nob29sX2lkeCI6bnVsbCwiZW1haWwiOiJ6emFuZzUzNUBnbWFpbC5jb20iLCJuYW1lIjoi7Zmp7JykIiwicm9sZSI6MSwidHlwZSI6MywiaWF0IjoxNjk0NDE4MjU0LCJleHAiOjE2OTQ0NDcwNTR9.JAAlTOaYrFL2qGiVq4MYPxg5lj0D3NB45pMrpl3sCX4' -c 50 -n 1000 https://kurumi.mvpick.net/api/project/saveHtml
https://kurumi.mvpick.net/api/project/saveHtml api 는 서비스 (꾸럼이) 내의 특정 id 값의 방의 내용을 저장하는 api 입니다.
프로젝트 저장하는 api 엔드포인트에서는 update 구문 하나밖에 없으므로 deadlock 은 발생하기 어려운 상황입니다.
락은 테이블 전체에 걸리는 게 아니라 테이블 내에 작업중인 레코드에만 걸리게 됩니다.
동시에 50개의 api 요청이 들어오는 경우,
mysql 에서 쿼리 (트랜잭션)을 병렬로 실행시킬 수 있지만,
update 타켓 (특정 id 값의 방) 이 동일하므로
update 중인 레코드에 lock 을 걸어서 순차적으로 처리하도록 동작합니다.

