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

Hyo Kyun Lee·2024년 10월 19일
0

개발지식

목록 보기
53/100

1. 개요

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

2. 연결관계

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

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

3. 생각해야할 점

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

0개의 댓글