이 페이지는 기계 번역되었습니다. 영어 원본을 읽어보세요. English

IBSurgeon 라이브러리

Firebird 성능 뉴스레터: 제1호

우리는 성능 테스트, 팁, 트릭, 구성 개선 등에 관한 비교적 정기적인 “Firebird 성능 뉴스레터"를 시작하기로 결정했습니다.

첫 호에서는 다음 내용을 다룹니다:

Firebird 4 vs Firebird 3: 좋은 소식입니다!

2019년에 간단한 INSERT/UPDATE/DELETE 테스트의 첫 번째 결과 모음을 게시한 이후, 많은 분들이 자신의 Firebird 서버 결과를 보내주셨고, 우리는 이를 스프레드시트와 해당 그래프에 추가했습니다.

이 테스트는 다양한 하드웨어+Firebird 구성의 성능을 측정하고 비교하는 간단하지만 강력한 도구로, 하드웨어나 구성 문제를 신속하게 확인하거나 반박할 수 있게 해줍니다.

최근 우리는 이 테스트를 사용하여 Firebird 4.0(버전 4.0.0.2394, 릴리스 직전 몇 빌드)과 3.0(버전 3.0.8.33426, 스냅샷, 곧 출시될 3.0.8의 사전 릴리스, Firebird 자동 테스트에 따르면 마이너 릴리스만큼 안정적임)의 INSERT/UPDATE/DELETE 성능을 비교했습니다.

테스트 환경은 Intel i3-10100F 3.60GHz, SSD Samsung SSD 870QVO 및 RAM 드라이브(qSoft)였으며, 다양한 RAM 크기(16, 32, 64)와 Page Buffers 설정을 사용했습니다.

아래는 그래프이며, 결과가 포함된 XLS 스프레드시트입니다.

보시다시피, 동일한 조건과 동일한 구성에서 Firebird 4는 쓰기 작업에서 3.0.8보다 약 10% 빠릅니다. 이것은 확실히 좋은 소식이며, 곧 출시될 릴리스를 자세히 살펴보고 마이그레이션 준비를 시작할 때가 되었다는 또 다른 신호입니다.

물론 가장 좋은 방법은 자신의 서버에서 동일한 테스트를 실행하여 실제 개선 효과를 직접 확인하는 것입니다.

방법 보기 »

최대 Firebird 쓰기 성능을 위한 최적의 AWS EC2 인스턴스 선택

점점 더 많은 기업들이 “클라우드로의 전환"을 고려하고 있으며, Amazon Web Service Elastic Cloud는 가장 선호하는 “클라우드 목적지” 중 하나입니다.

그러나 AWS는 다양한 인스턴스 유형을 제공하는데, 어떻게 최적의 인스턴스를 선택할 수 있을까요? 물론 테스트를 하는 것입니다!

우리는 20가지 인스턴스 유형에 대해 간단한 INSERT/UPDATE/DELETE 테스트를 수행했고 Firebird에 정말 좋은 몇 가지 옵션을 발견했습니다.

참고 - 아래 계산과 그래프의 모든 가격은 AWS EC2 프랑크푸르트 리전 기준이며, aws.amazon.com에서 그대로 가져온 것으로 할인은 적용되지 않았고, 추가 세금이 부과될 수 있으며, 시간이 지남에 따라 변경될 수 있습니다. 따라서 아래 가격을 최종 가격이나 정확한 구매 가이드로 간주하지 마십시오.

전체 그래프와 결과가 포함된 XLS 스프레드시트입니다:

단순화를 위해 Operations 열을 만들었으며, 이는 기본적으로 Inserts+Updates+Deletes의 합계이고 통합 쓰기 성능 지표로 사용했습니다:

보시다시피, 다음 3가지 인스턴스 유형이 (Firebird 쓰기 작업 관점에서) 성능 선두주자입니다:

인스턴스 Linux 시간당 비용 초당 작업 수

| z1d.xlarge | USD$0.45 | 45834 | | m5dn.2xlarge | USD$0.648 | 45198 | | m5d.2xlarge | USD$0.544 | 44150 |

흥미롭게도 선두주자들이 가장 비싼 인스턴스 유형은 아닙니다! 물론 이 테스트는 단일 스레드(코어 수의 이점을 활용하지 않음)이며 많은 RAM을 필요로 하지 않는다는 점(데이터베이스가 3.6Gb에 불과하기 때문)을 염두에 두어야 하지만, 피크 쓰기 작업을 빠르게 처리해야 하는 애플리케이션에는 이러한 인스턴스가 정말 최적입니다.

이러한 인스턴스 유형이 (테스트된 것 중에서) 가장 비싸지는 않지만, 예산에 대해 두 번 생각할 만큼 충분히 비쌉니다. 그리고 클라우드의 광고된 장점 중 하나가 유연성이라는 점을 고려할 때, Firebird 데이터베이스를 서비스하기에 충분할 수 있는 더 저렴한 VM 인스턴스 유형으로 시작하는 것이 합리적이겠죠?

최적의 비용/성능 인스턴스 유형을 찾기 위해 스프레드시트에 “1 USD당 작업 수"라는 또 다른 열을 만들었습니다.

이것은 말 그대로 1 USD로 구매할 수 있는 쓰기 작업 수를 의미합니다.

공식은 다음과 같습니다:

초당_작업_수 * 시간당 3600초 / 시간당 가격

보시다시피, 이 관점에서는 선두주자가 다릅니다:

인스턴스 Linux 시간당 가격 1 USD당 작업 수 초당 작업 수
c5d.xlarge USD$0,222 579062087 35709
c5ad.xlarge USD$0,2 565024995 31390
m5dn.xlarge USD$0,324 446037216 40143

매우 흥미로운 것은 3위인 m5dn.xlarge로, 피크 성능이 초당 ~40K로 성능 선두주자인 z1d.xlarge(초당 45834 작업)에 상당히 근접하지만 훨씬 저렴합니다.

전반적으로 AWS EC2에 대한 우리의 경험은 안정적이고 성숙한 환경이며 보안/백업/고가용성 등 많은 좋은 기능을 제공하지만, 복잡한 플랫폼인 만큼 적절한 선택을 하고 비현실적인 부하의 애플리케이션에 대해 과도한 비용을 지불하지 않으려면 경험(또는 외부 전문 지식)이 필요하다는 것을 보여줍니다.

INSERT/UPDATE/DELETE 테스트 최근 결과

보시다시피, 이 간단한 테스트는 하드웨어와 Firebird 간의 비교뿐만 아니라 비용을 절약하는 데도 유용할 수 있습니다.

최근 수집된 결과가 포함된 그래프와 직접 다뤄볼 수 있는 XLS 스프레드시트를 게시했으니, 여기에서 직접 확인할 수 있습니다.

아래는 명확한 3가지 결론입니다:

  1. NVME 드라이브는 정말 뛰어납니다. 강력한 Firebird 서버가 필요하다면 데이터베이스용 NVME를 구매하세요.
  2. 높은 CPU 주파수는 Firebird 데이터베이스의 고성능에 매우 중요합니다. 종종 벤더들이 더 낮은 주파수(<3Ghz)의 멀티코어 프로세서를 구매하도록 권장하지만, 이것이 Firebird에는 최선의 선택이 아닐 수 있으며, 더 높은 주파수의 더 적은 코어가 더 나은 결과를 제공할 수 있습니다.
  3. 데이터베이스 부하 프로필이 쓰기 중심이라면 Page Buffers를 줄여보세요: DefaultDbCachePages를 50K, 100K, 250K 등으로 실험해 보세요. 결과를 우리와 공유해 주시면 좋겠습니다!

테스트 결과를 자유롭게 조사하고, 질문이나 제안을 보내주세요.

“Firebird 성능 뉴스레터” 다음 호에서

2호에서는 하나의 데이터베이스를 서비스하기 위해 여러 SuperClassic 인스턴스를 구성하는 방법을 보여드리겠습니다(이 외에도 여러 네트워크 포트 간에 부하를 분산하는 데 유용할 수 있습니다). 다음 호에 대한 계획은 큽니다: 구성 실수, 암호화된 데이터베이스 테스트, Firebird 4와 Firebird 3 성능의 고급 비교, 인덱스 최적화 등입니다.

관심이 있으시고 새 호에 대한 알림을 받고 싶으시면 FirebirdSQL Telegram 채널에 참여해 주세요.

문의하기

질문이나 제안이 있으시면 연락해 주세요: Alexey Kovyazin: [email protected].