tpcc压力测试mysql和 ab压力测试云服务器

 mysql性能测试工具——tpcc-mysql

在centos7.9上安装的
下载源码包,解压安装
# tar xf tpcc-mysql-src.tar
# cd tpcc-mysql/src
# yum  install gcc  mysql-devel  -y
# make

会生成两个二进制工具tpcc_load(提供初始化数据的功能)和tpcc_start(进行压力测试)
[root@nfs-server src]# cd ..
[root@nfs-server tpcc-mysql]# ls
add_fkey_idx.sql  drop_cons.sql  schema2  tpcc_load
count.sql         load.sh        scripts  tpcc_start
create_table.sql  README         src
3、tpcc测试前准备,初始化数据库
在其他的服务器上连接到mysql服务器上创建tpcc库
需要在测试的服务器上创建tpcc的库
docker exec -it cs bash
mysql -uroot -p’sc@123456’
create database tpcc;
exit exit 
[root@docker tpcc-mysql]# pwd
/root/tpcc-mysql   当前所在的文件夹
[root@docker tpcc-mysql]# ls
add_fkey_idx.sql  create_table.sql  load.sh  schema2  src        tpcc_start
count.sql         drop_cons.sql     README   scripts  tpcc_load
远程连接数据库指令:mysql -h 192.168.159.142 -P 3309 -uroot -p'sc@123456'
[root@docker tpcc-mysql]# mysql -h 192.168. 159.142 -P 3309 -uroot -p'sc@123456'  tpcc  < create_table.sql   在tpcc库里导入表
[root@docker tpcc-mysql]# mysql -h 192.168. 159.142 -P 3309 -uroot -p'sc@123456' tpcc  < add_fkey_idx.sql   建立外键和索引

4、加载数据
注意:server是要测试的服务器,db,user,password是要测的服务器上mysql的信息
./tpcc_load [server] [db] [user] [password] [warehouse]
                  服务器名 数据库名 用户名 密码 仓库数量
./tpcc_load 192.168.159.142:3309 tpcc root 'sc@123456' 150真实测试中,数据库仓库一般不少于100个,如果配置了ssd,建议最少不低于1000个
5.真正模拟去访问数据库,测试性能
[root@docker tpcc-mysql]# ./tpcc_start -h 192.168.159.142 -P 3309 -d tpcc -u root -p sc@123456 -w 10 -c 12 -r 10 -l 60 -f test0.log -t test1.log - >test0.out(输出会重定向到test0.out 存放测试的结果) 模拟对100个仓库(-w 100),并发128个线程(-c 128),预热5分钟(-r 300),持续压测1小时(-l 3600)



-w warehouses :仓库数量
-c connections:并发线程数(建议大一点 100 模拟同时一百个人访问)
-r warmup_time:指定预热时间,以秒为单位,默认是 10 秒,主要目的是为了将数据加载到内存。
-l running_time:指定测试执行的时间,以秒为单位,默认是 20 秒。
-i report_interval:指定生成报告的间隔时间。
-f report_file:将测试中各项操作的记录输出到指定文件内保存。
-t trx_file:输出更详细的操作信息到指定文件内保存。


6. 去看容器的资源消耗 docker stats  并在宿主机里使用top查看cpu和内存的消耗

TPCC测试结果的主要指标
事务吞吐量(Transactions Per Minute, TPM):衡量数据库系统处理事务能力的关键指标,表示系统每分钟能够完成的事务数量。高吞吐量表明系统能够高效地处理大量并发事务。
响应时间(Response Time):表示系统处理单个事务所需的时间。
通常关注90%或99%的事务的响应时间,即90%或99%的事务都能在多少时间内完成。
较短的响应时间意味着系统能够更快地响应用户请求。
事务成功率:表示成功完成的事务占总事务数的比例。
高成功率表明系统稳定运行,错误率低。
测试结果分析
在TPCC测试结果中,通常会包含以下几个关键部分:
热身阶段(Ramp-Up Time):测试开始前准备阶段,用于预热系统,确保系统达到稳定状态。
测量阶段:实际测试阶段,系统按照预定的负载运行,并收集各项性能指标。
结果输出:测试完成后系统输出详细测试结果,包括吞吐量、响应时间、事务成功率等。
ECS弹性伸缩云服务器 elastic cloud server
云服务器的配置上cpu 内存 磁盘等资源可以调整

如何想再次测试看到效果
需要去删除tpcc库,然后重新导入表和索引数据
TPCC 测试要求下面状态必须为 OK
<Constraint Check> (all must be [OK])
 [transaction percentage]
        Payment: 43.48% (>=43.0%) [OK]   # 要求支付业务占比
   Order-Status: 4.35% (>= 4.0%) [OK]    # 要求支付业务占比
       Delivery: 4.35% (>= 4.0%) [OK]    # 物流相关业务占比
    Stock-Level: 4.35% (>= 4.0%) [OK]    # 库存相关业务占比
 [response time (at least 90% passed)]   #都ok

ab测试工具用来测试网站压力

[root@docker tpcc-mysql]# yum  install httpd-tools -y
docker run -d -p 9900:80  --name liu-nginx --cpu-shares 200  -m 50000000 nginx

安全组: 本质是一个防火墙软件  ---》阻止客户机访问服务器
        需要在服务器里打开相关端口号,客户机才可以访问
        默认只是允许访问22号端口
        开发9900端口

[root@docker tpcc-mysql]# ab -c 100  -n 10000 http://8.219.110.232:9900/ (100个用户同时进行10000个进程 可逐步增大看最大承受能力)
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 8.219.110.232 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 10000 requests
Finished 10000 requests

Server Software:        nginx/1.25.2
Server Hostname:        8.219.110.232
Server Port:            9900

Document Path:          /
Document Length:        615 bytes

Concurrency Level:      100
Time taken for tests:   101.462 seconds
Complete requests:      10000
Failed requests:        0
Write errors:           0
Total transferred:      8480000 bytes
HTML transferred:       6150000 bytes
Requests per second:    98.56 [#/sec] (mean)
Time per request:       1014.620 [ms] (mean)
Time per request:       10.146 [ms] (mean, across all concurrent requests)
Transfer rate:          81.62 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      238  627 2073.2    271   15375
Processing:   238  282  79.4    270    2783
Waiting:      238  281  77.7    269    2782
Total:        478  909 2074.6    542   16209

Percentage of the requests served within a certain time (ms)
  50%    542
  66%    557
  75%    571
  80%    583
  90%    699
  95%   1535
  98%   7576
  99%  15587
 100%  16209 (longest request)


微服务:micro service 需要使用容器 尽量将某个服务独立出来 在一个容器里跑

1.IaaS
基础设施即服务,Infrastructure as a Service
基础设施: 就是服务器,就是电脑
提供买服务器给其他的客户的服务 --》阿里云、腾讯云、AWS、华为云等

2. PaaS
平台即服务,Platform-as-a-Service
把服务器平台作为一种服务提供的商业模式。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。
买平台给别人使用的,平台里有很多的软件
区块链平台、存储的平台、cdn等

多媒体数据处理平台及服务
Media PaaS  --》语言识别、图像识别等 https://www.qiniu.com/
3. SaaS
软件即服务,Software-as-a-Service
软件即服务,应用模式是基于互联网提供软件服务。如daydao是PaaS平台,但是里面提供的HR、CRM、OA等产品服务属于SaaS。
买软件给其他的人使用
4.serverless ---》直接使用人家的容器平台,将自己的程序代码租用别人的容器去运行,云厂商按照使用时长和算力来收费,企业不需要购买服务器了。  server 服务器 less 没有
5.微服务: 微小的服务
微服务(或称微服务架构)是一种云各架构方法,它把一个大的应用程序拆分成一组小的服务,每个服务都是一个单独的、独立部署的进程。这些服务可以使用不同的语言和框架进行开发,并且通过轻量级的通信协议进行交互。

微服务的核心思想是将应用程序的不同功能模块分解成更小的、独立的服务,每个服务都负责特定的业务功能或业务流程。这些服务可以独立地进行开发、部署、扩展和管理,它们之间通过松耦合的方式进行交互和通信。

微服务的优点包括:
易于开发和维护:每个微服务的功能和代码都是独立的,可以由不同的团队进行开发和维护,使得开发更加高效和灵活。
提高了可扩展性:每个微服务都可以独立地进行扩展,只需要对需要扩展的服务进行升级和部署,而不需要对整个应用程序进行重新部署和测试。
提高容错性:当某个服务出现故障时,不会影响其他服务的正常运行,从而提高了系统的可用性和稳定性。
便于持续集成和持续部署:每个微服务都可以独立地进行测试和部署,使得持续集成和持续部署变得更加容易和快速。
然而,微服务架构也带来了一些挑战,例如分布式系统的复杂性、服务间通信的开销、数据一致性的维护等。因此,在采用微服务架构时需要充分考虑这些因素,并进行合理的设计和管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3269468.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础I/O之文件描述符fd 重定向(下)

目录 四、文件描述符 4.1 文件描述符的内核本质 4.2 文件描述符的分配规则 五、重定向 四、文件描述符 在回忆起上述知识后&#xff0c;那么文件描述符到底是什么呢&#xff1f; 我们不难注意到&#xff0c;刚刚的open接口系统调用接口其实是有返回值的&#xff08;一个int…

FTP(File Transfer Protocal,文件传输协议)

文章目录 引言FTP管理工具FTP客户端FTP连接模式控制连接数据连接FTP命令/响应FTP命令FTP响应FTPSSFTP引言 FTP(File Transfer Protocal,文件传输协议)用于建立两台主机间的数据文件传输下载。使用客户/服务器(Client/Server)架构,基于TCP协议,服务端口为21。 FTP链接…

17.延迟队列

介绍 延迟队列&#xff0c;队列内部是有序的&#xff0c;延迟队列中的元素是希望在指定时间到了以后或之前取出和处理。 死信队列中&#xff0c;消息TTL过期的情况其实就是延迟队列。 使用场景 1.订单在十分钟内未支付则自动取消。 2.新创建的店铺&#xff0c;如果十天内没…

行锁表锁都是渣渣,元数据锁才是隐藏大佬

什么是元数据锁&#xff1f; 英文名叫Metadata Lock&#xff0c;缩写为MDL&#xff0c;顾名思义&#xff0c;它是针对元数据的一种锁&#xff0c;锁的是元数据。 那什么是元数据&#xff1f; 一张表有100条记录&#xff0c;这里的记录我们可以称之为表数据&#xff0c;一张表…

深入了解:MinIO 企业对象存储的可观察性

可观测性是指收集信息&#xff08;跟踪、日志、指标&#xff09;&#xff0c;以提高性能、可靠性和可用性为目标。很少有人能确定其中一个事件的根本原因。通常情况下&#xff0c;当我们将这些信息关联起来形成叙述时&#xff0c;我们就会有更好的理解。从一开始&#xff0c;Mi…

7.27扣...

知识点补充&#xff1a; 1.StringBuilder StringBuilder 类在 Java 中是一个可变字符序列。与 String 类不同&#xff0c;StringBuilder 可以在创建之后被修改。这意味着你可以向 StringBuilder 对象追加、插入或删除字符&#xff0c;而不需要创建新的对象&#xff08;辅助数…

池化层pytorch最大池化练习

神经网络构建 class Tudui(nn.Module):def __init__(self):super(Tudui, self).__init__()self.maxpool1 MaxPool2d(kernel_size3, ceil_modeFalse)def forward(self, input):output self.maxpool1(input)return output Tensorboard 处理 writer SummaryWriter("./l…

F4A0手把手教程1: 华大单片机HC32F4A0如何新建工程(ddl库版本)

开发板请点击&#xff1a;https://item.taobao.com/item.htm?spma21n57.1.item.3.5fc760c3ycChCu&priceTId2150418a17219238749041878ec06d&utparam%7B%22aplus_abtest%22:%222166044947a45798ae4c3d102fcea719%22%7D&id707262644934&ns1&abbucket20 准备…

高速板开源工程的学习(一)

泰山派NAS-原理图和PCB设计经验分享-塞塞哇 (saisaiwa.com) BGA扇出的时候千万小心&#xff0c;导线到焊盘的距离大于0.1MM,千万小心&#xff0c;不然会寄寄的&#xff0c;这个在设计规则里面可以设置&#xff1a; 这种就容易造成阻焊开窗的误判&#xff0c;是很不规范的&…

PyTorch+AlexNet代码实训

参考文章&#xff1a;https://blog.csdn.net/red_stone1/article/details/122974771 数据集&#xff1a; 打标签&#xff1a; import os# os.path.join: 每个参数都是一个路径段&#xff0c;将它们连接起来形成有效的路径名。 train_txt_path os.path.join("data"…

浅谈HOST,DNS与CDN

首先这个是网络安全的基础&#xff0c;需得牢牢掌握。 1.什么是HOST HOSTS文件&#xff1a; 定义&#xff1a; HOSTS文件是一个操作系统级别的文本文件&#xff0c;通常位于操作系统的系统目录中&#xff08;如Windows系统下的C:\Windows\System32\drivers\etc\hosts&#xf…

java数据结构(1):集合框架,时间,空间复杂度,初识泛型

目录 一 java数据结构的集合框架 1.什么是数据结构 2.集合框架 2.1什么是集合框架&#xff1a; 1. 接口 (Interfaces) 2. 实现类 (Implementations) 3. 算法 (Algorithms) 4. 并发集合 (Concurrent Collections) 2.2集合框架的优点&#xff1a; 二 时间和空间复杂度 …

请你谈谈:spring AOP的浅显认识?

在Java面向对象编程中&#xff0c;解决代码重复是一个重要的目标&#xff0c;旨在提高代码的可维护性、可读性和复用性。你提到的两个步骤——抽取成方法和抽取类&#xff0c;是常见的重构手段。然而&#xff0c;正如你所指出的&#xff0c;即使抽取成类&#xff0c;有时仍然会…

【Redis宕机啦!】Redis数据恢复策略:RDB vs AOF vs RDB+AOF

文章目录 Redis宕机了&#xff0c;如何恢复数据为什么要做持久化持久化策略RDBredis.conf中配置RDBCopy-On-Write, COW快照的频率如何把握优缺点 AOFAOF日志内容redis.conf中配置AOF写回策略AOF日志重写AOF重写会阻塞吗优缺点 RDB和AOF混合方式总结 Redis宕机了&#xff0c;如何…

Spring Bean - xml 配置文件创建对象

类型&#xff1a; 1、值类型 2、null &#xff08;标签&#xff09; 3、特殊符号 &#xff08;< -> < &#xff09; 4、CDATA <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/bea…

分布式锁的三种实现方式:Redis、基于数据库和Zookeeper

分布式锁的实现 操作共享资源&#xff1a;例如操作数据库中的唯一用户数据、订单系统、优惠券系统、积分系统等&#xff0c;这些系统需要修改用户数据&#xff0c;而多个系统可能同时修改同一份数据&#xff0c;这时就需要使用分布式锁来控制访问&#xff0c;防止数据不一致。…

最新爆火的开源AI项目 | LivePortrait 本地安装教程

LivePortrait 本地部署教程&#xff0c;强大且开源的可控人像AI视频生成 1&#xff0c;准备工作&#xff0c;本地下载代码并准备环境&#xff0c;运行命令前需安装git 以下操作不要安装在C盘和容量较小的硬盘&#xff0c;可以找个大点的硬盘装哟 2&#xff0c;需要安装FFmp…

项目开发实战案例 —— Spring Boot + MyBatis + Hibernate + Spring Cloud

作者简介 我是本书的作者&#xff0c;拥有多年Java Web开发经验&#xff0c;致力于帮助更多开发者快速掌握并运用Java Web技术栈中的关键框架和技术。本书旨在通过实战案例的方式&#xff0c;带领读者深入理解并实践Spring Boot、MyBatis、Hibernate以及Spring Cloud等热门技术…

2-46 基于matlab的声音信号的短时能量、短时过零率、端点检测

基于matlab的声音信号的短时能量、短时过零率、端点检测。通过计算计算短时能量、调整能量门限&#xff0c;然后开始端点检测。输出可视化结果。程序已调通&#xff0c;可直接运行。 2-46 短时能量 短时过零率 端点检测 - 小红书 (xiaohongshu.com)

Vue element ui分页组件示例

https://andi.cn/page/621615.html