2017-02-23 3 views
0

Grails 서버에 상당한로드가 있습니다. lsof를 사용하여 열려있는 파일을 표시하고 각각의 css 및 js 파일에 대해 여러 개의 열린 파일 핸들을보고 있습니다. 우리는 그러한 파일이 거의 없으므로, 메모리에 캐시하고 OS로가는 것을 피하는 것이 훨씬 더 합리적이라고 생각합니다 (OS가 캐시하더라도 커널/fs/파일 핸들 오버 헤드를 피하십시오).Grails 2.4.5 메모리에 캐시 정적 리소스

자산 파이프 라인 또는 이러한 파일을 메모리에 캐시하고 디스크에서 요청하지 않도록 알리는 내용 (다른 플러그인?)이 있습니까?

답변

0

어떤 버전의 asset-pipeline plugin을 사용합니까? https : https://github.com/bertramdev/grails-asset-pipeline/issues/368

에 애셋 캐싱 문제가 발생했습니다. 애셋 파이프 라인 종속성을 애플리케이션의 새로운 버전으로 업데이트하여 문제를 해결했습니다.

아니면 순 방문자가 많습니까?

+0

브라우저의 캐시 헤더에 관한 것 같습니다. 브라우저가 아닌 서버에 캐싱에 대해 이야기하고 있습니다. 네, 고유 방문자가 많이 있습니다. 파일의 내용을 메모리에 캐시하고 webapp에서 직접 전달하고 해당 내용의 파일 시스템으로 이동하지 않습니다. – ttt

+0

memcached를 살펴볼 가치가있는 @ttt - 다양한 기술로 실행할 수 있습니다. – Vahid

+0

더 복잡한 솔루션을 원한다면 웹 서버 나 CDN을 사용하여 grails를 프론트 엔드하는 것이 좋습니다. 하지만 난 그저 grails에서 파일을 캐싱하는 간단한 해결책을 원한다. 나는 거기에 설정이나 플러그인이있을 것으로 기대했지만, 아마도 그렇지 않을 수도 있습니다. – ttt