가상 애플리케이션을 가속화하는 5 가지 방법

작가: Laura McKinney
창조 날짜: 2 4 월 2021
업데이트 날짜: 1 칠월 2024
Anonim
[쉽게 따라하는 5분 원격수업] 의견을 모으는 영리한 담벼락 패들렛(교사용)
동영상: [쉽게 따라하는 5분 원격수업] 의견을 모으는 영리한 담벼락 패들렛(교사용)

콘텐츠


출처 : Viktorus / Dreamstime.com

테이크 아웃 :

은행을 허물 지 않고 가상 애플리케이션을 가속화하는 5 가지 기술을 배웁니다.

응용 프로그램과 데스크톱에 가상 환경을 구축하는 데 따르는 어려움 중 하나는 성능입니다. 시작 후 응용 프로그램이 표시 될 때까지 1 ~ 2 초 이상 기다리는 사람은 없습니다. 사용자는 아이콘을 두 번 클릭 한 후 즉시 응용 프로그램이 나타날 것으로 예상합니다. 우리는 서버간에, 방화벽을 통해,로드 밸런서를 통해, 무선으로 또는 유선을 통해 데스크탑과 모바일 장치로, 애플리케이션을 전달하기 위해 백그라운드에서 진행되는 작업을 알지 못합니다. 우리의 집단적 인내심은 더 좋고, 더 빠르고, 더 안전한 기술을 약속하며 얇아졌으며 공급 업체와 지원 직원 모두가 "입고 또는 폐쇄"할 때입니다. 또한 공급 업체와 지원 직원은 우리의 고통을 공유하고 현지에서 설치 한 수준에서 또는 근처에서 성능을 제공하는 일부 가속화 기술에 대응했습니다.

사용자에게는 속도가 중요하지만, 사용자와 달리 건축가, 시스템 관리자 및 CIO는 사용자 더블 클릭에 대한 빠른 응답을 원치 않습니다. 또한 그 어느 때보 다 확장 성, 보안 향상 및 기술 수명 기대치를 찾고 있습니다. 결국 사용자는 공급 업체이자 지원의 가혹한 비평가이므로 이러한 이유로 가상 응용 프로그램 기술과 기술에 대한 연구가 진행되고 있습니다. 이 기사에서는 가상 애플리케이션을 가속화하는 다섯 가지 방법을 설명합니다. 5 가지 솔루션은 특별한 순서는 아니지만 인프라, 애플리케이션 코드 및 대역폭과 같은 최적화 및 가속화를위한 3 가지 주요 영역 중 하나에 중점을 둡니다.

WAN 및 LAN 최적화

WAN 및 LAN 최적화를 대역폭 솔루션이라고 할 수 있습니다. 궁극적 인 목표는 더 많은 정보와 더 많은 데이터를 네트워크 파이프 라인에보다 효율적으로 배치하는 것입니다. 최종 사용자에게는 응용 프로그램 성능이 매우 중요하기 때문에 데이터를 소비자 나 최종 사용자에게 더 가까이 이동시키는 CDN (콘텐츠 전송 네트워크)을 만드는 등 더 짧은 시간에 더 많은 콘텐츠를 제공하는 독창적 인 방법이 있습니다. 데이터를 사용자에게 더 가까이 이동하면 데이터가 더 적은 "홉"을 통과하거나 대상에 도달하기 위해 네트워크를 통과해야하므로 대기 시간이 줄어 듭니다. 대부분의 클라우드 서비스 제공 업체는 애플리케이션 소유자가 소비자에게 가까운 컨텐츠를 제공 할 수 있도록 CDN을 이미 갖추고 있습니다.


로드 밸런싱은 응용 프로그램 제공 부담을보다 효과적으로 공유하기 위해 클라이언트 요청을 여러 서버 또는 여러 위치에 분산시켜 대역폭을 최적화합니다. 로드 밸런서는 단일 응용 프로그램에 대한 사용자 요청으로 발생하는 교통 체증을 제거하여 응용 프로그램 전송 속도를 향상시킵니다. 그러나 다른 요청으로 과부하되지 않은 서버에 응용 프로그램을 효율적으로 제공 할 수있어 안정성이 향상됩니다.

응용 프로그램과 클라이언트 간의 원시 대역폭을 늘리는 것은 응용 프로그램 제공 속도를 높이기위한 명백한 향상처럼 보입니다. 애플리케이션 인프라와 클라이언트 컴퓨터 간의 기가비트 네트워크 연결이 나쁜 것이라고 누가 주장 할 수 있습니까? 잘못 설계되고 고안된 응용 프로그램이라도 소스와 대상 사이의 대역폭을 증가시켜 성능을 크게 향상시킵니다.

데이터 압축 및 JPEG, MPEG-4 및 MP3와 같은 압축 미디어 유형을 사용하면 응용 프로그램 제공에 큰 영향을 줄 수 있습니다. HTML, CSS 및 JavaScript를 의미하는 기반 컨텐츠의 데이터 압축으로로드 시간이 30 % 이상 단축 될 수 있습니다.

SSD 및 플래시 어레이

SSD와 플래시 어레이는 모든 종류의 응용 프로그램 성능 향상을위한 새로운 "go to"기술인 것 같습니다. 솔리드 스테이트 스토리지는 회전 디스크보다 훨씬 빠르지 만 비용도 상당히 비쌉니다. 이 솔루션은 SSD를 다르게 사용하는 것이 좋을 수도 있습니다. 데이터를 저장하는 대신 "핫"데이터의 캐시로 사용하십시오. SSD는 회전 디스크보다 훨씬 빠른 속도로 데이터를 제공 할 수 있지만 네트워크와 다양한 네트워킹 구성 요소를 통해 변환시 효율성이 일부 저하됩니다. 그러나 소위 "플래시 캐시"를 사용하여 캐시 된 정보를 저장하는 SSD 속도를 활용하면 결과가 인상적입니다. 인텔은 "트랜잭션 데이터베이스 처리에서 최대 12 배 향상된 성능과 I / O 집약적 가상화 워크로드 처리에서 최대 36 배 빠른 처리 속도"를보고합니다.


데이터 캐싱 용 SSD는 데이터를 검색하여 메모리에 저장하는 속도로 인해 의미가 있습니다. 또한 SSD를 캐싱 목적으로 만 사용하는 경우 성능 향상을 만족시키기 위해 SSD를 구매하는 횟수가 훨씬 적습니다. 스토리지에 대한 자세한 내용은 엔터프라이즈 스토리지 솔루션을 최적화하는 방법을 참조하십시오.

버그 없음, 스트레스 없음-인생을 파괴하지 않고 인생을 바꾸는 소프트웨어를 만드는 단계별 가이드

아무도 소프트웨어 품질에 신경 쓰지 않으면 프로그래밍 기술을 향상시킬 수 없습니다.

가상 GPU

CAD 프로그램, 비디오 편집 소프트웨어 또는 프로젝트 관리 응용 프로그램을 사용하여 응용 프로그램을로드하고 "로컬"이라는 코러스를들을 수있는 사람에게 물어보십시오. 가상 그래픽 처리 장치 (GPU) 기술이 출시 될 때까지

가상 GPU를 사용하면 모든 워크로드를 가상 머신에 배치 할 수 있습니다. 비디오 편집자 및 그래픽 디자이너와 마찬가지로 구식 CAD 자료도 이제 동화되었습니다. 3 차원에서 일하는 사람들조차도 가상 GPU 덕분에 가상의 존재감을 갖게되었습니다.

이 기술을 가능하게 한 것은 가상 머신 호스트 시스템과 호환되는 특수 GPU 보드가 해당 호스트 시스템에 설치되고 하드웨어 속성이 추상화되거나 가상화되어 가상 머신에서 사용할 수 있다는 것입니다.

성능 최적화 소프트웨어

화를 내고 좌절하는 시스템 관리자는 종종 코드 수정이 자신의 일이 아니라고 말합니다. 그러나 유비쿼터스 문제는 개발자가 응용 프로그램을 프로그래밍하는 데있어 최고 수준이지만 성능을위한 코드 최적화에 대한 단서를 얻거나 원치 않을 수 있다는 것입니다.RAM이 많거나 디스크가 빠르거나 강력한 CPU가 많으면 코드에있을 수있는 성능 관련 문제가 해결 될 가능성이 높습니다. 어느 정도는 사실입니다. 또는 잘못 작성된 응용 프로그램을 가속화하기 위해 단순히 인프라를 재 구축하는 것보다 코드를 수정하는 것이 훨씬 저렴하고 해결하기가 훨씬 쉽습니다.

컴퓨터 개척자 인 도널드 크 누스 (Donald Knuth)와 같이 컴퓨터 코드 최적화에 대해 말한 사람들이 있습니다.“모든 것을 최적화하면 항상 불행 할 것입니다.”Knuth의 의견에도 불구하고 균형 잡힌 개선을위한 코드 최적화는 수행되고 견뎌야합니다. . 그러나 구매하고 사용자에게 배포하는 상용 프로그램은 어떻습니까? 예를 들어 evergreen Microsoft Office 제품군은 시스템 관리자가 로컬 및 원격 사용자 모두에게 제공해야하는 표준 응용 프로그램 제품군입니다.

관리자가 활용할 수없는 상용 프로그램의 경우에는 다층 성능 향상 전략을 적용해야합니다. 일반적인 응용 프로그램 비트 캐싱은 사용자에게 큰 응용 프로그램을 빠르게 제공하는 데있어 관리자의 최고의 기술입니다.

캐싱

사전로드, 사전 처리 또는 사전 컴파일이라는 용어를 읽거나들을 때마다 작성자 또는 발표자는 일종의 캐싱을 언급합니다. 응용 프로그램 캐싱은 일반적으로 요청시 쉽게 검색 할 수 있도록 특정 정적 및 일부 동적 콘텐츠를 메모리 버퍼에로드하는 것을 말합니다. 파이프 라인을 통해 전달되는 유일한 비트는 사용자 또는 다른 시간 또는 세션 종속 데이터와 특별히 관련된 비트입니다. 다른 모든 것은 메모리에 캐시됩니다.

캐싱은 스토리지, 네트워크 대역폭 및 CPU에 대한 스트레스를 줄입니다. 데이터는 호출 될 때까지 메모리에서 대기 한 다음 최종 사용자에게 훨씬 짧은 여행을 진행합니다. 대부분의 기술은 캐싱을 위치와 결합하여 컨텐츠를 더 빨리 제공합니다. 다시 말해, 모든 사용자에게 공통적 인 데이터 인 공통 데이터는 위에서 언급 한 CDN에 배치 된 다음 요청 된 데이터에 가까운 사용자에게 제공됩니다. 일부 솔루션은 원격 또는 위성 사이트에서 데이터를 로컬로 캐시하여 공통 비트가 소비되는 곳에 상주하며 WAN 또는 인터넷 링크를 통해 새로 가져올 필요가 없습니다.

캐싱은 종종 인프라 향상에 의존하는 솔루션을 수행하는 것보다 훨씬 저렴하기 때문에 선호되는 애플리케이션 가속화 방법입니다. (캐싱에 대한 자세한 내용은 어떤 쓰기가 올바른가요? I / O 캐싱 방법 살펴보기를 참조하십시오.)

요약

모든 환경에서 가상 응용 프로그램을 최적화하거나 가속화하려고 할 때의 기본 경험 규칙은 먼저 캐싱을 시도한 다음 해당 전략을 다른 기술로 보완하는 것입니다. 캐싱은 가장 비용이 적게 드는 솔루션이며 가장 덜 침입적인 솔루션입니다. 가장 좋은 조언은 메모리 캐싱을위한 많은 RAM과 핫 데이터 캐싱을위한 SSD를 구입하는 것입니다. 비용을 관리 할 수는 있지만 인프라와 소프트웨어에 돈을 쓰면 기술 수명 동안 비용을 상각하고 사용자별로 분산하여 관리가 더 쉽게 소화 할 수 있음을 기억하십시오. 결국, 사용자의 생산성과 행복을 유지하고 계속해서 고용하십시오.