백엔드 관련

[웹 로딩 속도 개선해보기] 2. 자바와 JSP 단에서 뭔가 개선할 수 있는 방법이 있을까?

jju_developer 2024. 9. 11. 20:22
728x90

안녕하세요~ 지난시간에 이어서!

웹 로딩속도 개선 해보기 초급반! 시작하겠습니다.

우선 기본적인 이미지 같은 파일을 압축하는 방식은 사용을 해봤다면,

 

자바 또는 JSP 에서는 과연 어떤것을 해야 할까요..?

 

1. 서버측의 성능 최적화

2. JSP의 웹 로딩속도 개선

 

도대체 서버측의 성능화가 그래서 뭐냐...?!


1. 서버 사이드 최적화

1.1. 데이터베이스 쿼리 최적화

  • 쿼리 성능 개선: 데이터베이스 쿼리를 최적화하여 성능을 향상시킬 수 있습니다.
    복잡한 쿼리를 단순화하고, 인덱스를 활용하여 데이터 검색을 빠르게 합니다.
    > 지난 회사에서 데이터베이스의 인덱스 거는 작업을 해봤었죠!
    > 복잡한 쿼리 단순화라,,,말은 참 쉽네요 ^^;;
  • 캐싱 사용: 자주 조회되는 데이터를 캐시하여 데이터베이스 조회를 줄입니다.
    예를 들어, Ehcache, Redis 등을 사용할 수 있습니다.
    > 요거는 좀 해볼만 합니다.

Ehcache는 상대적으로 간단하고 단일 애플리케이션 서버에서의 로컬 캐싱에 적합하고,
Redis는 대규모, 분산 환경에서의 데이터 캐싱과 저장소로 보편적으로 사용된다고 생각하면 쉽습니다.

 

오늘은 요런것이 있다 정도만 하고 다음번에 시간내서 Ehcache 코드를 보여드리도록 하겠습니다.

1.2. 서버 측 캐싱

  • 메서드에 @Cacheable 애너테이션 활용!!!
    @Cacheable 를 추가하여 캐싱을 설정할 수 있습니다.
    @Cacheable은 메서드의 결과를 캐시에 저장하고, 같은 파라미터로 호출되었을 때는 캐시된 결과를 반환합니다.

> 요 방법도 초급자 입장에서는 좀 해볼만 합니다.

 


2. JSP 페이지 최적화

2.1. JSP 컴파일 최적화

 

  • 컴파일 타임 캐싱: 서버가 JSP 페이지를 컴파일한 후, 컴파일된 서블릿을 캐시하여 이후 요청 시 재컴파일을 방지합니다.
    이는 초기 페이지 로딩 속도를 개선합니다.

  • 서버 설정 조정: 서블릿 컨테이너나 JSP 엔진의 설정을 통해 컴파일 관련 파라미터를 조정할 수 있습니다.
    예를 들어, Apache Tomcat에서는 web.xml 파일에서 development 모드를 false로 설정하여 컴파일을 효율적으로 할 수 있습니다.

  • 브라우저 캐싱: JSP 페이지의 결과를 브라우저에 캐싱하도록 설정하면 페이지 로딩 속도를 추가로 향상시킬 수 있습니다.

 

 

초급에서 생각이 나는 것은 요정도 인거 같습니다,

 

<요약>

 

자바 쪽에서 쿼리문을 단순하고 명확하게 작성하고,
자주 조회되는 쿼리나 아니면 메서드의 결과 값을 캐쉬에 저장하여서

속도를 빠르게 변경한다.

이미지의 파일을 압축하여 로딩시간을 줄인다.

 jsp 에서도 브라우저에 캐싱하여 페이지 결과도 저장하고,

뭔가 JSP 엔진의 설정을 효율적으로 튜닝한다.

 


고급분들 꿀팁 있으시면 

언제든 댓글 주세요.. 환영!~!~!~!!

 

그럼 오늘도 안전귀가, 안전운전, 행복한 저녁 보내세요

728x90