ajax 대량 등록시
본문
ajax로 데이터 전송해서
디비 처리부분에서
대략 10만건 정도를 for문 돌면서 insert 쿼리문을 실행하면
504 gateway timeout 에러가 발생하는데요
검색하면 연결시간? 때문이라는거 같아서
ini_set('max_execution_time', '0');
이렇게도 해보고 php.ini 에서도 초를 늘려보고 했는데
계속 gwateway timeout 이 발생하는데 이오류 안나게 가능한 팁같은게 있을가요?
오류는 발생했어도 db에는 10만건이 등록이 계속 되드라고요....
몇번째 지우고 테스트중인데 해결이 안되네용 조언좀 부탁드립니다
감사합니다~
답변 3
php 쪽 timeout 설정 뿐만이 아닌
nginx 또는 apache 의 timeout 도 늘려줘야 하지만
기본적으로 클라이언트 브라우저에서도 timeout 이 있고,
이를 이용하는 최종 유저에게 브라우저 설정을 수정하라고 전달 할수는 없는 노릇입니다.
그렇기 때문에 대용량 작업에서 실시간 처리량을 확인하려면 방법 자체를 바꿔야 합니다.
유저마다 구분할수 있는 세션키 문자열 기반으로
언제든지 접근해 상태를 확인할수 있는 중간 매개체를 만드는 방법이 있습니다.
그 중간 매개체는 db / memory 또는 file 일수도 있고 구성하기 나름입니다.
ajax로 데이터 전송할 때 한꺼번에 모두 전송할 것이 아니라
데이터를 나누어서 ajax를 여러번 실행 되도록 하면 됩니다
파일 업로드(ajax) 후에
Load data query를 이용해 보세요
답변을 작성하시기 전에 로그인 해주세요.