IIS Network Drive 파일 쓰기

최근 작업 중에 이미지 에디터의 파일 생성 작업을 진행하였다.

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
// 이미지 복사
// IIS 로컬에 생성했던 임시 저장장소
File tempFile = new File("c:/temp/test/test.jpg");
tempFile.renameTo(new File( "k:/devenjoy/test/test.jpg" ));

이렇게 삽질을 끝냈다.

linux 나 다른 OS상에서도 발생할지 모르지만 삽질할 때 짜증은 났지만 차후를 위한 유익한 경험이었다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다