uniGUI试用笔记(十)
今天用LoadRunner对uniGUI的Standalone模式的程序进行了一次压力测试,程序采用三层模式,将应用服务器与Web服务器分离,由于条件限制,数据库、应用服务和Web服务都部署在同一条云服务器上,客户端使用IE浏览器,如下图:
,
云服务器配置:CPU 4核 内存8G 硬盘500G 带宽10Mbps
客户端为笔记本电脑,i7 8核,内存16G,硬盘1T,客户端带宽20Mbps
先用LoadRunner纪录一组操作,包括操作员登录、打开结算单列表,大约900条纪录分页显示,点击第一条纪录,打开结算单明细列表页面,大约包含了300条明细纪录,分页显示,点击第一条明细纪录弹出窗体显示明细详细内容,然后依次关闭各个窗体并退出程序。
在LoadRunner的脚本中,看到大约有40多个动作,如下图:

虚拟100个客户端,连续3分钟测试,结果报告如下图:

报告显示:
(1)共模拟出动作数2.5万多次,平均每秒80次左右。
(2)网络流量最高时1.3Mbyte/s,平均876KByte/s,与服务器的上行带宽吻合。
(3)错误http_404有500来次,产生原因不明确,不知道是否和网络带宽有关,因为此时应用服务器程序还在为其他客户端提供应用服务,共同抢占带宽。
(4)在云服务器上通过任务管理器观察到uniGUI的Web服务程序内存最高峰大约160M,在所有客户端关闭后,逐渐回到了20M左右,应用服务器占用内存最高约200M。
结论:
uniGUI应用程序在Standalone模式下性能表现还是不错,应该符合作者说的:性能取决于硬件条件。
uniGUI试用笔记(十)的更多相关文章
- uniGUI试用笔记(十五)通过URL控制参数
通过URL代入参数,在代码中读取,如: http://localhost:8501/?ServerPort=212&&ServerIP=192.168.31.12 在代码中可以通过: ...
- uniGUI试用笔记(十四)TUniTreeView的CheckBox
TUniTreeView目前版本没有封装CheckBox功能,所以需要手工处理,幸好0.99版提供部分代码了,修改过程如下: 1.uniGUIAbstractClasses.pas单元中修改基类TUn ...
- uniGUI试用笔记(十三)调用WebService
今天尝试用uniGUI做Web服务器,调用应用服务器的WebService,遇到些问题记录下来备忘. 1.对WebService的调用同一般App程序,只是注意如果WebService的执行时间较长, ...
- uniGUI试用笔记(十一)
最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了. TuniDBGrid的重要属性包括: 1.列—TUniDBGridColumns和TUniDBGridColumn 每个列对象( ...
- uniGUI试用笔记(九)
uniGUI执行程序部署有3种形式 1.ISAPI模式 部署在IIS或Apache,程序编译为Dll形式,没有试,准备后续专门测试一下. 2.标准执行文件模式 将软件编译成一个独立的Exe文件,包括了 ...
- uniGUI试用笔记(八)
在业务系统中常常使用回车键(Enter)替代Tab键完成焦点跳转,在uniGUI下,可以不用代码,直接使用TUniForm的NavigateKeys进行设置: 其中Next和Prior决定了焦点向下一 ...
- uniGUI试用笔记(七)
uniGUI的文件下载由于TUniSession的存在而变得非常简单,最典型的一个例子就是将列表中的所有数据导出到Excel中.服务器上采用TMS FlexCel控件,先将数据集中的记录导入到Exce ...
- uniGUI试用笔记(六)
uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFileUpload的文件 ...
- uniGUI试用笔记(五)
uniGUI的主窗体可以采用多页面方式进行管理,参考网上的资料,都是用TUniFrame + TUniPageControl 来实现,尝试了一下,效果还不错,如下图: 用TUniFrame 能够使用继 ...
随机推荐
- Nginx.代理MySQL
Nginx.代理MySQL 1. Nginx在安装的时候,需要加上一个参数:--with-stream 即Nginx安装指令为:./configure --prefix=/u01/app/nginx ...
- Python记录4:文件操作
###文件 ''' 1. 什麽是文件 文件是操作系統為用戶/应用程序提供一種操作硬盤的虚拟单位 2. 爲何要用文件 为了存取硬盘数据 3. 如何用文件 #1. 打開文件 #2. 读写文 ...
- c#Lock学习笔记
转自 http://www.cnblogs.com/tianma3798/p/6290158.html 参考官网 https://docs.microsoft.com/zh-cn/dotnet/cs ...
- WIN32窗口类风格和窗口风格(备查询)
一.WNDCLASS typedef struct { UINT cbSize //这个结构体的长度,一般用sizeof(WNDCLASSEX)设置 UINT style //窗口式样 WNDPROC ...
- 安装模块时报错“error: Microsoft Visual C++ 14.0 is required…”
安装pymssql时报错:在安装的过程中遇到了“error: Microsoft Visual C++ 14.0 is required…” 解决办法: 进入https://www.lfd.uci.e ...
- python os.path.splitext()
# Split the file extension 可以把扩展名获取出来
- (Review cs231n) The Gradient Calculation of Neural Network
前言:牵扯到较多的数学问题 原始的评分函数: 两层神经网络,经过一个激活函数: 如图所示,中间隐藏层的个数的各数为超参数: 和SVM,一个单独的线性分类器需要处理不同朝向的汽车,但是它并不能处理不同颜 ...
- 转:【专题二】HTTP协议详解
我们在用Asp.net技术开发Web应用程序后,当用户在浏览器输入一个网址时就是再向服务器发送一个HTTP请求,此时就使用了应用层的HTTP协议,在上一个专题我们简单介绍了网络协议的知识,主要是为了后 ...
- 谷歌重磅开源强化学习框架Dopamine吊打OpenAI
谷歌重磅开源强化学习框架Dopamine吊打OpenAI 近日OpenAI在Dota 2上的表现,让强化学习又火了一把,但是 OpenAI 的强化学习训练环境 OpenAI Gym 却屡遭抱怨,比如不 ...
- UVALive 3295 Counting Triangles
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...