클라이언트는 자바로 짰구 서버는 mysql이랑 php로.
클라이언트가 php function호출 -> php는 sql쿼리 전송 -> mysql -> php -> client
이런식인데
'만약, 여러 클라이언트에서, 동시라 말할 수 있는 시간에 php function을 호출하면 어떻게 되니?'
라고 해서.. 관련된 자료를 찾아보았는데. 영 힘드네.
첫번째 접근은 mysql단이었어.
근데 mysql단에서는 동시접속자수와 timeout을 제한하고만 있고, (my.cnf)
별 다른 꺼리가 안보이더라고..
php에서 무언가 처리를 해주어야 하는게 아닐까 싶은데 php를 잘 몰라서
입문서를 찾아보았는데 관련된 내용이 없더라구.
쉽지 않네. 글이 길지? ㅎㅎ 다들 맛난 저녁 먹어~
php는 웹단에서 구현이겠지 ? 그렇다면 Web -- 아마도 서버를 아파치로 쓰겠지 ? -- 아파치의 동접 처리수 또는 아파치에서의 php 모듈간의 동접 처리수 , php - mysql 사이의 동접 처리수 ( 풀 또는 유저 또는 프로세스 단위의 동접 ) 그리고 한 사이클 처리 시간이 되겠징
정리하면 아파치 자체의 동시 처리수 또는 apache - php간의 동시 처리수, php - mysql 간의 동시 처리수 ( 풀 방식 또는 프로세스 단위 동접 ) ... 뭐 타임 아웃이나 기타 등등 사항을 고려하지 않는다면 병목 발생할 수 있는 구간 중에 가장 작은 수를 처리하는 구간의 값이 결과값이겠징
뭘 요청하고 뭘 받는지 어떻게 처리하는지도 없는데 결과가 어떻게 될지 묻는건 뭐여
위에 얘기는 왜 나왔는지 잘 모르겠음
님처럼 자바로 따로 백엔드가 있지 않은, 이미 php 로 구현된 많은 웹 사이트들은 동시에 function call 하는 건 일상 다반사지
여기서 중요한건 단지 동시에 호출하는게 중요한게 아니라 synchronization 이 필요하다고 생각되는 처리가 있냐 없냐의 여부지
가령 루틴 중에서 어떤 같은 테이블의 비슷한 데이터를 insert 를 하고 바로 select 하고 delete 하는 게 있다고 가정하면 race condition 이 발생할 수 있는 조건이 되니까.