Drupal7的Field Storage性能测试报告(译)
本篇是关于Drupal7下Field Storage的测试结果,以及不同情况下对 drupal 性能的影响,主要是MySQL和MongoDB以及在调优参数情况和不调优情况下的对比。 本篇翻译自 《Field Storage Tests with Drupal 7》 链接地址: http://posulliv.github.io/2013/01/07/b
本篇是关于Drupal7下Field Storage的测试结果,以及不同情况下对drupal性能的影响,主要是MySQL和MongoDB以及在调优参数情况和不调优情况下的对比。
本篇翻译自 《Field Storage Tests with Drupal 7》
链接地址: http://posulliv.github.io/2013/01/07/bench-field-storage/
测试环境
EC2 EBS backed Large instance (8GB of memory) in the US-EAST availability zone
Ubuntu 12.04 (ami-fd20ad94 as listed in official ubuntu AMI’s)
MySQL 5.5.28
PostgreSQL 9.2
MongoDB 2.0.4
Drupal 7.17
Drush 5.1
Migrate 2.5
测试的case是分别对MySQL和PostgreSQL进行调优和没有调优,以及配合MongoDB下进行的,具体的优化参数这里先列举一下。
MySQL的优化参数如下:
innodb_flush_log_at_trx_commit=0 innodb_doublewrite=0 log-bin=0 innodb_support_xa=0 innodb_buffer_pool_size=6G innodb_log_file_size=512M
PostgreSQL的优化参数如下:
fsync = off synchronous_commit = off wal_writer_delay = 10000ms wal_buffers = 16MB checkpoint_segments = 64 shared_buffers = 6GB
测试数据集(Dataset)
测试数据集来自于migrate_example_baseball,现在已经是migrate模块(Drupal官网地址: http://www.drupal.org/project/migrate)的一部分了,这些数据包括了美国职业棒球大联盟2000到2009年的数据,每年的数据在一个CSV文件里面。
测试结果
测试环境 | 平均吞吐率 |
---|---|
Default MySQL | 1932 nodes / minute |
Default PostgreSQL | 1649 nodes / minute |
Tuned MySQL | 3024 nodes / minute |
Tuned PostgreSQL | 1772 nodes / minute |
Default MySQL with MongoDB | 4609 nodes / minute |
Default PostgreSQL with MongoDB | 4810 nodes / minute |
Tuned MySQL with MongoDB | 7671 nodes / minute |
Tuned PostgreSQL with MongoDB | 5911 nodes / minute |
结论
一目了然,结果自然不必说,MongoDB的性能肯定比默认数据库的Field Storage要好很多,优化过的数据库肯定比没有优化过的数据库性能要好很多。
不过比较有意思的是,PostgreSQL的测试数据,我们发现,在Drupal7的Field Storage机制里,每个字段都会新建表的机制,对PostgreSQL的影响还是非常大的。因此,用不用MongoDB,对PostgreSQL数据库的影响更大一些。
接下一篇关于Field Storage的测试,请点击查看:
《Drupal7 Field Storage性能之Field SQL Norevisions》
其他问题,请到Drupal大学提问 >
原文地址:Drupal7的Field Storage性能测试报告(译), 感谢原作者分享。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP 배열 키 값 뒤집기 방법의 성능 비교는 array_flip() 함수가 대규모 배열(100만 개 이상의 요소)에서 for 루프보다 더 나은 성능을 발휘하고 시간이 덜 걸리는 것을 보여줍니다. 키 값을 수동으로 뒤집는 for 루프 방식은 상대적으로 시간이 오래 걸립니다.

새로운 판타지 요정 MMORPG '주선2'의 '무작용 테스트'가 4월 23일 출시된다. 원작으로부터 수천 년이 지난 주선 대륙에서는 어떤 새로운 요정 모험 이야기가 펼쳐질 것인가? 육계선불세계, 불멸수련을 위한 전임 학원, 불멸수련의 자유로운 삶, 불멸세계의 온갖 즐거움이 불멸친구들이 직접 탐험하는 것을 기다리고 있습니다! 이제 'Wuwei 테스트' 사전 다운로드가 공개되었습니다. 요정 친구들은 공식 웹사이트에 접속하여 다운로드할 수 있습니다. 서버가 출시되기 전에는 게임 서버에 로그인할 수 없습니다. 사전 다운로드 및 설치 후에는 활성화 코드를 사용할 수 있습니다. 완성 됐습니다. "Zhu Xian 2" "Inaction Test" 개장 시간: 4월 23일 10:00 - 5월 6일 23:59 Zhu Xian의 정통 속편 "Zhu Xian 2"의 새로운 요정 모험 장은 "Zhu Xian" 소설을 기반으로 합니다. 원작의 세계관을 바탕으로 게임 배경이 설정되었습니다.

다양한 Java 프레임워크의 성능 비교: REST API 요청 처리: Vert.x가 최고이며 요청 속도는 SpringBoot의 2배, Dropwizard의 3배입니다. 데이터베이스 쿼리: SpringBoot의 HibernateORM은 Vert.x 및 Dropwizard의 ORM보다 우수합니다. 캐싱 작업: Vert.x의 Hazelcast 클라이언트는 SpringBoot 및 Dropwizard의 캐싱 메커니즘보다 우수합니다. 적합한 프레임워크: 애플리케이션 요구 사항에 따라 선택하세요. Vert.x는 고성능 웹 서비스에 적합하고, SpringBoot는 데이터 집약적 애플리케이션에 적합하며, Dropwizard는 마이크로서비스 아키텍처에 적합합니다.

C++ 다중 스레드 성능을 최적화하기 위한 효과적인 기술에는 리소스 경합을 피하기 위해 스레드 수를 제한하는 것이 포함됩니다. 경합을 줄이려면 가벼운 뮤텍스 잠금을 사용하세요. 잠금 범위를 최적화하고 대기 시간을 최소화합니다. 동시성을 향상하려면 잠금 없는 데이터 구조를 사용하세요. 바쁜 대기를 피하고 이벤트를 통해 스레드에 리소스 가용성을 알립니다.

Go 언어 함수 클로저는 단위 테스트에서 중요한 역할을 합니다. 값 캡처: 클로저는 외부 범위의 변수에 액세스할 수 있으므로 테스트 매개변수를 캡처하고 중첩된 함수에서 재사용할 수 있습니다. 테스트 코드 단순화: 클로저는 값을 캡처함으로써 각 루프에 대해 매개변수를 반복적으로 설정할 필요가 없으므로 테스트 코드를 단순화합니다. 가독성 향상: 클로저를 사용하여 테스트 로직을 구성하고 테스트 코드를 더 명확하고 읽기 쉽게 만듭니다.

PHP에서 배열을 객체로 변환하면 성능에 영향을 미치며, 이는 주로 배열 크기, 복잡성, 객체 클래스와 같은 요소의 영향을 받습니다. 성능을 최적화하려면 사용자 지정 반복기 사용, 불필요한 변환 방지, 배열 일괄 변환 및 기타 기술을 고려하세요.

Go에서 난수를 생성하는 가장 좋은 방법은 애플리케이션에 필요한 보안 수준에 따라 다릅니다. 낮은 보안: 대부분의 애플리케이션에 적합한 의사 난수를 생성하려면 math/rand 패키지를 사용하십시오. 높은 보안성: crypto/rand 패키지를 사용하여 더 강력한 무작위성을 요구하는 애플리케이션에 적합한 암호화된 보안 무작위 바이트를 생성합니다.

다양한 PHP 기능의 성능은 애플리케이션 효율성에 매우 중요합니다. 성능이 더 좋은 함수에는 echo 및 print가 포함되는 반면 str_replace, array_merge 및 file_get_contents와 같은 함수는 성능이 느립니다. 예를 들어, str_replace 함수는 문자열을 바꾸는 데 사용되며 보통의 성능을 갖는 반면 sprintf 함수는 문자열 형식을 지정하는 데 사용됩니다. 성능 분석에 따르면 하나의 예제를 실행하는 데 0.05밀리초밖에 걸리지 않아 함수가 잘 수행된다는 것을 증명합니다. 따라서 기능을 현명하게 사용하면 더 빠르고 효율적인 응용 프로그램을 만들 수 있습니다.
