본문 바로가기

엔지니어링(TA, AA, SA)/성능과 튜닝

(32)
[시스템성능] 크롬 개발자 도구 활용하기 타임라인 도구 사용법Chrome 개발자도구의 Timeline 패널을 사용하면 애플리케이션에서 작업이 실행될 때 모든 작업을 기록하고 분석할 수 있습니다. 이는 애플리케이션에서 인지된 성능 문제를 조사하는 데 가장 좋은 출발점입니다. - 타임라인 기록을 만들어 페이지 로드 또는 사용자 상호작용 후 발생한 모든 이벤트를 분석합니다. - Overview 창에서 FPS(Frame per Second), CPU 및 네트워크 요청을 볼 수 있습니다. - Flame Chart 내에서 이벤트를 클릭하면 그에 대한 세부정보를 볼 수 있습니다. - 기록의 한 부분을 확대하면 분석이 한결 쉬워집니다. Timeline 패널 개요 Timeline 패널은 네 개의 창으로 구성되어 있습니다. 1. Controls: 기록을 시작하고..
[시스템성능] 시스템 성능 최적화(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..