극한의 캐시를 구현해보았습니다. > 자유게시판

자유게시판

극한의 캐시를 구현해보았습니다. 정보

극한의 캐시를 구현해보았습니다.

본문

 

제 메인컴은 Nginx로 돌아가고 있습니다.

 

그런데 최근에 오픈라이트웹서버에 흥미가 생겨서, 추가로 설치했습니다.

 

오픈라이트웹서버의 HTTP/3 QUIC 연결을 해보려고 했는데, 생각해보니 Nginx에서는 아직 지원하지 않기 때문에 설정할 이유가 없어져버렸습니다.

 

그럼에도 불구하고, 오픈라이트웹서버의 극강의 LSCACHE 플러그인을 활용해보고 싶었습니다.

 

Nginx에서 기본 80, 443을 먹고 있기 때문에,  설치할 때 81 442로 셋팅했습니다.

 

그리고 Nginx에서 프록시로 연결해서 써봤는데요.

 

뭔가 단독으로 오픈라이트웹서버를 사용할 때보다 약간 느린 것 같은 느낌이 들었습니다.

 

사양이 낮은(7년 된 i3-4130T, 8GB RAM, 256GB SSD) 홈서버라서 

 

2개의 웹서버를 구동하는 것은 매우 비효율적이기 때문에 느린 것으로 판단했습니다.

 

그래서 Nginx의 프록시 캐시를 활용해보기로 했습니다.

 

오픈라이트웹서버는 첫 화면만 캐시하기 때문에, css, js, 이미지 파일을 전부 RAM으로 넘겨서

 

Nginx에서 오픈라이트웹서버로 가지 않아도, RAM에 있는 캐시파일만 읽을 수 있게 셋팅 해보았습니다.

 

그런데 캐시 퍼지가 안되어서 원인을 못찾았는데, 

 

Nginx의 경우 www-data 유저와 www-data 그룹으로 돌아가는데,

 

오픈라이트 웹서버은 nobody nogroup으로 돌아가서, 캐시된 데이터를 삭제하지 못해서 생기는 일이었습니다.

 

Nginx의 유저와 그룹을 바꾸고, php7.4-fpm의 유저와 그룹도 같이 바꿔주니 이상없이 퍼지도 잘 되네요.

 

속도를 한번 느껴보세요! 팁도 조금 넣어보았습니다.!

 

https://ols.wsgvet.com

 

 

다음에는 오픈라이트웹서버를 앞에 두고, Nginx를 뒤로 돌린 후 HTTP/3, QUIC 전송을 쓰거나

 

오픈라이트 웹서버를 단독으로 써볼까 생각하고 있습니다.

추천
9

베스트댓글

좋은데요 ㅎㅎ
혹시 php-fpm 환경 설정값을 어떻게 설정하셨나요? (/etc/php-fpm.d/www.conf)
님이 설정한 값을 참고해서 현재 진행중인 프로젝트에 접목해볼려구요. ^.^

현재 서버 사양이 ntel® Xeon 8core, 32G 사용중인데 최대한 Full로 돌려볼려합니다. ^.^
(Apache 2.4+ PHP7.4 + MariaDB 10)
The following solution worked changing the web user with me using Ubuntu 18.04 LTS, nginx 1.14 and php7.4-fpm.

1. Nginx
Edit /etc/nginx/nginx.conf and set the user to

user webuser webgroup;

2. PHP-FPM
Edit /etc/php/7.4/fpm/pool.d/www.conf.

user = webuser
group = webgroup
...
listen.owner = webuser
listen.group = webgroup

위와 같이 총 5군데만 수정하면 끝입니다.

물론 웹파일의 권한도 webuser webgroup 으로 줘야겠지요 ㅎㅎ

서버 사양이 초특급인데요? ㅎㅎ 한번 보고 싶네요 ㅎㅎ

암튼 워드프레스를 쓰신다면 제가 한 선택이 거의 최강의 속도가 나올 것 같습니다. ㅎㅎ

댓글 20개

좋은데요 ㅎㅎ
혹시 php-fpm 환경 설정값을 어떻게 설정하셨나요? (/etc/php-fpm.d/www.conf)
님이 설정한 값을 참고해서 현재 진행중인 프로젝트에 접목해볼려구요. ^.^

현재 서버 사양이 ntel® Xeon 8core, 32G 사용중인데 최대한 Full로 돌려볼려합니다. ^.^
(Apache 2.4+ PHP7.4 + MariaDB 10)
The following solution worked changing the web user with me using Ubuntu 18.04 LTS, nginx 1.14 and php7.4-fpm.

1. Nginx
Edit /etc/nginx/nginx.conf and set the user to

user webuser webgroup;

2. PHP-FPM
Edit /etc/php/7.4/fpm/pool.d/www.conf.

user = webuser
group = webgroup
...
listen.owner = webuser
listen.group = webgroup

위와 같이 총 5군데만 수정하면 끝입니다.

물론 웹파일의 권한도 webuser webgroup 으로 줘야겠지요 ㅎㅎ

서버 사양이 초특급인데요? ㅎㅎ 한번 보고 싶네요 ㅎㅎ

암튼 워드프레스를 쓰신다면 제가 한 선택이 거의 최강의 속도가 나올 것 같습니다. ㅎㅎ
답변 감사합니다.
우성짱님은 정말 짱!!!입니다. ㅎㅎ 바로바로 실천에 바로바로 응대에...
이미 팬 됬습니다. ^.^

php-fpm의 환경설정을 전 이렇게 했는데... 더 높일려구요. ^.^
  pm.max_children = 50
  pm.start_servers = 5
  pm.min_spare_servers = 5
  pm.max_spare_servers = 35
  pm.process_idle_timeout = 120s
  pm.max_requests = 10000
전 아직 php-fpm 설정은 몰라서 안해봤는데 중요한 설정인가봐요 ㅎㅎㅎ

그누보드에도 fastcgi cache 적용되면 정말 좋을거 같은데 워프랑 구조가 너무 달라서 적용이 어려운게 아쉬워요..

로그인 안한 익명 유저에게만 캐시된 내용 보여주면 CPU 거의 안먹을텐데 말이죠.
그러게요. 좋은 것 같은데...
제가 요즘 진행하는 프로젝트가 산으로 갔다 이제 조금 정상화되고 있는데...
완전 정상화가 되면 제가 꼭 도전해보고 싶네요.
하지만 언제쯤일런지.... T.T
이번 프로젝트로 밀린 일이 한두가지가 아니라서...
제가 몇년 전에 그누보드에 시도하다가 실패했었어요 ㅎㅎ

https://www.wsgvet.com/web/174

찾아보니 4년 전에 시도했었네요 ㅎㅎ

프로젝트가 중요하죠! 화이팅입니다!
캐시에다가 prepatch도 같이 걸어놔서 더 그럴 수도 있습니다 ㅎㅎ flyng page 플러그인 좋아요
아, 늘 흥미로운 작업들 남겨주셔서 감사합니다. 저기... 혹시 100명,1000명 동시접속 툴 같은 것으로 부하테스팅툴로 결과는 가지고 계신지 여쭤봐도 될른지요? 아파치같은 것은 ab같은 툴이 있는 것 같던데... 저는 잘 몰라서... 얼마정도의 부하를 어느 정도의 서버가 견딜 수 있는 수있는지 도 알고 있으면 거래처랑 계약할 때 적절한 의사결정에 도움이될 수 있을 것 같기도합니다.
홈서버 성능이 안좋아서 생각보다 벤치가 잘 나오진 않네요 ㅠㅠ

제가 하는 방법이 맞는지도 모르겠구요.. 흠.. 좀더 고민해봐야겠습니다.
전체 195,268 |RSS
자유게시판 내용 검색

회원로그인

진행중 포인트경매

  1. 참여5 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT