본문 바로가기

엔지니어링(TA, AA, SA)

(126)
[시스템성능] 시스템 성능 최적화(1) - 성능이란? 성능 개선과 관련하여 데이터베이스 SQL 튜닝을 다룬 것은 보다 찾기 쉽습니다. 데이터베이스 최적화 전문가 시장도 상당히 큰 편입니다. 하지만 실제 업무 로직이 수행되는 애플리케이션 코드 측면에서 성능을 분석하고, 데이터베이스에 접근하는 자료는 거의 없을 뿐 아니라 시장에서 애플리케이션 최적화 인력은 상대적으로 희소합니다. 애플리케이션 최적화 전문가는 서버와 데이터베이스로부터 업무 로직까지 복합적인 지식이 필요하기 때문에 진정한 시스템 최적화 전문가라고 할 수 있습니다. 시스템 성능은 서버, 애플리케이션, 데이터베이스, 네트워크에 관한 개별 지식만으로는 분석하는데 한계가 있습니다. 성능 개선을 위해서는 각 기술 요소의 특성과 동작 방식을 전체 시스템 관점에서 이해하고 분석할 수 있는 능력이 필요하므로 새..
[성능튜닝] 컴퓨터 처리속도 단위 * 컴퓨터 처리속도 초(cs): 1/100초 밀리초(ms): 1/1,000초 마이크로초(㎲): 1/1,000,000초 나노초(ns): 1/1,000,000,000초 피코초(ps): 1/1,000,000,000,000초 펨토초(fs): 1/1,000,000,000,000,000초 아토초(as): 1/1,000,000,000,000,000,000초 cs: 0.01 = 10^(-2)초 ms: 밀리초 0.001 = 10^(-3)초 ㎲: 마이크로초 0.000001 = 10^(-6)초 ns: 나노초 0.000000001 = 10^(-9)초 ps: 피코초 0.000000000001 = 10^(-12)초 fs: 펨토초 0.000000000000001 = 10^(-15)초 as: 아토초 0.0000000000000000..
[성능튜닝] ASH(Active Session History)란? ASH(Active Session History) SQL> select * from v$sgastat where name = 'ASH buffers'; POOL NAME BYTES --------- --------- --------- shared pool ASH buffers 16252928 - 오라클은 현재 접속해서 활동 중인 Active 세션 정보를 1초에 한번씩 샘플링해서 ASH 버퍼에 저장합니다. - SGA Shared Pool에 CPU당 2MB의 버퍼를 할당받아 세션 정보를 기록하며, 1시간 혹은 버퍼의 2/3가 찰때마다 디스크로 기록합니다. 즉, AWR에 저장하는 것입니다. - v$active_session_history 뷰를 이용해 ASH 버퍼에 저장된 세션 히스토리 정보를 조회할 수 있습니..
[성능튜닝] 대규모 데이터 처리(메모리와 디스크, 웹 애플리케이션의 부하) 대규모 서비스의 데이터 규모 한 서비스의 데이터 규모는 다음과 같습니다. 한 테이블당 레코드 건수가 1,500만이나 5,000만 정도가 됩니다. 데이터 크기로는 entry라는 테이블이 3GB, bookmark라는 테이블이 5.5GB, tag 테이블이 4.8GB, 그리고 HTML 텍스트 데이터도 압축해서 저장하고 있는데, 이것이 200GB를 넘고 있습니다. 전체적으로 기가바이트 단위가 됩니다. Google이나 Yahoo!가 사용하고 있는 규모가 되면 더 나아가 테라바이트, 페타바이트가 되므로 이는 초대규모입니다. 보통 웹 애플리케이션을 만들면서 좀처럼 기가바이트 단위의 DB는 나오지 않으므로 일반적인 웹 애플리케이션이라는 관점에서 보면 큰 규모인 것입니다. 레코드 수 데이터 크기 entry 테이블: 1,5..
[성능튜닝] 개발에서의 알고리즘 데이터 규모와 계산량 차이대상이 되는 데이터가 크면 클수록 알고리즘이나 데이터 구조 선택이 속도에 영향을 미치게됩니다. 예를 들면, 데이터 내에서 필요한 데이터를 처음부터 순차적으로 찾아가는 '선형탐색(Linear Search)'은 n건에 대해 n번의 탐색이 필요하므로 O(n)의 알고리즘입니다. '이분탐색(Binary Search)'은 n건의 데이터에서 log n번 만에 목적 데이터를 찾는 알고리즘으로, O(log n)의 알고리즘 입니다. 1,000건에 대해 최대 10번 만에 탐색이 완료됩니다. 데이터 건수가 늘어감에 따라 알고리즘 선택의 차이가 점점 커지고, 목적 데이터를 찾는 처리를 할 때 선형탐색을 사용하는 부분에서 데이터 건수가 1,000건, 100만건, 1,000만 건으로 늘어난다면 당연히 그 ..