import java.time.Duration;
import java.time.LocalDateTime;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;
import java.util.concurrent.atomic.AtomicInteger;
public class CountExample {
private static final int clientTotal = 5000;
private static final int threadTotal = 8;
private static AtomicInteger count = new AtomicInteger(0);
public static void main(String... args) {
ExecutorService executorService = Executors.newFixedThreadPool(threadTotal);
final CountDownLatch latch = new CountDownLatch(clientTotal);
final Semaphore semaphore = new Semaphore(threadTotal);
LocalDateTime start = LocalDateTime.now();
for (int i = 0; i < clientTotal; i++) {
executorService.execute(() -> {
try {
semaphore.acquire();
add();
System.out.println(String.format("add() invoked by %s => %d", Thread.currentThread().getName(), count.get()));
semaphore.release();
latch.countDown();
} catch (InterruptedException e) {
e.printStackTrace();
}
});
}
try {
latch.await();
LocalDateTime end = LocalDateTime.now();
System.out.println(String.format("cost time millis : %d", Duration.between(start, end).toMillis()));
executorService.shutdown();
System.out.println(String.format("count:%d", count.intValue()));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void add() {
count.getAndIncrement();
}
}
分享到:
相关推荐
模拟微信支付场景,方便支付压力测试 不提供结算+账单下载等详细操作 只是提供简单的入口测试
webbench:Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设置的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用...
介绍:Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL, 测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
对http服务简单模拟并发压测,思路是在脚本中使用wget发起http并发请求
go 实现的压测工具,每个用户用一个协程的方式模拟,最大限度的利用 CPU 资源 1.2 项目体验 可以在 mac/linux/windows 不同平台下执行的命令 压测工具下载地址 参数说明: -c 表示并发数 -n 每个并发执行请求的次数...
Webbench:Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设置的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用...
测试CMPP协议的客户端,使用简单。支持下行、上行和长短信。
Web Bench 是用于对 WWW 或代理服务器进行基准测试的非常简单的工具。使用 fork() 模拟多个客户端,可以使用 HTTP/0.9-HTTP/1.1 请求。这个基准测试不是很现实,但它可以测试您的 HTTPD 是否真的可以一次处理那么多...
moco是一个简单搭建模拟服务器的程序库/工具,主要用于测试集成,moco-runner-0.11.1-standalone。
然而,这些工具中有许多只是简单的HTML/SOAP生成器,它们模拟许多客户机连接,并因此对Web服务器生成高负载。这些工具对基本的压力测试比较有用,但它们经常是仅仅扩展功能验证阶段来重复地执行相同的功能任务。如果...
使用 nodejs 的快速而肮脏的 SMPP 测试器包装器。要安装它: npm ichmod +x smppln -s $(pwd)/smpp /usr/local/bin 运行它: ip=smpp.example....
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。 ## 依赖 ctags ## 使用...
mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用。该工具可以模拟多个客户端同时并发的向服务器...
JMeter模拟压测简单案例, 详细步骤见https://blog.csdn.net/weixin_43575868/article/details/108731214
Moco是一个简单搭建模拟服务器的程序库/工具,这个基于 Java 开发的开源项目,可做简单挡板程序,性能压测挡板程序,支持时间延迟设置
Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
代码仅供参考学习!...一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL, 测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。
Webbench 是一个在 linux 下使用的非常简单的网站压测工具。它使用 fork ()模拟多个客户端同时访问我们设定的 URL,测试网站在压力下工作的性能,最多可以模拟 3 万个并发连接去测试网站的负载能力。Webbench 使用...
HammerDB是基于TPCC的测试模型的开源的数据库压力测试的基准工具,...Hammerdb模拟了标准的TPC-C和TPC-H两种测试模型。相比于标准的TPC-C和TPC-H,Hammerdb运行成本低,操作简单, 是服务器数据库压力测试的很好选择。
一、Webbench简单介绍 在一个网站上线前, 通常我们应该做一些...Apache的优点:Apache的ab使用非常简单, 而且只要是安装了Apache了,会自带其ab工具,缺点:是不能模拟高并发状态下的测试, 好像多可以模拟100-200