[개발지식] 시스템 아키텍칭과 개발/성능의 연결관계와 생각해야할 점

Hyo Kyun Lee·2024년 10월 19일
0

개발지식

목록 보기
53/60

1. 개요

단순한 조회에서부터, 한정된 자원에서 조금이라도 성능 개선을 이루기 위해서는 시스템 아키텍칭적인 요소에 의지하기 보다는 일단은 개발 역량을 높여 방안을 찾는 것이 훨씬 중요하고 빠르다.

2. 연결관계

시스템 아키텍칭에서 성능에 미칠 수 있는 영향도는, 내가 생각했을때는 참조객체(변수)로 인한 gc나 자바메모리 누수 정도이고 더 나아가 동시성 처리(멀티스레드/동기화처리/singleton) 정도이다.

결국 나머지는 개발자의 프로그래밍, 혹은 쿼리 튜닝 및 조정으로 인하여 성능개선을 이룰 수 있는데 이게 가장 빠르고 효율적인 것으로 보인다.

3. 생각해야할 점

  • 동시성을 제어한다? -> 채번테이블에서 쿼리 for update / wait하거나 singleton 객체를 만들어 thread safe하게 처리하거나
  • 이번에 찾다가 우연히 새로 알게된 부분인데, stream을 통해서 조회 성능을 개선할 수 있다(이는 stream 항목에서 더 공부해서 기술).
  • list.size()를 변수화하는 등 새로운 객체를 생성하는 부분에 민감해지고 이를 성능과 연결지어, 성능과 관련있는 부분들은 재량껏 간소화하거나 효율화하거나.

0개의 댓글