더 많은 RAM 대 더 많은 서버 알고 있습니까?” (데이터 마이닝

최근에 “더 많은 RAM 또는 더 많은 서버로 갈 것인지 결정하는시기를 알고 있습니까?” (데이터 마이닝 응용 프로그램 스케일링의 맥락에서).

나는 전혀 몰랐다. 그래서 결정하는 방법은 무엇인가? 아키텍처 및 확장에 대한 지식이 거의 없으며 (컴퓨터 메모리에 대한 이해와 서버의 기능이 기본 수준으로 제한됨) 이러한 사항에 대한 일반적인 학습 팁도 매우 환영합니다.



답변

“더 많은 RAM 또는 더 많은 서버로 갈 것인지 결정하는 시점을 알고 있습니까?” (데이터 마이닝 응용 프로그램 스케일링의 맥락에서).

대답은 문제의 서버에 대한 메트릭을 제공하자마자 어느 쪽이든 추가 할 가치가 있는지 알려 드리겠습니다. 이 유형의 튜닝은 부두가 아닙니다 (계측이없는 응용 프로그램 및 계측이없는 서버 OS를 사용하는 경우에는 부두입니다). 응용 프로그램과 서버를 측정하십시오. 간단히 말해서 모니터링 지표를 사용하여 성능 병목 현상이 발생하는 위치를 파악하고 추가하십시오.


답변

서버 / 애플리케이션 성능 향상에는 일반적으로 상당히 많은 부두 (또는 최소한 시행 착오)가 있습니다.

특정 질문에 대한 일반적인 규칙은 메모리를 더 이상 늘릴 수 없을 때까지 또는 더 많은 메모리가 더 이상 성능을 향상시키지 않을 때까지 메모리를 먼저 늘리는 것 입니다. 비교적 저렴한 메모리를 사용하면 단순히 메모리를 최대로 늘리는 것이 더 간단 할 수 있습니다. 또한 응용 프로그램이 디스크를 많이 사용하는 경우 고속 드라이브 또는 고성능 컨트롤러로 업그레이드하면 차이가 생길 수 있습니다.

그러나이 질문의 일반적인 성격으로 인해 성능을 개선하려는 다른 시도는 없었습니다. 하드웨어가 저렴하므로 문제에 더 많은 서버를 던져도 달성하기 쉽다는 데 동의합니다. 그러나 다른 방법, 특히 OS 및 데이터베이스 조정이 수행되었는지 확인합니다. 때때로 데이터베이스, OS 또는 응용 프로그램 구성을 약간 조정하면 성능이 크게 향상 될 수 있습니다.

특정 OS, 데이터베이스 및 응용 프로그램으로이 사이트를 검색하면 금을 칠 수 있습니다.


답변

엔터프라이즈 아키텍트로서 저는 거의 매일이 문제를 다루었습니다. 수직 또는 수평 스케일링?

당신의 요구는 무엇입니까?

더 많은 사용자를 지원해야합니까? 서비스 속도를 향상시켜야합니까? 둘 다 필요합니까? 고 가용성 99.9999가 필요합니까? 아니면 사용자가 다운 타임을 취할 수 있습니까?

시작하려면 현재 시스템에서 성능 메트릭을 캡처해야합니다. 활성 사용자 수, RAM 및 CPU로드, 디스크 I / O-병목 현상의 위치를 ​​확인하십시오.

문제를 기반으로 가능한 솔루션 : 현재 리소스 최적화부터 시작하십시오. 응용 프로그램이 데이터베이스 기반 인 경우 쿼리 및 스레드 캐시, 인덱스 등을 사용하여 데이터베이스를 최적화하십시오. 다른 응용 프로그램과 서버를 공유하는 경우 전용 서버로 이동하십시오. (전용 리소스를 확보하기 위해 덜 활동적 / 중요한 애플리케이션의 가상화를 살펴보십시오)

현재 머신은 전체 용량, RAM 및 CPU로드가 많고 디스크 I / O가 높음-RAM 추가 비용 계산, 더 빠른 디스크 I / O (RAID, SATA 대신 ATA)로 전환 할 수 있습니까?

고 가용성이 필요한 경우 어쨌든 하드웨어 및로드 밸런싱을 추가해야합니다.

하드웨어 업그레이드를 추가하거나 새 서버를 추가하는 것이 더 저렴합니까? 장기 목표와 성장에 적합한 것은 무엇입니까?

IT 부서에서 가장 좋은 시간은 언제입니까? 현재 자금이 있습니까? 또는 다른 분기 / 년으로 비용을 옮기시겠습니까? 자금이 문제라면 지금 최적화하거나 다른 애플리케이션에서 하드웨어를 확보하여 임시로드 밸런싱 솔루션을 추가하십시오.

수많은 솔루션을 탐색하는 것을 두려워하지 마십시오. 공급 업체는 iSCSI RAID 10이 탑재 된 새 서버가 10 %의 비용으로 작동하는 부하 분산 된 SAN 스토리지 중심 솔루션을 구매하기를 원할 수 있습니다.

최적화 후에도 CPU가 여전히 많이로드되면 하드웨어를 추가 / 교체해야합니다. 디스크 I / O에 병목 현상이 발생하여 스토리지 기술을 업그레이드 할 수없는 경우 하드웨어를 교체하거나 네트워크 스토리지 / 연결 스토리지 솔루션을 추가해야합니다.

성능 지표를 캡처하십시오. 메트릭을 다시 최적화, 개선 및 캡처하십시오. 문서화 성능 향상 / 감소를 유지하여 지출 한 비용과 결과로 얻은 성능을 문서화 한 보고서를 작성할 수 있습니다. 이것은 관리자가 건축가, 건축가, 프로젝트 관리자, PM을 상위 관리자로 만드는 성공 사례 유형입니다.


답변

페이징 중입니까? RAM을 사용하여 디스크를 캐시 하시겠습니까? 여유 RAM이있는 CPU입니까?

페이징 중이거나 RAM을 사용하여 캐시 할 수있는 경우 더 많은 RAM을 확보하십시오. RAM 압력이 발생하지 않으면 다른 것입니다.


답변

RAM이 싸다. 당신은 항상 가장 경제적 인 양을 확보 할 수있을 때까지 항상 우선해야합니다.

그런 다음 측면 확장 (더 많은 서버)을 탐색하십시오. 저렴한 소비자 하드웨어와 고가의 서버 부품을 고려하되, 전체 처리 용량에 대한 장애를 예상하고 장애 조치 추정치를 구축하십시오.

기본적으로 Google을 수행하십시오 .


답변

어떤 OS를 사용하고 있는지, 얼마나 많은 RAM을 지원하고, 얼마나 많은 RAM을 가지고 있는지 질문해야합니다. 32 비트 OS의 한도에 도달하면 더 많은 RAM을 구입하면 좋지 않습니다. Windows를 사용하는 경우 특정 SKU는 32 비트 제한과 정확히 관련되지 않은 특정 양의 RAM으로 제한됩니다.


답변

어떤 사람들은 RAM을 추가하는 것이 마술이라고 생각하는 것 같습니다. 병목 현상이 발생하는 경우에만 RAM이 도움이됩니다.