최근 작업 중에 이미지 에디터의 파일 생성 작업을 진행하였다.
TEST 서버는 IIS에서 D 드라이브로 작성하여 아무런 이슈가 없었는데
운영 서버 반영 이후 파일생성 시 30초가량의 시간이 소요되는 현상이 발생 되었다.
일단 타임 체크를 해보았는데 역시나 리쿼스트, 쿼리 등 모든 작업은 정상이었는데
파일 생성 시 시간이 오래 걸리는 이슈였다.
jquery 기반의 php 이미지 에디터였는데 php 내부에서도 network drive를 인식 하지 못하는 이슈도 발생
고난의 연속이었다.
1. php 에서 접근하는 경로를 k:/devenjoy/test 형식으로 되어 있던 경로를
//devenjoy.com/test 형식으로 바꿔주니 정상적으로 파일 경로는 찾을 수 있었음
2. 이미지 파일 생성 부분은 기존에는 network drive에 직접 라이트 하는 방식을 사용하였다.
1 2 3 4 5 6 7 8 9 10 11 | File tempFile = new File("k:/devenjoy/test/test.jpg"); FileOutputStream fos = new FileOutputStream( tempFile ); int chunk = 0; InputStream gifdata = result.getBinaryStream("photo_img"); while ((chunk = gifdata.read()) != -1) { fos.write(chunk); } // flush the data fos.flush(); fos.close(); |
상위 방법에서 k 드라이브의 network drive 대신 IIS의 로컬 드라이브로 바꾼후
network drive로 파일 이동 처리하니 0초에 처리
1 2 3 4 |
이렇게 삽질을 끝냈다.
linux 나 다른 OS상에서도 발생할지 모르지만 삽질할 때 짜증은 났지만 차후를 위한 유익한 경험이었다.