「애플리케이션 속도 향상」을 위한 전략 세우기

일반입력 :2006/04/19 12:10

Deb Shinder

애플리케이션 속도 향상이라는 말은 IT 산업에서 새롭게 떠오르는 화두 중 하나이다. 하지만, 이것이 진정으로 의미하는 것이 무엇일까?느린 애플리케이션 응답 시간은 유저들을 실망시키고, 생산성을 떨어뜨리며, 사업의 손익에 영향을 미치는 결과를 낳는다. 따라서 애플리케이션의 속도를 향상시키는 것이 IT 산업에서 새롭게 떠오르는 화두 중 하나인 것은 당연하다. 하지만, 이것이 진정으로 의미하는 것이 무엇일까? 이것이 필요한가? 만약 그렇다면, 그것을 구현하는 가장 쉬운 방법은 무엇일까? 각기 다른 형태의 애플리케이션 속도 향상 기술들을 살펴보고, 회사 성장에 따른 애플리케이션 속도 향상 전략을 어떻게 만들 수 있는지에 대해 알아보도록 하자.로컬 애플리케이션 vs. 네트워크 애플리케이션지난날 대부분의 애플리케이션 소프트웨어들은 로컬 컴퓨터에 설치되고 실행됐다. 작은 사업장에는 이 말이 여전히 적용된다. 로컬 애플리케이션의 성능은 대부분 로컬 시스템 리소스에 달렸고, 프로세서 속도나 프로세서의 개수, 물리적 메모리와 가상 메모리의 크기, 리소스를 함께 공유하고 있는 다른 애플리케이션들의 영향을 받는다.이런 환경에서 애플리케이션의 속도를 향상시키려면 각 시스템의 기본 하드웨어를 업그레이드하거나 귀중한 리소스를 잡아먹는 그래픽 효과 끄기, 실행하려는 애플리케이션과 프로세서 타임, 메모리를 다투는 불필요한 서비스들의 기능 중지, 애플리케이션의 로딩 시간을 단축시키기 위해 프리펫칭(prefetching) 기법 사용, 정기적인 디스크 조각모음, 프로세스의 우선순위 정하기와 같은 다양한 세팅 값 최적화, 성능과 관련된 레지스트리 세팅을 변경하는 것 등이 있다.그러나 오늘날 중간 조직에서 큰 조직에 이르기까지 많은 애플리케이션은 LAN, WAN 그리고 인터넷을 통해 전달된다. 이런 상황이 새로운 문제를 야기하고, 애플리케이션의 속도 향상 문제를 네트워크 대역폭과 프로토콜의 문제로 만든다.웹으로 이동하는 애플리케이션점점 많은 애플리케이션이 웹을 통해서 전달되고 있다. 편리함의 관점에서 보았을 때 이것은 전혀 이상할 것이 없다. 왜냐하면 거의 대부분의 인터넷이 연결된 컴퓨터들은 웹 브라우저를 가지고 있어서 사용자의 시스템에 소프트웨어를 설치할 필요성이 사라지기 때문이다. HTTP는 가장 널리 쓰이는 네트워크 프로토콜 중 하나이다. 이런 애플리케이션의 웹 화는 시스템 관리자를 위한 공통의 전달 시스템뿐 아니라 유저를 위한 공통적인 인터페이스와 환경까지도 만들어낸다.웹 애플리케이션의 속도를 향상시키는 데 있어 가장 중요한 요소는 정적인 대상을 저장하기 위해 리버스 프록시를 사용하는 것이다. 우리는 과거 이와 같은 컬럼에서 웹 캐싱 솔루선에 대해서 논의했었다. 하지만 대부분의 초점은 캐싱을 포워드 하는데 있었다. 이것이 바로 프록시 서버가 인터넷 사이트로부터 다운받은 것들의 복사본을 저장하게 함으로서 내부 사용자가 인터넷 콘텐츠에 접속하는 속도를 향상시키는 방법이다. 리버스 캐싱은 그 이름에서도 알 수 있듯이 역 방향으로 작용한다. 리버스 프록시 서버는 내부 웹 서버에서 접근되었던 대상의 복사본을 저장하고, 그것을 요청하는 사람에게 그 자료를 찾기 위해 다시 웹 서버로 가지 않고 바로 그것을 돌려준다. 따라서 외부 유저들의 성능 향상으로 나타난다.해결책은 리버스 프로록시웹 애플리케이션의 속도 향상은 종종 기업 환경의 측면에서 논의되곤 한다. 하지만 심지어 작은 회사들도 웹 기반 애플리케이션을 전달하는 작업에 리버스 프록시를 사용할 수 있고, 그것을 하는데 많은 돈을 투자하지 않아도 된다. 무료이거나 가격이 낮은 리버스 프록시 소프트웨어는 다음과 기능을 포함한다.스퀴드: 오픈소스 프록시 서버는 GPL에서 인증을 받았고, ftp://ftp.squid-cache.org/pub/에서 무료로 다운로드 받을 수 있다. 리눅스, FreeBSD, 맥 OS X와 여러 가지 버전의 유닉스에서 돌아간다. 윈도우에서 스퀴드를 컴파일하고 실행시키기 위해 Cygwin 개발 환경을 이용할 수 있다. IIS 리버스 프록시: MIT에서 인증받았고, 윈도우 2000, XP, IIS를 구동시키는 윈도우 서버 2003 등에 설치 가능한 인터넷 정보 서비스를 위한 오픈소스 리버스 프록시 애플리케이션. http://www.saltypickle.com/Home/16에서 다운 받을 수 있다.오레노에스피(Orenosp) 시큐어 리버스 프록시: 윈도우 NT, 2000, XP, 2003과 리눅스와 OS X에서 구동되는 세어웨어 리버스 프록시, 로드 밸런서와 시큐어 포트 포워더이다. 더 자세한 정보는 http://hp.vector.co.jp/authors/VA027031/orenosp/index_en.html에서 얻을 수 있다.일반적으로 회사가 성장해감에 따라 그 회사의 웹 애플리케이션의 속도 향상에 대한 필요성 또한 늘어난다. 더욱 복잡한 리버스 프록시는 모든 것을 저장하는 반면, 더 복잡한 것은 무엇이 저장돼야 하고 무엇이 저장되지 않아야 하는지를 당신이 보다 정교하게 다룰 수 있도록 한다. 당신은 아마도 확장성을 위한 프로토콜 측면의 지원을 고려하게 될지도 모른다. 단지 HTTP를 대상으로 저장하는 것보다 더 많은 것을 저장할 수 있게 되기를 바랄 것이다.무료 혹은 저가의 솔루션에서 더 나아가 중간 크기의 회사부터 규모가 큰 회사들까지 많은 회사들의 필요성을 충족시켜 줄 중간 가격대의 제품들을 또 볼 수 있다. 예를 들면, 다음과 같다.MS의 ISA 서버: 필터링 역할을 하는 파이어월 애플리케이션 레이어로서의 역할은 물론 포워드, 리버스 프록시의 기능을 한다. 이것은 투자한 돈에 상응하는 기능을 할 것이다.스탠더드 에디션(standard edition)은 윈도우 2000서버 혹은 윈도우 서버 2003가 설치돼 있으며 프로세서당 당 1499달러이다. 엔터프라이즈 에디션(Enterprise Edition)의 경우보다 나은 확장성과 유용성을 위해 병렬로 사용 가능하고, 프로세서 당 5999달러이다. 보다 자세한 정보는 이곳을 클릭하기 바란다. 비고스 AG 웹 사이트 액셀러레이터(Vigos AG Website Accelerator): 웹 사이트의 성능 향상을 위한 리버스 프록시만을 원하는 사람들을 위한 것이다. 보낼 데이터를 실시간으로 압축하는 라이트 에디션(light edition)의 가격은 499달러이다. 이것은 단일 도메인을 지원한다. 스탠더드 에디션은 999달러로 10개까지의 도메인을 지원하며, 엔터프라이즈 에디션은 지원하는 도메인 수가 무제한이었다. 엔터프라이즈 에디션 레벨에서, 리버스 프록시는 리버스 프록시 솔루션을 프론트엔드 웹 서버들에 구현할 수 있도록 해주고 SSL로 통신의 안전성을 보장한다.블루 코트 프록시 SG(Blue Coat Proxy SG): 턴키로 구성. 프록시 SG는 다양한 예산과 필요를 만족시키기 위해 여러 시리즈를 가지고 있다(400, 800, 8000). 업스트림 웹 서버에 포워딩을, 여러 개의 웹 서버들에 대한 로드 밸런싱 그리고 업스트림 웹서버의 상태를 체크하는 것까지 구현할 수 있다. 고급 사양인 8000시리즈는 5만명 이상의 연결된 유저를 지원할 수 있고, 300Mbps의 WAN을 지원한다. 8000-4는 9만 9000달러 정도. 시스코 콘텐츠 엔진(Cisco Content Engine): 이것은 시스코의 캐싱과 콘텐츠 필터링 기능이 들어 있는 제품으로 웹 사이트에 설치돼 캐시 역할을 하거나, 콘텐츠에 대한 내부 요청을 나누고, 증가된 웹 애플리케이션의 성능을 위해 웹 서버들로부터 트래픽의 부하를 줄여주는 역할을 한다. 시중에는 다양한 모델이 나와 있다. 콘텐트 엔진 7325는 4만~5만 달러의 가격에 구입할 수 있고, 정확한 가격은 소매업체들에 따라 다르다. 제품에 대한 보다 자세한 정보와 애플리케이션 성능 향상에 어떻게 사용되는지를 알고 싶다면 이곳을 클릭하기 바란다.@