Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 정처기
- 모듈화
- 형상관리
- 정보처리기사
- 소프트웨어
- 델파이 기법
- 자바스크립트
- 정처기 실기
- 트리거
- 모듈
- 정보처리기사 실기
- rest
- 프로시저
- javascript
- 키보드 이벤트
- EAI
- 비동기
- SSL/TLS
- 인터페이스
- 인스펙션
- 리눅스
- Ajax
- 동기
- S-HTTP
- 서버
- input
- 라디오 버튼
- 브레인스토밍
- esb
- 워크스루
Archives
- Today
- Total
방구석 상상코딩
28. 애플리케이션 성능 개선 본문
애플리케이션 성능 측정 지표
지표 | 설명 |
처리량 (Throughput) |
애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수 웹 애플리케이션의 경우 시간당 페이지 수로 표현 |
응답 시간 (Response Time) |
사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간 애플리케이션의 경우 메뉴 클릭 시 해당 메뉴가 나타나기까지 걸리는 시간 |
경과 시간 (Turnaround Time) |
애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간 |
자원 사용률 (Resource Usage) |
애플리케이션이 트랜잭션을 처리하는 동안 CPU 사용량, 메모리 사용량, 네트워크 사용량 |
성능 분석 도구 유형
1. 성능 테스트 도구
- JMeter : HTTP, FTP, LDAP 등 다양한 프로토콜을 지원하는 안전성, 확장성, 부하, 기능 테스트 도구
- LoadUI : UI를 통해 HTTP, JDBC 등 주로 웹 서비스를 대상으로 서버 모니터링을 지원하는 부하 테스트 도 구
- OpenSTA : HTTP, HTTPS 지원하는 부하 테스트 및 생산품 모니터링 도구
2. 시스템 모니터링 도구
- Scouter : 단일 뷰 통합/실시간 모니터링, 튜닝에 최적화된 인프라 통합 모니터링 도구
- Zabbix : 웹 기반 서버, 서비스, 애플리케이션 모니터링 도구
베드 코드 사례
베드 코드 사례 | 설명 |
외계인 코드 (Alien Code) |
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 아주 어려운 코드 |
스파게티 코드 (Spaghetti Code) |
컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현 작동은 정상적으로 하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어려움 |
알 수 없는 변수명 | 변수나 메서드에 대한 이름 정의를 알 수 없는 코드 |
로직 중복 | 동일한 처리 로직이 중복되게 작성된 코드 |
클린 코드 작성 원칙
작성 원칙 | 설명 |
가독성 | 이해하기 쉬운 용어를 사용, 코드 작성 시 들여쓰기 기능을 사용 |
단순성 | 한 번에 한 가지 처리만 수행, 클래스/메서드/함수를 최소 단위로 분리 |
의존성 최소 | 영향도를 최소화, 코드의 변경이 다른 부분에 영향이 없게 작성 |
중복성 제거 | 중복된 코드를 제거, 공통된 코드를 사용 |
추상화 | 클래스/메서드/함수에 대해 동일한 수준의 추상화 구현, 상세 내용은 하위클래스/메서드/함수에서 구현 |
소스 코드 품질분석 도구 유형
- 정적 분석 도구 : 작성된 소스 코드를 실행시키지 않고, 코드 자체만으로 코딩 표준 준수 여부, 코딩 스타일 적정 여부, 잔존 결함 발견 여부를 확인하는 코드 분석 도구
- 동적 분석 도구 : 애플리케이션을 실행하여 코드에 존재하는 메모리 누수 현황을 발견하고, 발생한 스레드의 결함 등을 분석하기 위한 도구
리펙토링
유지보수 생산성 향상을 목적으로 기능을 변경하지 않고, 복잡한 소스 코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법
※ 리펙토링의 목적
- 유지보수성 향상 : 복잡한 코드의 단순화, 소스의 가독성 향상
- 유연한 시스템 : 소프트웨어 요구사항 변경에 유연한 대응
- 생산성 향상 : 정제 및 최적화된 소스의 재사용
- 품질향상 : 소프트웨어 오류 발견이 용이하여 품질향상
'정보처리기사 실기' 카테고리의 다른 글
30. 네트워크 기초 활용하기 (0) | 2022.02.09 |
---|---|
29. 운영체제의 특징 (0) | 2022.02.08 |
27. 애플리케이션 통합 테스트 (0) | 2022.02.06 |
26. 애플리케이션 테스트 케이스 설계 (0) | 2022.02.05 |
25. 소프트웨어 개발 보안 구현 (0) | 2022.02.05 |