上图为客户端测试结果,运行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压力测试报告的更多相关文章

  1. http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

    http://www.cnblogs.com/stephen-liu74/archive/2012/08/01/2561557.html

  2. jmeter压力测试报告 - DEMO

    XXX压力测试报告 时间:2015-08-04                                             测试人员:xxx 目录 XXX压力测试报告... 1 一  测试 ...

  3. kbmMW 5.08.10试用报告

    1.不兼容Android 基于5.07的项目,升级到5.08,不能编译android app.已经反应给作者.作者回复将近快发布fixed,修正这个问题及其他发现的问题. 5.08.01解决了andr ...

  4. jmeter压力测试报告

    XXX压力测试报告 时间:2015-08-04                                             测试人员:xxx 目录 XXX压力测试报告... 1 一  测试 ...

  5. 2021.08.01 P4359 伪光滑数(二叉堆)

    2021.08.01 P4359 伪光滑数(二叉堆) [P4359 CQOI2016]伪光滑数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 若一个大于 11 的整数 MM ...

  6. 2021.08.01 P4311 数字序列(左偏树)

    2021.08.01 P4311 数字序列(左偏树) [P4331 BalticOI 2004]Sequence 数字序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1 ...

  7. 2021.08.01 P3377 左偏树模板

    2021.08.01 P3377 左偏树模板 P3377 [模板]左偏树(可并堆) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> ...

  8. [原]一个针对LVS的压力测试报告

    LVS 测试报告 测试计划 基本功能测试 流量压力测试 响应时间测试 配置正确性测试 灾难恢复测试 测试点 基本功能测试 客户端IP地址正确性 RealServer 访问Internet测试(包括Ip ...

  9. 深入浅出HTTP请求(转自http://www.cnblogs.com/yin-jingyu/archive/2011/08/01/2123548.html)

    HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务 器)请 ...

随机推荐

  1. grid 用于同一用例在不同测试环境下的测试结果

    步骤: 1.http://www.seleniumhp.org/download   下载selenium standalone server 2.配置java环境 3.运行selenium serv ...

  2. pytorch初步学习(一):数据读取

    最近从tensorflow转向pytorch,感受到了动态调试的方便,也感受到了一些地方的不同. 所有实验都是基于uint16类型的单通道灰度图片. 一开始尝试用opencv中的cv.imread读取 ...

  3. python-day76--django-中间件

    什么是中间件?中间件应用场景?和装饰器区别? 中间件 对于所有批量的请求用中间件合适,而对于某些请求个数少用装饰器合适 - 中间件是什么? - 是一个类 - 方法名必须是process_request ...

  4. 数据结构与算法之PHP实现队列、栈

    一.队列 1)队列(Queue)是一种先进先出(FIFO)的线性表,它只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头.即入队只能从队尾入,出队 ...

  5. 【转】Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)

    E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对I ...

  6. suffix word cy dom faction ful fold form out1

    1★cy ﹎﹎﹎﹎性质,状态 2★ dom ﹎﹎﹎﹎领域,范围     1★ faction ﹎﹎﹎﹎达到什么样的状态 2★ ful ﹎﹎﹎﹎满,量 *******有~的 3★ fold ﹎﹎﹎﹎双, ...

  7. Oracle 如何循环查询结果集,进行新增或修改

    Oracle的PL/SQL中怎样循环查询的结果集,然后根据查询结果进行判断,是新增或修改操作 loop循环例子 for item in (select a,b,c from table_a where ...

  8. oracle 如何查看当前用户的表空间名称

    如何查询当前用户的表空间名称?因为oracle建立索引,需要知道当前用户的表空间,查找了一下资料 --查询语法-- select default_tablespace from dba_users w ...

  9. linux nginx 添加到全局变量中(环境变量)

    ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ /usr/local/bin/就是环境变量目录

  10. 【转】java提高篇(二)-----理解java的三大特性之继承

    [转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...