목차
1. 성능 지표 개요
2. 지표 계산 방법
2.1 TPS
2.2 QPS
2.3 IOPS
3.mysqlslap
3.1 스트레스 테스트
3.2 케이스
데이터 베이스 MySQL 튜토리얼 MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

May 26, 2023 pm 06:41 PM
mysql tps qps

1. 성능 지표 개요

QPS(Queries Per Second)는 데이터베이스의 경우 초당 데이터베이스에서 실행되는 SQL 수(삽입, 선택, 업데이트, 삭제 포함)입니다. 등.).
TPS(초당 트랜잭션 수)는 초당 트랜잭션 수입니다. 데이터베이스의 경우 TPS는 성공적인 커밋 수를 기준으로 초당 데이터베이스에서 실행되는 트랜잭션 수입니다.
IOPS 초당 디스크가 수행하는 I/O 작업 수

2. 지표 계산 방법

2.1 TPS

는 innodb Transactions Per Second(초당 전송되는 트랜잭션 수)에 적용됩니다. 초당 서버에서 처리되는 트랜잭션 수
일반적으로 평가 시스템 성능은 초당 완료된 기술 트랜잭션 수로 측정됩니다. 시스템의 전체 처리 능력은 처리 능력이 가장 낮은 모듈의 TPS 값에 따라 달라집니다

mysql> SHOW GLOBAL STATUS LIKE 'Com_commit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_commit    | 22402 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> SHOW GLOBAL STATUS LIKE 'Com_rollback';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_rollback  | 0     |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SHOW GLOBAL STATUS LIKE 'Uptime'
    -> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime        | 3319  |
+---------------+-------+
1 row in set (0.01 sec)
TPS=(Com_commit + Com_rollback)/Uptime
로그인 후 복사

MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

2.2 QPS

InnoDB와 MyISAM 모두 적용 가능 초당 엔진 쿼리 속도 QPS는 지정된 시간 내의 특정 쿼리 서버 트래픽 측정은 초당 응답 요청 수인 fetches/sec에 해당하며, 이는 최대 처리 용량

MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

2.3 IOPS

IOPS(Input/Output Per Per 둘째) 초당 입출력량(또는 읽기 및 쓰기 횟수)은 디스크 성능을 나타내는 주요 지표 중 하나이다. IOPS는 시스템이 단위 시간당 처리할 수 있는 I/O 요청 수를 의미하며 일반적으로 초당 처리되는 I/O 요청 수로 측정됩니다. 일반적으로 I/O 요청은 읽기 또는 쓰기 데이터 작업 요청입니다. OLTP(온라인 트랜잭션 처리)와 같이 무작위 읽기 및 쓰기가 자주 발생하는 애플리케이션의 경우 IOPS는 주요 측정 지표입니다. 또 다른 중요한 지표는 단위 시간당 성공적으로 전송할 수 있는 데이터의 양을 나타내는 데이터 처리량(Throughput)입니다. VOD(주문형 비디오)와 같이 순차적 읽기 및 쓰기 수가 많은 애플리케이션의 경우 처리량 표시기에 더 많은 주의를 기울입니다. IOPS는 다음 지표로 세분화될 수 있습니다. 총 IOPS, 혼합 읽기-쓰기 및 순차 무작위 I/O 로드 조건에서의 디스크 IOPS,
이는 실제 I/O 상황과 가장 일치하며 대부분의 애플리케이션은 이 지표에 중점을 둡니다.
임의 읽기 IOPS, 100% 무작위 읽기 로드 미만의 IOPS.
임의 쓰기 IOPS, 100% 임의 쓰기 로드 미만의 IOPS.
순차 읽기 IOPS, 100% 순차 읽기 로드 미만의 IOPS.
순차 쓰기 IOPS, 100% 순차 쓰기 로드 미만의 IOPS.
주요 IOPS 테스트 벤치마크 도구에는 Iometer, IoZone, FIO 등이 포함되어 있으며 다양한 상황에서 디스크의 IOPS를 테스트하는 데 포괄적으로 사용할 수 있습니다. 애플리케이션 시스템의 경우 먼저 데이터의 로드 특성을 결정한 다음 측정 및 비교 분석을 위한 합리적인 IOPS 지표를 선택하고 이에 따라 적절한 저장 미디어 및 소프트웨어 시스템을 선택해야 합니다.

理论上可以计算出磁盘的最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略数据传输时间。假设磁盘平均物理寻道时间为3ms, 磁盘转速为7200,10K,15K rpm,则磁盘IOPS理论最大值分别为,
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200
로그인 후 복사

3.mysqlslap

3.1 스트레스 테스트

mysqlslap은 부하 성능 테스트 및 스트레스 테스트를 위해 MySQL과 함께 제공되는 도구입니다. 데이터베이스에 압력을 가하는 여러 클라이언트를 시뮬레이션하고 보고서를 생성하여 데이터베이스 성능을 이해할 수 있습니다.
mysqlslap의 실행 과정은 크게 3가지 단계로 나누어집니다.
① 라이브러리와 테이블을 생성하고 테스트용 데이터를 가져옵니다. 이 프로세스는 단일 스레드에 의해 수행됩니다.
② 스트레스 테스트를 시작합니다. 이 단계는 여러 스레드를 사용하여 수행할 수 있습니다.
③ 테스트 데이터를 정리합니다. 이 프로세스는 단일 스레드에 의해 수행됩니다.

[root@jeames ~]# mysqlslap --help

MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

3.2 케이스

mysqlslap -uroot -proot -h292.168.1.54 -P3306 \
--create-schema=mysqlslap --auto-generate-sql \
--auto-generate-sql-load-type=mixed \
--concurrency=100,200 --number-of-queries=1000 \
--iterations=10 --number-int-cols=7 \
--number-char-cols=13 --auto-generate-sql-add-autoincrement

Benchmark
#运行所有语句的平均时间,单位秒
Average number of seconds to run all queries: 0.018 seconds
#运行所有语句的最小秒数
Minimum number of seconds to run all queries: 0.018 seconds
#运行所有语句的最大秒数
Maximum number of seconds to run all queries: 0.018 seconds
#客户端数量
Number of clients running queries: 1
#每个客户端运行查询的平均数
Average number of queries per client: 0

该语句表示测试并发为 100 和 200 的情况,进行 1000 次访问(该值一般这样预估出来:并发客户数×每客户查询次数)。这样的测试方法迭代 10 次,最终显示最大、
最小、平均值
其中:--debug-info,代表要额外输出 CPU 以及内存的相关信息。如果报错 Option 'debug-info' used, but is disabled 请取消 debug-info 参数
-number-int-cols=7 表示生成的表中必须有 7 个 int 类型的列
-number-char-cols=13 表示生成的表中必须有 13 个 char 类型的列
-concurrency 代表并发数量,多个可以用逗号隔开,concurrency=10,50,100, 并发连接线程数分别是 10、50、100 个并发。
--engines 代表要测试的引擎,可以有多个,用分隔符隔开。
--iterations 代表要运行这些测试多少次。
--auto-generate-sql 代表用系统自己生成的 SQL 脚本来测试。
--auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)
--number-of-queries 代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。
--debug-info 代表要额外输出 CPU 以及内存的相关信息。
--number-int-cols :创建测试表的 int 型字段数量
--auto-generate-sql-add-autoincrement : 代表对生成的表自动添加 auto_increment 列,从 5.1.18 版本开始
--number-char-cols 创建测试表的 char 型字段数量。
--create-schema 测试的 schema,MySQL 中 schema 也就是 database。
--query 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者 sql 语句来执行测试。
--only-print 查看语句做了什么。
로그인 후 복사

MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석

위 내용은 MySQL 성능 지표 TPS+QPS+IOPS 스트레스 테스트 예시 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MySQL : 초보자를위한 데이터 관리의 용이성 MySQL : 초보자를위한 데이터 관리의 용이성 Apr 09, 2025 am 12:07 AM

MySQL은 설치가 간단하고 강력하며 데이터를 쉽게 관리하기 쉽기 때문에 초보자에게 적합합니다. 1. 다양한 운영 체제에 적합한 간단한 설치 및 구성. 2. 데이터베이스 및 테이블 작성, 삽입, 쿼리, 업데이트 및 삭제와 같은 기본 작업을 지원합니다. 3. 조인 작업 및 하위 쿼리와 같은 고급 기능을 제공합니다. 4. 인덱싱, 쿼리 최적화 및 테이블 파티셔닝을 통해 성능을 향상시킬 수 있습니다. 5. 데이터 보안 및 일관성을 보장하기위한 지원 백업, 복구 및 보안 조치.

MySQL : 쉽게 학습하기위한 간단한 개념 MySQL : 쉽게 학습하기위한 간단한 개념 Apr 10, 2025 am 09:29 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

phpmyadmin을 여는 방법 phpmyadmin을 여는 방법 Apr 10, 2025 pm 10:51 PM

다음 단계를 통해 phpmyadmin을 열 수 있습니다. 1. 웹 사이트 제어판에 로그인; 2. phpmyadmin 아이콘을 찾고 클릭하십시오. 3. MySQL 자격 증명을 입력하십시오. 4. "로그인"을 클릭하십시오.

Navicat Premium을 만드는 방법 Navicat Premium을 만드는 방법 Apr 09, 2025 am 07:09 AM

Navicat Premium을 사용하여 데이터베이스 생성 : 데이터베이스 서버에 연결하고 연결 매개 변수를 입력하십시오. 서버를 마우스 오른쪽 버튼으로 클릭하고 데이터베이스 생성을 선택하십시오. 새 데이터베이스의 이름과 지정된 문자 세트 및 Collation의 이름을 입력하십시오. 새 데이터베이스에 연결하고 객체 브라우저에서 테이블을 만듭니다. 테이블을 마우스 오른쪽 버튼으로 클릭하고 데이터 삽입을 선택하여 데이터를 삽입하십시오.

MySQL 및 SQL : 개발자를위한 필수 기술 MySQL 및 SQL : 개발자를위한 필수 기술 Apr 10, 2025 am 09:30 AM

MySQL 및 SQL은 개발자에게 필수적인 기술입니다. 1.MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템이며 SQL은 데이터베이스를 관리하고 작동하는 데 사용되는 표준 언어입니다. 2.MYSQL은 효율적인 데이터 저장 및 검색 기능을 통해 여러 스토리지 엔진을 지원하며 SQL은 간단한 문을 통해 복잡한 데이터 작업을 완료합니다. 3. 사용의 예에는 기본 쿼리 및 조건 별 필터링 및 정렬과 같은 고급 쿼리가 포함됩니다. 4. 일반적인 오류에는 구문 오류 및 성능 문제가 포함되며 SQL 문을 확인하고 설명 명령을 사용하여 최적화 할 수 있습니다. 5. 성능 최적화 기술에는 인덱스 사용, 전체 테이블 스캔 피하기, 조인 작업 최적화 및 코드 가독성 향상이 포함됩니다.

Navicat에서 MySQL에 새로운 연결을 만드는 방법 Navicat에서 MySQL에 새로운 연결을 만드는 방법 Apr 09, 2025 am 07:21 AM

응용 프로그램을 열고 새로운 연결 (Ctrl n)을 선택하여 Navicat에서 새로운 MySQL 연결을 만들 수 있습니다. "MySQL"을 연결 유형으로 선택하십시오. 호스트 이름/IP 주소, 포트, 사용자 이름 및 비밀번호를 입력하십시오. (선택 사항) 고급 옵션을 구성합니다. 연결을 저장하고 연결 이름을 입력하십시오.

SQL이 행을 삭제 한 후 데이터를 복구하는 방법 SQL이 행을 삭제 한 후 데이터를 복구하는 방법 Apr 09, 2025 pm 12:21 PM

백업 또는 트랜잭션 롤백 메커니즘이없는 한 데이터베이스에서 직접 삭제 된 행 복구는 일반적으로 불가능합니다. 키 포인트 : 거래 롤백 : 트랜잭션이 데이터를 복구하기 전에 롤백을 실행합니다. 백업 : 데이터베이스의 일반 백업을 사용하여 데이터를 신속하게 복원 할 수 있습니다. 데이터베이스 스냅 샷 : 데이터베이스의 읽기 전용 사본을 작성하고 데이터를 실수로 삭제 한 후 데이터를 복원 할 수 있습니다. 주의해서 삭제 명령문을 사용하십시오. 실수로 데이터를 삭제하지 않도록 조건을주의 깊게 점검하십시오. WHERE 절을 사용하십시오 : 삭제할 데이터를 명시 적으로 지정하십시오. 테스트 환경 사용 : 삭제 작업을 수행하기 전에 테스트하십시오.

단일 스레드 레 디스를 사용하는 방법 단일 스레드 레 디스를 사용하는 방법 Apr 10, 2025 pm 07:12 PM

Redis는 단일 스레드 아키텍처를 사용하여 고성능, 단순성 및 일관성을 제공합니다. 동시성을 향상시키기 위해 I/O 멀티플렉싱, 이벤트 루프, 비 블로킹 I/O 및 공유 메모리를 사용하지만 동시성 제한 제한, 단일 고장 지점 및 쓰기 집약적 인 워크로드에 부적합한 제한이 있습니다.

See all articles