섬네일이 생성이 안되서 메모리리밋이 부족해서 그런가 하고 늘려보았는데. 섬네일 생성은 안됐지만.
이걸 512까지 늘려놓았느데 그대로 두어도 괜찮나요?
서버 램은 넉넉한 편입니다.
메모리 리밋이 설정에 따라 어떤 차이가 있는거죠?
섬네일이 생성이 안되서 메모리리밋이 부족해서 그런가 하고 늘려보았는데. 섬네일 생성은 안됐지만.
이걸 512까지 늘려놓았느데 그대로 두어도 괜찮나요?
서버 램은 넉넉한 편입니다.
메모리 리밋이 설정에 따라 어떤 차이가 있는거죠?
서버 램이 넉넉잡아 16기가 정도 남았다고 해봅시다.
memory_limit이 128MB(기본값)이라면 섬네일 생성이 필요한 페이지를 동시에 100명이 요청해도 됩니다.
(128MB × 100 = 12.8GB)
memory_limit이 512MB이라면 섬네일 생성이 필요한 페이지를 동시에 50명만 요청해도 서버가 다운됩니다.
(512MB × 50 = 25.6GB)
즉 서버에서 안정적으로 처리할 수 있는 동접수에 큰 차이가 생기고, 악의를 가진 사용자가 일부러 대용량 이미지를 첨부한 후 동시에 다수의 섬네일 생성을 요청하여 서버를 마비시킬 수 있는 취약점도 발생합니다.
한 가지 덧붙이자면 섬네일 생성이라는 것이 CPU를 상당히 많이 잡아먹는 작업이기 때문에, 동시에 몇 개만 요청이 들어와도 서버 전체가 기하급수적으로 느려집니다. 각각의 요청을 처리하는 데 평소보다 몇 배의 시간이 걸리니까, 평소에는 2~3초라도 서로 시간차를 두고 요청하던 방문자들마저 갑자기 동시 요청으로 돌변해 버립니다. 그러면 서버는 더 느려지고, 악순환이 일어나죠.
워드프레스나 XE 기반 사이트를 구동하는 서버가 갑자기 다운되는 원인 1순위가 바로 섬네일 생성으로 인한 메모리 사용량 폭증입니다. 무시무시한 녀석이예요.
메모리를 더 많이 사용하겠죠. 단순히 한도를 늘리는 겁니다. 너무 크게 잡아도 좋지는 않습니다.