Web

웹성능높이기

초코푸딩 2020. 6. 30. 11:13

- 코드 압축 (Javascript를 minify 하던지 gzip으로 압축 한다던지 등)

- 이미지 처리 (CDN, Split 등)

- Lazy Loading (느린 로딩 기법)

- Critical Rendering Path

- 캐싱 처리 (WebCache 다양한 웹 개시 사용방법이 존재, 캐시 서버 도입 또는 소스에서 내부 캐싱 처리 등, DBCache 등)

   (우리 싸이트와 같은 경우는 Arcus Cache를 사용하여 디비 캐싱 처리 하고 있다. 성능도 확실히 좋아진 걸 WebTune APM을 통해 확인 가능하였다.)

출처: https://goddaehee.tistory.com/171 [갓대희의 작은공간]

웹캐싱

웹 서버의 응답은 메모리에 캐싱하고, 애플리케이션 캐시는 로컬 인메모리에 저장하거나 캐시 서버 위에서 실행되는 레디스와 같은 인메모리 데이터베이스에 저장할 수 있다


1. Browser Caches

- 브라우저 또는 HTTP요청을 하는 Client Application에 의해 내부 디스크에 캐쉬

- Cache된 Resource를 공유하지 않는 한 개인에 한정된 Cache

- 브라우저의 Back버튼 또는 이미 방문한 페이지를 재 방문하는 경우 극대화

 

2. Proxy Caches

- Browser Cache와 동일한 원리로 동작하며 Client나 Server가아닌 네트워크 상에서 동작.

- 큰회사나 IPS의 방화벽에 설치 되며 대기시간 & 트래픽 감소, 접근정책 & 제한 우회, 사용률 기록등 수행

- 한정된 수의 클라이언트을 위하여 무한대의 웹서버의 컨텐츠를 캐쉬

  

3. Gateway Caches (REVERSE OR SURROGATE PROXY)

- 서버 앞 단에 설치되어 요청에 대한 캐쉬 및 효율적인 분배를 통해 가용성, 신뢰성, 성능등을 향상

- Encryption / SSL acceleration, Load balancing, Serve/cache static content, Compression등을 수행

- 무한대의 클라이언트들에게 한정된 수(또는 하나)의 웹서버 컨텐츠를 제공

출처: https://hahahoho5915.tistory.com/33 [넌 잘하고 있어]

 

커넥션풀

https://linked2ev.github.io/spring/2019/08/14/Spring-3-%EC%BB%A4%EB%84%A5%EC%85%98-%ED%92%80%EC%9D%B4%EB%9E%80/

 

[Spring] 커넥션 풀(Connection pool)이란?

커넥션 풀(Connection pool)에 대해서 그래도 알고 사용하자. 쉽게 알고 갔으면 좋겠습니다.

linked2ev.github.io

https://rinae.dev/posts/web-caching-explained-by-buying-milk-kr

서버사이드 캐싱 CDN 브라우저캐싱