php 사이트에서 처리시간이 너무 오래 걸리는데요....
글쓴이: 지수아비 / 작성시간: 수, 2009/03/04 - 10:25오전
php, mysql 을 이용하여 사이트를 운영하고 있는데요....
텍스트 파일을 업로드 하여 가공후 DB에 저장하는데 시간이 너무 오래 걸립니다.
1~2시간 정도 걸리구요..
열어놓은 페이지는 시간이 초과하여 페이지를 표시할수 없다고 표시되는데,
DB를 조회해서 데이터가 늘어나고 있는걸 보면 처리는 되고 있구요,
1~2시간 정도 지나면 처리가 완료되고 있습니다.
텍스트 파일의 자료 수는 3만여개 정도가 되구요.
해당 테이블의 자료수는 100만개정도됩니다.
매월 4회정도 3만개정도를 계속 올리다보니 자료수가 계속 늘어나네요.
테이블의 해당 필드는 모두 인덱싱 처리를 했습니다.
혹시 php.ini의 memory_limit 값에 영향을 받기도 하나요?
현재 memory_limit값이 8M로 되어 있던데요....
아니면 php.ini의 다른 부분을 조정해야 하나요?
앞으로 자료가 계속 늘어날텐데 큰일입니다.
Forums:
텍스트 파일을
텍스트 파일을 가공하고 업로드 하는데 1-2시간이면 상당하네요 ㄷㄷ;;;
3만건이면 그리 많은 양도 아닌데...
어느 부분에서 시간이 걸리는지 (데이터 가공인지, DB INSERT 시인지) 를 찾는 것부터가 우선일듯 합니다. 그냥 딱 봐도 데이터를 가공하는 부분에서 문제가 있는 것 같구요.
일단, php 에서는 텍스트 파일 업로드만으로 끝내고 백그라운드로 데이터 가공 및 DB INSERT 를 하는 방법이 더 좋아 보입니다.
해당 필드에 모두
해당 필드에 모두 인덱싱을 걸었다면 당연히 insert 속도가 느릴 수 밖에 없습니다. insert시에 모든 필드의 인덱스를 생성해줘야 하기 때문에...
(설마 심지어 게시판의 본문 내용 같은 컬럼에도 인덱스를 거신건 아니겠지요? ^^)
인덱스는 꼭 필요한 컬럼에만 걸어주세요. 절대적인건 아니지만, 하나의 테이블에 두세개 이상 인덱스가 걸린다면 뭔가 좀 문제가 있는 테이블이라고 볼 수 있습니다.
--->
데비안 & 우분투로 대동단결!
--->
데비안 & 우분투로 대동단결!
락을 쓰는 건
락을 쓰는 건 어떨까요?
댓글 달기