하드만 있는 서버에서 램이 16기가 혹은 32기가가 있을때

램의 일부를 램드라이브로 만들어서 라이믹스의 소스 및 files를 마운트시킬 경우

그냥 디스크 캐쉬 및 php opcache만 믿는 것보다 램을 사용한 만큼의 효과가 있을까요?

 

1) 라이믹스 소스 및 files 안의 attach 및 thumbnail을 제외한 나머지 폴더들을 램드라이브로 한다

2) 라이믹스 소스 및 files 안의 attach를 제외한 나머지 폴더들을 램드라이브로 한다

3) files는 제외하고 라이믹스 소스만 램드라이브에 담는다

4) 라이믹스 소스는 제외하고 files 안의 attach를 제외한 나머지 폴더들을 램드라이브로 한다

5) 램드라이브를 쓰지 않는다

 

 

  • profile
    램디스크는 휘발성이라.. 데이터를 넣으면 안됩니다.

    files/ 에 있는 대부분의 파일들은 모두 데이터에 해당됩니다.

    files/cache 항목만 램디스크에 넣어 캐싱 하도록 하면 속도에 빨라질것 같은데... 이렇게 하면 memcached 사용하는거랑 거의 비슷하기 때문에 그럴빠엔 차라리 memcached를 세팅하는게 더 이득일 수 있겠네요..
  • profile

    이론상 빨라지기야 하겠습니다만... 효과를 보려면 접속자 수가 많아져야 하는데 접속자 수가 많아진다면 굳이 램드라이브를 쓰기보다는 램 자체를 웹서버나 DB서버 구동에 사용하는게 훨씬 이득이겠죠.

     

    윗분 댓글처럼 휘발성인 관계로 오류 등으로 서버 재부팅시 데이터 손실 가능성이 있는건 덤입니다.

  • ?
    휘발성이라고 해봤자 어차피 config, thumbnail 및 attach를 제외하면 재생성하면 되는 파일들이고 재생성은 부팅후 1회만 필요하니 큰 상관 없다고 봅니다만...
  • ? profile
    이론상으로 빨라져봐야 일반 SSD에서 구동시키는 항목 + memcached한 것이랑 비교햇을때 그만큼의 속도차가 있냐는거죠.

    이미 이정도만 해도 기본적으로 fftb 자체가 잘 뽑힐텐데.. 좀 더 시간을 벌자고 위험한 디스크 할이유는 없어보여서요.

    어차피 가장 핵심적인 부분은 files/cache 부분이니 적당하게 memcached 을 잘 세팅하는것이 더 낫지 않나 싶습니다.

    동접이 많다고 소문난 사이트에서도 램디스크를 굳이 쓰지 않는데는 이유가 있지요..

    memcached 보다는 apc 캐시를 세팅하는편이 훨신 메모리친화적으로 돌릴 수 있다니 그 방법으로 세팅하는편도 나쁘지 않습니다.
  • profile ?
    제가 단 전제를 확인을 부탁드립니다.
    하드만 있는 서버라는 전제가 있어요. 그런 동접 많은 사이트들이야 nvme ssd를 쓰고 있을테니 램드라이브를 쓸 필요가 당연히 없겠죠.
  • ? profile
    HDD이라고 해서 첨부파일이나 이런 부분에서는 별 다른건 없다고 봅니다만..

    사용하고 싶으시면 사용하시는거라 생각은 합니다.

    다만, 그만큼 위험부담이 있고 잘못세팅된 부분에서 데이터 유실될 가능성이 크다는 부담감은 안고 가셔야 겠지요.

    어쨌든 저의 핵심은 apu + opcache 조합이라면 아무리 하드디스크라고 할지언정 라이믹스에서 지원되는 대부분의 오브젝트 캐시 및 php코드 캐시(?) 같은 것은 대부분 메모리에 저장될거고, 그 외 나머지 캐싱 항목들은 opcache 등에 의해 크게 성능이 요즘은 왓다갔다 하지 않을거라는 전재가 있을거고.. 앞서 말씀드린것 처럼 굳이 쓸꺼면 files/cache부분만 마운트 하셔서 쓰시길 권장드리는 편입니다.
  • profile

    램으로 최대한의 성능을 뽑아내려면 램에 최적화된 데이터 구조를 이용해야 합니다.

     

    램드라이브는 파일시스템의 형태를 띠는데, 이건 디스크에 최적화된 데이터 구조를 억지로 램에다가 적재한 것입니다. memcached, redis, apc, opcache 같은 일반적인 램 기반의 캐시들과는 설계가 딴판이지요.

     

    리눅스 특성상 램이 남으면 어차피 디스크 캐시로 사용하기 때문에, 그냥 SSD에 파일을 저장하고 램을 좀 비워두는 것과 큰 차이 나지 않을 수도 있어요. 데이터 유실의 리스크를 감수할 만큼 성능 개선이 있는지 실제로 테스트해보고 결정하시면 어떨까요?^^