php 메모리 부족 현상 해결 후 이미지 게시판 로딩속도 문제
본문
안녕하세요. 신입입니다..꾸벅꾸벅^^
제가 갑자기 관리를 맡게 된 옛날 제로보드로 만든 홈페이지 갤러리 게시판 상에서 메모리 부족 오류로 갤러리 게시판이 동작하지 않아 오류가 발생한 해당 php 코드 안에 php 메모리 용량을 올려주는 코드 (ini_set('memory_limit','128M');)를 넣었더니 다행이 오류는 해제되고 이미지 썸네일이 뜨는데....
너무 오래 걸립니다. 속도를 측정하니 무려 1.9분이 걸립니다.;;;;;
이미지를 올릴 때 해당 이미지를 메모리에 넣어서 썸네일로 뿌려주는 과정에서 생긴 문제인거 같은데..
(참고로, 그 홈페이지에 올리는 이미지들이 2-4메가짜리를 올리고 한페이지에 올라오는 썸네일 게시 이미지는 약 20개정도 됩니다. )
메모리를 해결했더니 로딩 시간이 너무 오래 걸려서 답답해 죽겠네요...;;;
이거 해결 방법이 없을까요? 제가 코드 위치를 맨위에다 중간에다 끝에 놔도 마찬가지이더이다..;;;
참고로 해당 php 코드는 아래와 같습니다.
<?
ini_set('memory_limit','128M');
set_time_limit(200);
function resizeimage($rewidth,$reheight,$smallfile,$picture){
$picsize=getimagesize($picture);
if($picsize[2]===1) {
@header("Content-Type: images/gif");
$dstimg=ImageCreateTrueColor($rewidth,$reheight);
$srcimg=@ImageCreateFromGIF($picture);
imagecopyresampled($dstimg, $srcimg,0,0,0,0,$rewidth,$reheight,ImageSX($srcimg),ImageSY($srcimg));
Imagegif($dstimg,$smallfile,76);
}
elseif($picsize[2]===2) {
@header("Content-Type: images/jpeg");
$dstimg=ImageCreateTrueColor($rewidth,$reheight);
$srcimg=ImageCreateFromJPEG($picture);
imagecopyresampled($dstimg, $srcimg,0,0,0,0,$rewidth,$reheight,ImageSX($srcimg),ImageSY($srcimg));
@Imagejpeg($dstimg,$smallfile,76);
}
elseif($picsize[2]===3) {
@header("Content-Type: images/png");
$dstimg=ImageCreateTrueColor($rewidth,$reheight);
$srcimg=ImageCreateFromPNG($picture);
imagecopyresampled($dstimg, $srcimg,0,0,0,0,$rewidth,$reheight,ImageSX($srcimg),ImageSY($srcimg));
Imagepng($dstimg,$smallfile,76);
}
@ImageDestroy($dstimg);
@ImageDestroy($srcimg);
}
?>
여러 선배님들의 고견 부탁드립니다. (_._)
답변 2
완벽한 소스를 보지 못하여 추측이지만..
이미지 자체가 커서 리사이징이 오래 걸린다고 보여집니다.
기본 등록 이미지의 제한이 필요해보이네요.
원본 사이즈가 크면 클수록 리사이징 처리가 오래 걸리는건 어찌보면 당연해보이구요.
기본 등록 이미지 제한은 어떻게 해야 하는 건가요?