kbmMW 5.08.01压力测试报告

上图为客户端测试结果,运行14小时,无异常报告。基于洞主封装的HttpsysTransport,基于ClientQuery完成25万多次数据库访问操作,含查询并对查询结果进行修改及增加新记录,然后提交操作。客户端64线程同时访问,基于kbmMW Scheduler实现的定时线程,每10秒发起一次访问。(朋友说线程少,主要原因这个Server还在生产中,多了影响客户端App的反应速度,影响人员正常操作)。
附压力测试的内容:
procedure TMainForm.query;
var
bsf: TkbmMWBinaryStreamFormat; // 建立独立实现,确保线程安全
q: TkbmMWClientQuery;
i: Integer;
msg: string;
begin
bsf:=TkbmMWBinaryStreamFormat.Create(nil);
q:=TkbmMWClientQuery.Create(nil);
try
try
q.QueryService:='QueryService';
q.QueryServiceVersion:='1.0';
q.SessionName:='test';
q.TableName:='t1';
q.KeyFields:='f1';
q.TransportStreamFormat:=bsf;
q.query.Text:='select top 100 * from t1';
q.Open;
while not q.Eof do
begin
q.Edit;
q.FieldByName('f2').AsString:=RandomRange(, ).ToString;
q.Post;
q.Next;
end; for i := to do
begin
q.Append;
q.FieldByName('f1').AsString := kbmMWGenerateShortGUID;
q.FieldByName('f2').AsString := RandomRange(, ).ToString;
q.FieldByName('f3').AsString := RandomRange(, ).ToString;
q.Post;
end;
q.Resolve;
// finally
// q.Unlock;
// end;
except
on E: Exception do
begin
// ApplicationShowException(E); //显示异常,避免应用闪退
msg:=E.Message;
TThread.Queue(nil,
procedure
begin
mmo1.Lines.Add(msg);
end);
end;
end;
finally
bsf.DisposeOf;
q.DisposeOf;
end;
end;

上图为服务端运行截图,系统正常运行,无异常产生,内存占用正常,线程数正常。测试通过!

无异常产生截图。
停止客户端测试,退出正常,无泄漏。
停止服务端,退出正常,无泄漏。
从本次测试结果看,非常完美与稳定!可以说kbmMW 5.08.10是一个可以信赖的版本。
另外还要提及,本次测试是基于uniDAC Direct DB,即直联数据库方式联接MSSQLServer,说明现在我的服务端稳定支持直联数据库了!
Delphi版本:10.3.1
kbmMW版本:5.08.10
继续增加测试:

开启三客户端,每客户端64线程,用64*3=192线程模拟用户操作。连续运行超过12小时,晚6点到早8点。上图为停止服务器截图。
由于数据库性能原因,出现已超过了锁请求超时时段。错误,如下图:

下图为客户端截图:

每客户端完成近20W次操作,共近60次操作。本次测试出现错误,为数据库返回的错误信息:已超过了锁请求超时时段。。
完成本次测试后,服务端与客户端都正常,无异常反应。进一步说:服务端内存占用正常,线程占用正常,所提供服务正常,可以停止,重启服务,退出服务端正常。
又是一次完美测试!
kbmMW 5.08.01压力测试报告的更多相关文章
- http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html
http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html
- jmeter压力测试报告 - DEMO
XXX压力测试报告 时间:2015-08-04 测试人员:xxx 目录 XXX压力测试报告... 1 一 测试 ...
- kbmMW 5.08.10试用报告
1.不兼容Android 基于5.07的项目,升级到5.08,不能编译android app.已经反应给作者.作者回复将近快发布fixed,修正这个问题及其他发现的问题. 5.08.01解决了andr ...
- jmeter压力测试报告
XXX压力测试报告 时间:2015-08-04 测试人员:xxx 目录 XXX压力测试报告... 1 一 测试 ...
- 2021.08.01 P4359 伪光滑数(二叉堆)
2021.08.01 P4359 伪光滑数(二叉堆) [P4359 CQOI2016]伪光滑数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 若一个大于 11 的整数 MM ...
- 2021.08.01 P4311 数字序列(左偏树)
2021.08.01 P4311 数字序列(左偏树) [P4331 BalticOI 2004]Sequence 数字序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1 ...
- 2021.08.01 P3377 左偏树模板
2021.08.01 P3377 左偏树模板 P3377 [模板]左偏树(可并堆) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> ...
- [原]一个针对LVS的压力测试报告
LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...
- 深入浅出HTTP请求(转自http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html)
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务 器)请 ...
随机推荐
- PHP引用赋值
<?php/** * 在PHP 中引用的意思是用不同的名字访问同一个变量内容 * 只有有名字的变量才可以引用赋值,否则会报错 * 引用赋值 不是在内存上同体,只是把各自的值关联起来 * unse ...
- 利用phpqrcode二维码生成类库和imagecopymerge函数制拼接图片的经验
前期准备 引入phpqrcode类库(下载地址:https://sourceforge.net/projects/phpqrcode/) PHP开启GD扩展库支持 1.利用phpqrcode生成二维码 ...
- SWUST OJ(955)
单链表上查找算法的实现 #include <stdio.h> #include <stdlib.h> typedef struct LinkNode //单链表节点结构的定义 ...
- oracle 自动备份
此次操作是每分钟备份一张表到新表(测试) 准备: 有一张表name是test 注意事项: 1.任务中调用需要显示声明权限 AUTHID CURRENT_USER 或赋予相应权限 2.单独调用过程成功, ...
- 【LeetCode】区间合并
给定一组区间,将所有区间重叠的部分合并起来. e.g. 给出 { [1, 3], [2, 6], [8, 10], [15, 18] },返回 { [1, 6], [8, 10], [15, 18] ...
- python assert使用说明
python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假. assert断言语句的语法格式 判断a与1.b是否一致,msg类似备注 ...
- NOSQL -- mongoDB的了解与安装(Wins10)
NOSQL -- mongoDB的了解与安装 首先看看什么是nosql: 我的理解:非关系型数据库,大多是以map形式存储,map<key,value>,适合存储,查询.redis也是no ...
- Linux中环境变量文件
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- noip2016组合数问题
题目描述 组合数 Cnm 表示的是从 n 个物品中选出 m 个物品的方案数.举个例子,从 (1,2,3) 三个物品中选择两个物品可以有(1,2),(1,3),(2,3) 这三种选择方法.根据组合数的 ...
- python字符串内建函数