rabbitmq单机安装及性能测试

RabbitMQ(五):RabbitMQ性能测试 TODO 阅读详情

RabbitMQ单机安装及性能测试

本文使用CentOS7.9安装RabbitMQ单机环境,并进行性能测试。

1. 安装RabbitMQ

RabbitMQ依赖Erlang,版本配套关系参考官网:https://www.rabbitmq.com/docs/which-erlang。

本文安装RabbitMQ3.8.21,Erlang版本要求为23.2~24.2。

# 卸载通过yum源安装的erlang,版本不满足
$ sudo yum remove erlang-*
# 安装erlang
$ sudo yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel
$ sudo mkdir /usr/local/erlang
$ wget https://github.com/erlang/otp/releases/download/OTP-23.3.4.20/otp_src_23.3.4.20.tar.gz
$ tar xf otp_src_23.3.4.20.tar.gz
$ cd otp_src_23.3.4.20/
$ sudo ./configure --prefix=/usr/local/erlang
$ sudo make && sudo make install
# 配置环境变量
$ sudo vim /etc/profile
#########   添加如下内容   ###############
PATH=$PATH:/usr/local/erlang/bin
$ sudo source /etc/profile
# 查看erlang版本
$ sudo erl -version
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 11.2.2.18

# 安装rabbitmq-server
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.21/rabbitmq-server-generic-unix-3.8.21.tar.xz
$ tar xf rabbitmq-server-generic-unix-3.8.21.tar.xz
$ sudo mv rabbitmq_server-3.8.21/  /usr/local/

# 添加环境变量
$ sudo vim /etc/profile
export RABBITMQ_HOME=/usr/local/rabbitmq_server-3.8.21/sbin
export PATH=$RABBITMQ_HOME:$PATH

# 重载一下环境变量
$ sudo source /etc/profile
 
# 添加web管理插件
$ sudo rabbitmq-plugins enable rabbitmq_management

# 找到rabbitmq.conf.example和advanced.config.example文件,将.example去掉,拷贝到/usr/local/rabbitmq_server-3.8.21/etc/rabbitmq目录下。
# 配置文件实例:https://www.rabbitmq.com/docs/configure#config-file
$ mv rabbitmq.conf.example rabbitmq.conf
$ mv advanced.config.example advanced.config

# 修改rabbitmq.conf文件,取消注释如下两行(91、97行),并将geust从loopback_users中移除。
$ sudo vim rabbitmq.conf
{loopback_users, []},
loopback_users.guest = false

# 后台启动
$ sudo rabbitmq-server -detached

# 停止
$ sudo rabbitmqctl stop

2. PerfTest测试Rabbitmq性能

2.1 PerfTest安装

PerfTest也是从Bintray和GitHub发布的二进制版本库中分发的。如果需要将它作为库,也可以在Maven Central上使用。

参考:

官网:https://perftest.rabbitmq.com/

GitHub:https://github.com/rabbitmq/rabbitmq-perf-test/releases

Maven Central: https://central.sonatype.com/artifact/com.rabbitmq/perf-test

# 下载解压
$ wget https://github.com/rabbitmq/rabbitmq-perf-test/releases/download/v2.20.0/rabbitmq-perf-test-2.20.0-bin.zip
$ unzip rabbitmq-perf-test-2.20.0-bin.zip
$ cd rabbitmq-perf-test-2.20.0/bin/
# 帮助文档
$ ./runjava com.rabbitmq.perf.PerfTest --help
usage: <program>
 -?,--help                           show usage
 -A,--multi-ack-every <arg>          multi ack every
 -a,--autoack                        auto ack
 -ad,--auto-delete <arg>             should the queue be auto-deleted,
                                     default is true
 -B,--body <arg>                     comma-separated list of files to use
                                     in message bodies
 -b,--heartbeat <arg>                heartbeat interval
 -C,--pmessages <arg>                producer message count
 -c,--confirm <arg>                  max unconfirmed publishes
 -ct,--confirm-timeout <arg>         waiting timeout for unconfirmed
                                     publishes before failing (in seconds)
 -D,--cmessages <arg>                consumer message count
 -d,--id <arg>                       test ID
 -e,--exchange <arg>                 exchange name
 -f,--flag <arg>                     message flag
 -H,--uris <arg>                     connection URIs (separated by commas)
 -h,--uri <arg>                      connection URI
 -i,--interval <arg>                 sampling interval in seconds
 -K,--random-routing-key             use random routing key per message
 -k,--routing-key <arg>              routing key
 -L,--consumer-latency <arg>         consumer latency in microseconds
 -l,--legacy-metrics                 display legacy metrics (min/avg/max
                                     latency)
 -M,--framemax <arg>                 frame max
 -m,--ptxsize <arg>                  producer tx size
 -ms,--use-millis                    should latency be collected in
                                     milliseconds, default is false. Set to true if producers are consumers run
                                     on different machines.
 -n,--ctxsize <arg>                  consumer tx size
 -o,--output-file <arg>              output file for timing results
 -p,--predeclared                    allow use of predeclared objects
 -Q,--global-qos <arg>               channel prefetch count
 -q,--qos <arg>                      consumer prefetch count
 -qa,--queue-args <arg>              queue arguments as key/pair values,
                                     separated by commas
 -R,--consumer-rate <arg>            consumer rate limit
 -r,--rate <arg>                     producer rate limit
 -S,--slow-start                     start consumers slowly (1 sec delay
                                     between each)
 -s,--size <arg>                     message size in bytes
 -sb,--skip-binding-queues           don't bind queues to the exchange
 -T,--body-content-type <arg>        body content-type
 -t,--type <arg>                     exchange type
 -u,--queue <arg>                    queue name
 -udsc,--use-default-ssl-context     use JVM default SSL context
 -X,--producer-channel-count <arg>   channels per producer
 -x,--producers <arg>                producer count
 -Y,--consumer-channel-count <arg>   channels per consumer
 -y,--consumers <arg>                consumer count
 -z,--time <arg>                     run duration in seconds (unlimited by
                                     default)

2.2 测试rabbitmq性能

# 使用2个发布者和4个消费者,消费者自动确认。测试10s
$ ./runjava com.rabbitmq.perf.PerfTest -x 2 -y 4 -u "throughput-test-2" -a --id "test 2" -z 10
id: test 2, starting consumer #0
id: test 2, starting consumer #0, channel #0
id: test 2, starting consumer #1
id: test 2, starting consumer #1, channel #0
id: test 2, starting consumer #2
id: test 2, starting consumer #2, channel #0
id: test 2, starting consumer #3
id: test 2, starting consumer #3, channel #0
id: test 2, starting producer #0
id: test 2, starting producer #0, channel #0
id: test 2, starting producer #1
id: test 2, starting producer #1, channel #0
id: test 2, time 1.003 s, sent: 127999 msg/s, received: 15782 msg/s, min/median/75th/95th/99th consumer latency: 5713/307891/402582/528289/582712 µs
id: test 2, time 2.001 s, sent: 131113 msg/s, received: 26712 msg/s, min/median/75th/95th/99th consumer latency: 492458/927258/1076558/1200196/1224838 µs
id: test 2, time 3.002 s, sent: 70270 msg/s, received: 27921 msg/s, min/median/75th/95th/99th consumer latency: 1231947/1636103/1762087/1911254/1961337 µs
id: test 2, time 4.004 s, sent: 65868 msg/s, received: 32514 msg/s, min/median/75th/95th/99th consumer latency: 1871274/2289855/2447511/2573695/2638878 µs
id: test 2, time 5.010 s, sent: 71051 msg/s, received: 47652 msg/s, min/median/75th/95th/99th consumer latency: 2558754/2876891/2982484/3254060/3317619 µs
id: test 2, time 6.002 s, sent: 59422 msg/s, received: 61646 msg/s, min/median/75th/95th/99th consumer latency: 2759697/3160876/3333301/3550598/3577079 µs
id: test 2, time 7.002 s, sent: 51860 msg/s, received: 62923 msg/s, min/median/75th/95th/99th consumer latency: 2821628/3221174/3346806/3479463/3500692 µs
id: test 2, time 8.001 s, sent: 69568 msg/s, received: 64028 msg/s, min/median/75th/95th/99th consumer latency: 2815461/3220554/3359531/3509414/3540637 µs
id: test 2, time 9.001 s, sent: 60874 msg/s, received: 56448 msg/s, min/median/75th/95th/99th consumer latency: 2810135/3187379/3422998/3547960/3569557 µs
id: test 2, time 10.006 s, sent: 52246 msg/s, received: 58175 msg/s, min/median/75th/95th/99th consumer latency: 2871297/3260717/3463882/3582327/3608431 µs
id: test 2, time 11.001 s, sent: 2.0 msg/s, received: 60551 msg/s, min/median/75th/95th/99th consumer latency: 2933013/3275629/3448953/3585931/3630662 µs
id: test 2, time 12.001 s, sent: 0 msg/s, received: 70372 msg/s, min/median/75th/95th/99th consumer latency: 2767204/3282635/3474078/3678657/3719987 µs
id: test 2, time 13.001 s, sent: 0 msg/s, received: 65454 msg/s, min/median/75th/95th/99th consumer latency: 2552693/3090484/3276141/3544581/3585066 µs
test stopped (Reached time limit)
id: test 2, sending rate avg: 58506 msg/s
id: test 2, receiving rate avg: 49985 msg/s
id: test 2, consumer latency min/median/75th/95th/99th 14918/3156722/3342902/3541320/3615540 µs
$ bin/runjava com.rabbitmq.perf.PerfTest -x 2 -y 4 -u "throughput-test-2" -a --id "test 2"

# 将消费者切换到手动确认:
$ ./runjava com.rabbitmq.perf.PerfTest -x 1 -y 2 -u "throughput-test-3" --id "test 3"

# 修改将消息大小从默认(12字节)更改为4 kB:
$ ./runjava com.rabbitmq.perf.PerfTest -x 1 -y 2 -u "throughput-test-4" --id "test 4" -s 4000

# 使用持久队列和持久消息:
$ ./runjava com.rabbitmq.perf.PerfTest -x 1 -y 2 -u "throughput-test-5" --id "test-5" -f persistent

# 队列数400,生产者200,消费者200,消息大小12bytes(默认),消息自动确认,持久化,持续生产消费5分钟。建议测试客户端和被测试机器分开部署。
$ ./runjava com.rabbitmq.perf.PerfTest -x 200 -y 200 -u "max-throughput-test" -s 12 -a --id "test 2" -z 300 -f persistent
id: test 2, sending rate avg: 116797 msg/s
id: test 2, receiving rate avg: 29674 msg/s
id: test 2, consumer latency min/median/75th/95th/99th 7504371/104831283/114120030/121894266/124635729 µs
JMeter RabbitMQ性能测试实战:从插件安装到高级调优 在微服务架构中,消息队列是实现系统解耦和异步通信的核心组件,其性能直接影响系统的整体稳定性和吞吐量。AMQP(高级消息队列协议)作为RabbitMQ等主流消息中间件的通信基础,定义了消息的生产、路由、消费和确认机制。理解其工作原理,是进行有效性能测试的前提。通过性能测试,可以评估消息队列在高并发下的吞吐量、延迟和可靠性,从而为容量规划、瓶颈定位和架构优化提供数据支撑。JMeter作为广泛使用的性能测试工具,通过扩展插件能够模拟AMQP客户端行为,实现对RabbitMQ的全链路压测。本文聚焦于JMeter R 阅读详情

相关推荐

【调优案例】rabbitMQ压测

线上RabbitMQ因数据上报接口大量请求导致消息队列积压超过300W条而崩溃。解决方案包括确认数据库配置、服务器依赖及并发数据,优化业务逻辑中数据上报至消费的流程。压测显示当生产者速率超过3200时,消费速率急剧下降。建议配置流控或增加消费节点,调整RabbitMQ内存水位线,关闭持久化和ACK机制以提升性能。此外,需清理服务器环境,释放内存及IO资源,确保压测环境纯净。最终通过合理配置和资源优化解决消息积压问题。

sysu_lluozh 2万+

RabbitMQ压力测试之perf-test

一、Perf-Test介绍 perf-test是基于java客户端的可模拟基本工作负载的工具,有额外的工具可以输出成HTML图形,它能够对RabbitMQ单节点和集群进行性能测试。 二、Perf-Test安装 1.下载地址: https://github.com/rabbitmq/rabbitmq-perf-test/releases Linux平台-二进制包 rabbitmq-perf-test-2.15.0-bin.tar.gz Windows平台-zip压缩包 perf-test_l

出发之前永远是梦想,上路之后永远是挑战。 4659

RabbitMQ性能测试报告

RabbitMQ性能测试报告,对rabbitmq容器内的单机模式和集群模式进行了压力测试盒稳定性测试。

RabbitMQ—性能测试

线上环境出现问题,由于某数据上报接口的大量请求,导致rabbitmq的消息队列中Ready消息超过300W条,rabbitmq挂掉 一、信息确认 确认线上数据库配置 线上数据库几主几从,多少个分库 数据库配置文件须和线上保持一致(bin_log) 数据库容量应和线上环境一致 确认服务器是否有第三方系统依赖 最大多少个线程生产消息和最大多少个线程消费消息 确认线上并发数据 线上最大TPS 线上最大线程数 二、业务逻辑 客户端HTTP上报数据 adapt接收数据,解析并封装数据 ada

sanmi8276的博客 3823

论文、报告中那些乱七八糟的图(甘特图、卡吉图,桑基图,小提琴图,弦图,螺旋图,风玫瑰图)

在一些论文或报告中,总是会看到一些熟悉的图,但作者总是不能好好说话,非得搞个洋名字、缩写字或者半洋半中的词来显示它多么高大上,有时候这种故弄玄虚、华而不实的写法也实在是让人看了不伦不类,图首先是让读者更容易看懂的,不是让你来故作高深、玩玄学的。

David_jiang 9427

代谢组+微生物组联合分析实战:从样本处理到生物标志物筛选的完整流程

本文详细介绍了代谢组与微生物组联合分析的全流程,从样本采集、处理到生物标志物筛选的科学实践。重点解析了样本类型匹配、共提取技术、质控协同监控及多维度关联分析方法,帮助研究者系统掌握这一前沿技术,为疾病机制研究和精准医疗提供新视角。

weixin_28335283的博客 216

RabbitMQ - 性能测试工具使用:JMeter 压测 RabbitMQ 实战

RabbitMQ性能测试实战指南 本文详细介绍了使用JMeter对RabbitMQ进行性能测试的全过程。主要内容包括: 测试必要性:明确RabbitMQ性能测试的四大核心指标(吞吐量、延迟、资源消耗、稳定性) 环境搭建: Docker部署RabbitMQ服务 JMeter安装配置 RabbitMQ插件安装 核心概念:图解AMQP模型,说明生产者、消费者、交换机、队列等关键组件 实战测试: 生产者压测:配置连接、动态消息生成、结果监控 消费者压测:队列绑定、消息确认机制、持续消费配置 优化建议:提供测试前的官

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

FPGA开发者必看:如何用SATA3.0主机控制器IP实现高速存储扩展(附Xilinx实测数据)

本文为FPGA开发者提供了基于SATA3.0主机控制器IP核的高速存储方案设计与优化指南。通过详细解析IP核架构、Xilinx FPGA平台集成实战及性能优化技巧,帮助开发者实现接近理论极限的540MB/s数据传输速度。文章还包含常见问题解决方案和高级应用场景拓展,是硬件工程师提升存储性能的必备参考。

weixin_30632089的博客 114

JMeter RabbitMQ插件安装与性能压测实战指南

消息队列是分布式系统中实现服务解耦、异步通信和流量削峰的核心组件,其性能直接影响系统稳定性。AMQP作为高级消息队列协议,为可靠消息传递提供了标准。为了评估消息中间件在高并发下的表现,性能压测成为关键环节。Apache JMeter作为主流的开源负载测试工具,通过插件扩展可支持多种协议测试。本文聚焦于JMeter RabbitMQ测试插件的实战应用,详细解析其安装部署、测试计划编写及高级场景配置。通过模拟真实流量,可精准获取RabbitMQ的吞吐量、延迟等关键指标,帮助开发与运维团队在上线前识别瓶颈、优化配

anjichan4261的博客 739

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

MEG预处理-Brainstorm

Brainstorm下载和安装 去Brainstorm官网进行下载:打开网页后,点击左侧Download;在跳出来的界面中进行简单的注册,注册完成后可以进行下载 解压后得到“brainstorm3”的文件夹,里面包含Brainstorm工具包的所有文件,把这个文件夹放在某个路径如"E:\matlab_tools\brainstorm3"即可 同样在某个路径建立空的文件夹命名为:brainstorm_db用于工具包运行过程中自动存储生成的文件,所以这个文件中生成的数据不要手动移动删除 在Matlab中,把.

AxeChen的博客 6124

RabbitMQ消息队列(十二)-性能测试

RabbitMQ消息队列(十二)-性能测试 硬件配置 宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态。在宿主机上使用的事esxi5.5的虚拟化平台,在子系统中安装RabbitMQ和测试脚本,RabbitMQ配置如下: CPU:24核 内存:24GB 硬盘:24GB固态 确定哪些参数可能影响性能:进程数、是否持久化、是否ac...

平头哥(Adger)的博客 331

【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

Tesseract_9527的博客 3375

rabbitmq的性能测试与对比,高可用集群搭建

说明:这里提供了简单的压测与高可用集群思路,因为时间问题,笔者并没有详细测试并搭建高可用集群。 rabbitMq压测方案 rabbitmq压测性能代码 public class Send2 { //消息队列名称 private final static String QUEUE_NAME = "helloword2"; public static void mai...

进化的深山猿 3894

72、海洋地理信息系统:电子海图的全面解析

本文全面解析了海洋地理信息系统中的电子海图技术,从AIS数据的应用、电子海图数据的存储与显示,到电子导航的发展趋势和S-100通用水文数据模型的推广,系统地阐述了电子海图在现代航海中的核心作用及其未来发展方向。

hhh00的博客 252

CAN总线数据采集与分析

在CAN总线数据采集中,数据采集是指从CAN网络中获取数据,并将其存储在本地或远程数据库中。数据源:明确数据源,如CAN总线、CANoe/CANalyzer工具等。数据格式:确定数据格式,如CAN消息、信号值、环境变量等。数据存储:选择数据存储方式,如本地文件、数据库、云存储等。在CAN总线数据分析中,数据分析是指对采集到的数据进行处理和分析,以提取有用的信息。数据处理:对采集到的数据进行处理,如滤波、去噪、归一化等。数据分析:对处理后的数据进行分析,如统计分析、趋势分析、故障诊断等。数据可视化。

闲人编程的博客 4042

(十二)RabbitMQ消息队列-性能测试

(十二)RabbitMQ消息队列-性能测试 原文:(十二)RabbitMQ消息队列-性能测试 硬件配置 宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态。在宿主机上使用的事esxi5...

weixin_30412577的博客 279

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

FATE联邦学习框架安装与运行实战:从单机部署到任务跑通

联邦学习作为隐私计算的核心技术,通过多方数据不出域联合建模,在金融、医疗等领域应用广泛。其工程实现依赖框架支撑,FATE是主流开源联邦学习框架,提供横向、纵向联邦等场景的工程化封装。掌握FATE的安装部署与任务运行,是落地联邦学习的关键一步。本文基于实战经验,详细梳理FATE框架的环境准备、依赖安装、单机部署、服务启动及任务提交全流程,并总结常见问题排查方法,帮助开发者快速跑通首个联邦学习任务。

weixin_42530570的博客 287

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

RabbitMQ客户端参数性能测试(1)

RabbitMQ性能调优测试(1) 作者: Coffee  时间: October 28, 2015  分类: java,分布式 最近我在公司上线了rabbitmq,替换了原来阿里出的rocketmq(别说我黑阿里的东西,这玩意真的都是坑),我并不想告诉你rabbitmq安装过程是怎么样的,去看官网就知道,戳这里 看看网上说rabbitmq效率多高多高,但是怎么测试也只有15

coffee_hc的专栏 4547

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

debian rabbitmq离线安装_Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比

【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>>前言在分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。概念MQ简介MQ,Message queue,消息队列,就是指保存消息的一个容器。具体的定义这里就不类似于数据库、缓存等,用来...

weixin_33178839的博客 214

架构师日记——Kafka、RabbitMQ、RocketMQ等消息中间件的对比

原文:http://jm.taobao.org/2016/04/01/kafka-vs-rabbitmq-vs-rocketmq-message-send-performance/?utm_source=tuicool&amp;utm_medium=referral 分布式系统中,我们广泛运...

饥渴计科极客杰铿的博客 6543

电商秒杀系统实战:RabbitMQ集群安装与性能调优

上可以快速验证,他们的云环境能一键部署RabbitMQ集群,省去了本地搭建测试环境的麻烦。我实际操作发现从安装到配置监控看板,整个流程比传统方式快很多,特别适合需要快速验证架构方案的场景。对于电商这类高并发系统,提前做好消息队列的性能测试和调优,能避免上线后的很多问题。我们采用"exactly"模式,设置副本数为2,这样即使一个节点宕机,消息也不会丢失。经过几轮测试和调优,总结出一套RabbitMQ集群的高可用方案,分享几个关键实战经验。特别是秒杀场景,设置合理的队列长度能避免内存爆满。

StarfallRaven13的博客 957

Kafka、RabbitMQ、RocketMQ

Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能和区别 Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集...

u014156013的博客 488

Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比

前言分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强?带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 KafkaKafka是LinkedIn开源的分布式发布-订阅...

weixin_30838873的博客 87
上一篇: JSON及Python操作JSON相关
下一篇: web服务器性能测试
KongTY312
博客等级 码龄12年 2143粉丝 189原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KongTY312

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值