175 lines
5.8 KiB
TypeScript
175 lines
5.8 KiB
TypeScript
// import { Client } from './Client';
|
||
// import 'mocha';
|
||
// import { PinusWSClient } from 'pinus-robot-plugin';
|
||
// import async from 'async';
|
||
|
||
// describe('共鸣', function () {
|
||
// let pinusClient: PinusWSClient;
|
||
// let roleInfo;
|
||
|
||
// before(function (done) {
|
||
// const c = new Client();
|
||
// const timer = setInterval(() => {
|
||
// if (c.client) {
|
||
// pinusClient = c.client;
|
||
// roleInfo = c.roleInfo;
|
||
// clearInterval(timer);
|
||
// done();
|
||
// }
|
||
// }, 500);
|
||
// });
|
||
|
||
// after(function (done) {
|
||
// pinusClient.disconnect();
|
||
// // disconnect 后等待 500ms,供服务器清理环境、退出频道等
|
||
// setTimeout(() => {
|
||
// done();
|
||
// }, 500);
|
||
// });
|
||
|
||
// it('', function (done) {
|
||
// const NUM_CONCURRENT_REQUESTS = 10; // 设置并发请求数
|
||
// let totalRequests = 0; //总共请求数量
|
||
// let successfulRequests = 0; //成功数据
|
||
|
||
// function makeRequest(callback) {
|
||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||
// totalRequests++;
|
||
// if (result && result.code == 0) {
|
||
// successfulRequests++;
|
||
// }
|
||
// callback();
|
||
// });
|
||
// }
|
||
|
||
// async.times(NUM_CONCURRENT_REQUESTS, (n, next) => {
|
||
// makeRequest(next);
|
||
// }, (err) => {
|
||
// if (err) {
|
||
// console.error('Error in making requests:', err);
|
||
// } else {
|
||
// console.log('Test completed.');
|
||
// console.log('Total requests:', totalRequests);
|
||
// console.log('Successful requests:', successfulRequests);
|
||
// console.log('QPS:', totalRequests);
|
||
// }
|
||
|
||
// // Cleanup and disconnect
|
||
// // pinusClient.disconnect();
|
||
// });
|
||
// // done();
|
||
// })
|
||
// });
|
||
|
||
import { Client } from './Client';
|
||
import 'mocha';
|
||
import { PinusWSClient } from 'pinus-robot-plugin';
|
||
import async from 'async';
|
||
|
||
describe('共鸣', function () {
|
||
let pinusClient: PinusWSClient;
|
||
let roleInfo;
|
||
|
||
before(function (done) {
|
||
const c = new Client();
|
||
const timer = setInterval(() => {
|
||
if (c.client) {
|
||
pinusClient = c.client;
|
||
roleInfo = c.roleInfo;
|
||
clearInterval(timer);
|
||
done();
|
||
}
|
||
}, 500);
|
||
});
|
||
|
||
after(function (done) {
|
||
pinusClient.disconnect();
|
||
// disconnect 后等待 500ms,供服务器清理环境、退出频道等
|
||
setTimeout(() => {
|
||
done();
|
||
}, 500);
|
||
});
|
||
|
||
// 在测试开始前记录开始时间
|
||
const startTime = Date.now();
|
||
|
||
// it('', function (done) {
|
||
// const NUM_CONCURRENT_REQUESTS = 7;
|
||
// let totalRequests = 0;
|
||
// let successfulRequests = 0;
|
||
|
||
// function makeRequest(callback, requestNumber) {
|
||
// const timerName = `RequestTime_${requestNumber}`;
|
||
// console.time(timerName); // 开始计时
|
||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||
// console.timeEnd(timerName); // 结束计时并输出耗时
|
||
// totalRequests++;
|
||
// if (result && result.code == 0) {
|
||
// successfulRequests++;
|
||
// }
|
||
// callback();
|
||
// });
|
||
// }
|
||
|
||
// async.times(NUM_CONCURRENT_REQUESTS, (n, next) => {
|
||
// makeRequest(() => {
|
||
// next();
|
||
// }, n);
|
||
// }, (err) => {
|
||
// if (err) {
|
||
// console.error('Error in making requests:', err);
|
||
// } else {
|
||
// // 在测试结束后记录结束时间
|
||
// const endTime = Date.now();
|
||
// const testDuration = (endTime - startTime- 500) / 1000; // 将毫秒转换为秒
|
||
// console.log('testDuration', endTime - startTime)
|
||
// const qps = totalRequests / testDuration;
|
||
|
||
// console.log('Test completed.');
|
||
// console.log('Total requests:', totalRequests);
|
||
// console.log('Successful requests:', successfulRequests);
|
||
// console.log('QPS:', qps);
|
||
// }
|
||
// done();
|
||
// });
|
||
// });
|
||
|
||
|
||
|
||
// it('', function (done) {
|
||
// const NUM_CONCURRENT_REQUESTS = 10;
|
||
// const REQUEST_INTERVAL = 125; // 125毫秒的间隔
|
||
// let totalRequests = 0;
|
||
// let successfulRequests = 0;
|
||
// let currentRequest = 0;
|
||
|
||
// function makeRequest(callback, requestNumber) {
|
||
// const timerName = `RequestTime_${requestNumber}`;
|
||
// console.time(timerName); // 开始计时
|
||
// pinusClient.request('role.resonanceHandler.getData', {}, (result) => {
|
||
// console.timeEnd(timerName); // 结束计时并输出耗时
|
||
// totalRequests++;
|
||
// if (result && result.code == 0) {
|
||
// successfulRequests++;
|
||
// }
|
||
// callback();
|
||
// });
|
||
// }
|
||
|
||
// function sendNextRequest() {
|
||
// if (currentRequest < NUM_CONCURRENT_REQUESTS) {
|
||
// makeRequest(() => {
|
||
// currentRequest++;
|
||
// setTimeout(sendNextRequest, REQUEST_INTERVAL); // 添加间隔并继续下一个请求
|
||
// if (currentRequest === NUM_CONCURRENT_REQUESTS) {
|
||
// // 最后一个请求完成后调用 done()
|
||
// done();
|
||
// }
|
||
// }, currentRequest);
|
||
// }
|
||
// }
|
||
|
||
// sendNextRequest(); // 开始第一个请求
|
||
// });
|
||
});
|