데이터 베이스 MySQL 튜토리얼 MySQL压力测试工具_MySQL

MySQL压力测试工具_MySQL

Jun 01, 2016 pm 01:41 PM
스트레스 테스트 도구

bitsCN.com
MySQL压力测试工具 mysqlslap --create-schema=example --query="SELECT * FROM group_message force index(group_message_author_subject) WHERE author = '3' subject LIKE 'weiurazs%'" --iterations=10000测试的过程需要生成测试表,插入测试数据,这个mysqlslap可以自动生成,默认生成一个mysqlslap的schema,如果已经存在则先删除,这里要注意了,不要用–create-schema指定已经存在的库,否则后果可能很严重。可以用–only-print来打印实际的测试过程:   $mysqlslap -a –only-printDROP SCHEMA IF EXISTS mysqlslap;CREATE SCHEMA mysqlslap;use mysqlslap;CREATE TABLE g_user (user_id INT(32) ,user_name VARCHAR(128));INSERT INTO g_user VALUES (1,'liuxiaobin');…SELECT user_id,user_name FROM g_user;INSERT INTO g_user VALUES (2,'liudabin');DROP SCHEMA IF EXISTS mysqlslap; 可以看到最后由删除一开始创建的schema的动作,整个测试完成后不会在数据库中留下痕迹。假如我们执行一次测试,分别50和100个并发,执行1000次总查询,那么: $mysqlslap -a –concurrency=50,100 –number-of-queries 1000 –debug-infoBenchmarkAverage number of seconds to run all queries: 0.375 secondsMinimum number of seconds to run all queries: 0.375 secondsMaximum number of seconds to run all queries: 0.375 secondsNumber of clients running queries: 50Average number of queries per client: 20   BenchmarkAverage number of seconds to run all queries: 0.453 secondsMinimum number of seconds to run all queries: 0.453 secondsMaximum number of seconds to run all queries: 0.453 secondsNumber of clients running queries: 100Average number of queries per client: 10 User time 0.29, System time 0.11Maximum resident set size 0, Integral resident set size 0Non-physical pagefaults 4032, Physical pagefaults 0, Swaps 0Blocks in 0 out 0, Messages in 0 out 0, Signals 0Voluntary context switches 7319, Involuntary context switches 681 上结果可以看出,50和100个并发分别得到一次测试结果(Benchmark),并发数越多,执行完所有查询的时间越长。为了准确起见,可以多迭代测试几次: $ mysqlslap -a –concurrency=50,100 –number-of-queries 1000 –iterations=5 –debug-infoBenchmarkAverage number of seconds to run all queries: 0.380 secondsMinimum number of seconds to run all queries: 0.377 secondsMaximum number of seconds to run all queries: 0.385 secondsNumber of clients running queries: 50Average number of queries per client: 20 BenchmarkAverage number of seconds to run all queries: 0.447 secondsMinimum number of seconds to run all queries: 0.444 secondsMaximum number of seconds to run all queries: 0.451 secondsNumber of clients running queries: 100Average number of queries per client: 10   User time 1.44, System time 0.67Maximum resident set size 0, Integral resident set size 0Non-physical pagefaults 17922, Physical pagefaults 0, Swaps 0Blocks in 0 out 0, Messages in 0 out 0, Signals 0Voluntary context switches 36796, Involuntary context switches 4093 测试同时不同的存储引擎的性能进行对比: $ mysqlslap -a –concurrency=50,100 –number-of-queries 1000 –iterations=5 –engine=myisam,innodb –debug-infoBenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.200 secondsMinimum number of seconds to run all queries: 0.188 secondsMaximum number of seconds to run all queries: 0.210 secondsNumber of clients running queries: 50Average number of queries per client: 20 BenchmarkRunning for engine myisamAverage number of seconds to run all queries: 0.238 secondsMinimum number of seconds to run all queries: 0.228 secondsMaximum number of seconds to run all queries: 0.251 secondsNumber of clients running queries: 100Average number of queries per client: 10 BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.375 secondsMinimum number of seconds to run all queries: 0.370 secondsMaximum number of seconds to run all queries: 0.379 secondsNumber of clients running queries: 50Average number of queries per client: 20   BenchmarkRunning for engine innodbAverage number of seconds to run all queries: 0.443 secondsMinimum number of seconds to run all queries: 0.440 secondsMaximum number of seconds to run all queries: 0.447 secondsNumber of clients running queries: 100Average number of queries per client: 10 User time 2.83, System time 1.66Maximum resident set size 0, Integral resident set size 0Non-physical pagefaults 34692, Physical pagefaults 0, Swaps 0Blocks in 0 out 0, Messages in 0 out 0, Signals 0Voluntary context switches 87306, Involuntary context switches 10326 MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap –help可以获得可用的选项, –auto-generate-sql, -a自动生成测试表和数据   –auto-generate-sql-load-type=type测试语句的类型。取值包括:read,key,write,update和mixed(默认)。 –number-char-cols=N, -x N自动生成的测试表中包含多少个字符类型的列,默认1 –number-int-cols=N, -y N自动生成的测试表中包含多少个数字类型的列,默认1 –number-of-queries=N总的测试查询次数(并发客户数×每客户查询次数) –query=name,-q使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。 –create-schema测试的schema,MySQL中schema也就是database –commint=N多少条DML后提交一次 –compress, -C如果服务器和客户端支持都压缩,则压缩信息传递 –concurrency=N, -c N并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者–delimiter参数指定的值做为分隔符   –engine=engine_name, -e engine_name创建测试表所使用的存储引擎,可指定多个 –iterations=N, -i N测试执行的迭代次数 –detach=N执行N条语句后断开重连 –debug-info, -T打印内存和CPU的信息 –only-print只打印测试语句而不实际执行  作者 bengda bitsCN.com

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? PHP의 CURL 라이브러리를 사용하여 JSON 데이터가 포함 된 게시물 요청을 보내는 방법은 무엇입니까? Apr 01, 2025 pm 03:12 PM

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? 램프 아키텍처에서 Node.js 또는 Python 서비스를 효율적으로 통합하는 방법은 무엇입니까? Apr 01, 2025 pm 02:48 PM

많은 웹 사이트 개발자는 램프 아키텍처에서 Node.js 또는 Python 서비스를 통합하는 문제에 직면 해 있습니다. 기존 램프 (Linux Apache MySQL PHP) 아키텍처 웹 사이트 요구 사항 ...

APSCHEDULER 타이밍 작업을 MACOS의 서비스로 구성하는 방법은 무엇입니까? APSCHEDULER 타이밍 작업을 MACOS의 서비스로 구성하는 방법은 무엇입니까? Apr 01, 2025 pm 06:09 PM

Apscheduler 타이밍 작업을 MacOS 플랫폼의 서비스로 구성하십시오. Ngin과 유사한 APSCHEDULER 타이밍 작업을 서비스로 구성하려면 ...

Langchain에서는 AgentExecutor를 사용하여 비활성화 된 초기화 _agent 함수를 어떻게 대체합니까? Langchain에서는 AgentExecutor를 사용하여 비활성화 된 초기화 _agent 함수를 어떻게 대체합니까? Apr 01, 2025 pm 04:18 PM

Langchain에서 비활성화 초기화 _agent 함수를 교체하는 방법은 무엇입니까? Langchain 도서관에서 초기화 _agent ...

파이썬 매개 변수 주석이 문자열을 사용할 수 있습니까? 파이썬 매개 변수 주석이 문자열을 사용할 수 있습니까? Apr 01, 2025 pm 08:39 PM

파이썬 프로그래밍에서 Python 매개 변수 주석의 대체 사용법, 매개 변수 주석은 개발자가 기능을 더 잘 이해하고 사용하는 데 도움이되는 매우 유용한 기능입니다 ...

Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Linux 시스템에서 Python 통역사를 삭제할 수 있습니까? Apr 02, 2025 am 07:00 AM

Linux 시스템과 함께 제공되는 Python 통역사를 제거하는 문제와 관련하여 많은 Linux 배포판이 설치 될 때 Python 통역사를 사전 설치하고 패키지 관리자를 사용하지 않습니다 ...

데비안에서 MongoDB의 고 가용성을 보장하는 방법 데비안에서 MongoDB의 고 가용성을 보장하는 방법 Apr 02, 2025 am 07:21 AM

이 기사는 데비안 시스템에서 고도로 사용 가능한 MongoDB 데이터베이스를 구축하는 방법에 대해 설명합니다. 우리는 데이터 보안 및 서비스가 계속 운영되도록하는 여러 가지 방법을 모색 할 것입니다. 주요 전략 : ReplicaSet : ReplicaSet : 복제품을 사용하여 데이터 중복성 및 자동 장애 조치를 달성합니다. 마스터 노드가 실패하면 복제 세트는 서비스의 지속적인 가용성을 보장하기 위해 새 마스터 노드를 자동으로 선택합니다. 데이터 백업 및 복구 : MongoDump 명령을 정기적으로 사용하여 데이터베이스를 백업하고 데이터 손실의 위험을 처리하기 위해 효과적인 복구 전략을 공식화합니다. 모니터링 및 경보 : 모니터링 도구 (예 : Prometheus, Grafana) 배포 MongoDB의 실행 상태를 실시간으로 모니터링하고

Debian의 PostgreSQL 모니터링 방법 Debian의 PostgreSQL 모니터링 방법 Apr 02, 2025 am 07:27 AM

이 기사는 데비안 시스템에서 PostgresQL 데이터베이스를 모니터링하는 다양한 방법과 도구를 소개하여 데이터베이스 성능 모니터링을 완전히 파악할 수 있도록 도와줍니다. 1. PostgreSQL을 사용하여 빌드 인 모니터링보기 PostgreSQL 자체는 데이터베이스 활동 모니터링 활동을위한 여러보기를 제공합니다. PG_STAT_REPLICATION : 특히 스트림 복제 클러스터에 적합한 복제 상태를 모니터링합니다. PG_STAT_DATABASE : 데이터베이스 크기, 트랜잭션 커밋/롤백 시간 및 기타 주요 지표와 같은 데이터베이스 통계를 제공합니다. 2. 로그 분석 도구 PGBADG를 사용하십시오

See all articles