DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: luoj0902
今日帖子: 13
在线用户: 14
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:29:32
标题:
[阶段测试]三层 RTC 6.48 + FireDac 客户端模式压力测试 浏览:1727
加入我的收藏
楼主: 接上篇:http://bbs.2ccc.com/topic.asp?topicid=546326

服务端功能编写到一定的阶段后,验证功能是否存在问题或者Bug,所以参考“樵夫”大侠的建议,编写了一个小程序:批量客户端自动测试,进行小型压力测试。

下面开始上图
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:31:47
1楼: 虚拟机中启动30个客户端
此帖子包含附件:
JPEG 图像
大小:241.8K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:32:06
2楼: 实体机中,同样启动30个客户端
此帖子包含附件:
JPEG 图像
大小:262.7K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:32:42
3楼: 登陆后,服务端后台显示客户端信息
此帖子包含附件:
JPEG 图像
大小:572.7K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:33:17
4楼: 开始循环测试
此帖子包含附件:
JPEG 图像
大小:509.6K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:33:49
5楼: 虚拟机中其中一个客户端
此帖子包含附件:
JPEG 图像
大小:306.9K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:34:13
6楼: 实体机中,随便打开几个客户端
此帖子包含附件:
JPEG 图像
大小:611.4K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:35:59
7楼: 服务端,应该才测试了15分钟左右的数据量
此帖子包含附件:
JPEG 图像
大小:504.6K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/15 1:46:50
8楼: 其实并不是来炫耀什么,通过这个测试,也真正发现问题。

网络通信部分大问题暂时没有发现,但是日志功能的效率有点跟不上。

日志,我是写了个类,偷懒,大概结构如下:

type
  TLogMsgEvent = procedure(const AMsg: string) of object;
  
  TLogs = class
  private
    FLogMsgList: TStringList;
    ...
  public
    procedure AddLogMsg(const AMsg: string);
    ..
  end;

类里面,设置条目数,比如达到1000条就自动存盘,FLogMsgList.SavetoFile

主窗体,通过回调信息显示进LISTVIEW里面。

我发现这样偷懒方式,连接量上来的时候,有点卡界面了,或许需要找找高效日志的方式了。

还有发现卡界面的时候出现访问延时突然增大,不知道是日志影响还是SQLITE数据库问题,好晚了,改天再找问题。。

PS:打算测一个晚上后再截图上来的,但还是算了,毕竟个人电脑,心疼啊。哈哈。
----------------------------------------------
-
作者:
男 tianpanhaha (tianpanhaha) ▲▲▲△△ -
注册会员
2018/7/15 7:16:31
9楼: 客户端用不同网络环境试试。在局域网中,测不出啥的。
----------------------------------------------
 QQ群:325010556 欢迎加入。
作者:
男 redhan (晓寒) ★☆☆☆☆ -
盒子活跃会员
2018/7/15 11:33:27
10楼: 服务和控制程序集成在一起,不是好办法。如果为了效率,最好分开
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:44:13
11楼: @tianpanhaha
  这个只是阶段测试,验证中间件服务器反复执行功能后,是否存在错误或内存泄漏。

@redhan
  谢谢,我也考虑过这个问题,把服务、日志、控制功能等分开。但毕竟我不是专业做软件开发的,编程只是我的爱好,提高日常工作的效率罢了,所以简洁才好。
  而对于上面的压力测试,也只是玩玩,看看自己的编程能力。
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:47:43
12楼: 偷懒做的日志单元,效率真心跟不上,后来改用多线程方式,现在顺畅了。
而且客户端由原来 30+30 60个客户端,增加到 50 + 50 100个客户端也非常顺溜,也不在产生突然性的延时增大问题。

另外也把数据库连接到MS SQL 2000上面,再进行测试。

继续上图:
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:49:20
13楼: 实体机50个客户端
此帖子包含附件:
JPEG 图像
大小:709.7K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:49:50
14楼: 虚拟机中另外50个客户端
此帖子包含附件:
JPEG 图像
大小:386.5K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:50:17
15楼: 服务器事件日志:
此帖子包含附件:
JPEG 图像
大小:509.0K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 22:50:39
16楼: 服务器客户端信息:
此帖子包含附件:
JPEG 图像
大小:618.9K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:18:44
17楼: 日志文件:
PS:终于不再拖后腿了。
此帖子包含附件:
JPEG 图像
大小:907.3K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:20:33
18楼: Restful在访问期间一切正常:
此帖子包含附件:
JPEG 图像
大小:491.9K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:31:51
19楼: 客户端端测试期间,用AB测试1000个请求
此帖子包含附件:
JPEG 图像
大小:92.3K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:35:37
20楼: 客户端端测试期间,用AB测试10000个请求 100个并发。
可以见到客户端延时增大,但仍能保证正常访问。
此帖子包含附件:
JPEG 图像
大小:260.8K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:37:37
21楼: 在100个专用客户端测试期间,在调用AB测试Restful输出。
10000个请求,100个并发,结果如下:
此帖子包含附件:
JPEG 图像
大小:81.4K
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/17 23:41:45
22楼: 连续测试2个小时左右的数据量,大概输出4G左右,服务端一切正常,退出并无内存泄漏。
本次阶段测试,证明中间件运行非常良好。
此帖子包含附件:
JPEG 图像
大小:589.9K
----------------------------------------------
-
作者:
男 blueflag (昆了) ★☆☆☆☆ -
盒子活跃会员
2018/7/18 8:15:15
23楼: 又有新东东了?太好了~
----------------------------------------------
-
作者:
男 jljaaj (小强) ▲▲△△△ -
注册会员
2018/7/19 13:33:59
24楼: 可否,提供代码,一同分享!!!
----------------------------------------------
-
作者:
男 zwzqq (小小) ▲▲▲▲▲ -
普通会员
2018/7/19 17:48:23
25楼: 没有DEMO,也没有代码,这是做什么呢?
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/19 22:40:17
26楼: 其实上篇已经讲到,只是你们没有看而已:

自用。至于商业销售,从没有考虑过,盒子上面太多大神的中间件,我代码肤浅根本不入流。
  意思只是在盒子上面记录一个过程,也算是自己学习的一个脚印。
----------------------------------------------
-
作者:
男 zmczmc (叼你啊) ▲▲▲▲▲ -
普通会员
2018/7/20 10:45:07
27楼: 既然楼主觉得自己代码不入流,那是否也表示这样的测试,其实然并卵?

最终不能投入到项目中的代码,编译的程序想让大家看出啥?
----------------------------------------------
-
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/20 15:38:58
28楼: 代码不入流,代表我谦虚,^_^。

说真的:对比业界大神的算法,逻辑等等来讲,真的不算入流,但在当下浮躁的社会,利益的驱动下不仅仅是个人,又有多少个三流公司是入流的呢?

我虽然不算是软件开发这行人,但是也经常接触到相关行业软件,或许我比较运气差,碰到的软件都是为了仅仅符合“合同”要求,不管死活的硬要上线运行,最终一塌糊涂。

其实我也知道,做软件就好像做工程一样,切忌“完美”两个字,只要满足要求,交付OK,要不然哪有升级,改造项目呢,对吧。但工作上我可以理解,个人爱好上我不赞同。我要在我的能力范围内追求性能上的极致,这是一个对爱好的态度,或许又是自己强迫症的表现,更甚者,我根本没有用它来赚钱,我不在乎时间去打磨。

其实经过这样的测试,现在的版本,我觉得已经满足好多中小型企业需求的啦。就比如自己日常的项目管理系统,整个项目部才30多个项目经理,算每人同时各负责1个项目,再委派相应的现场管理人员,施工队长(施工人员不用),平日检查的安全检察人员,相关项目的采购,行政,财务等等,加起来才100个客户端有多了,而且同时并发的情况或许在5个以内。

您说然并卵呢?
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2018/7/20 17:00:35
29楼: 楼主说了这么多,那你快点决定,要么花点钱买你的源码,要么赶紧开源!!
----------------------------------------------
只有偏执狂才能生存!
作者:
男 nickemma (N.E) ▲▲▲▲△ -
注册会员
2018/7/20 19:46:00
30楼: @nevergrief (孤独骑士)
说了是非卖品咯,如果您想要来耍耍,可以免费送你,但是非开源。

并不是说我不想开源,而是涉及到时候完善了,会公司内部运行,里面的加密方式,密匙产生方法等等私密的东西,我又懒得为了开源而去更改,而且更改后又要测试其稳定性和BUG,这个不自己找事么?
----------------------------------------------
-
作者:
男 glings (glings) ▲▲▲▲▲ -
普通会员
2018/7/20 20:13:13
31楼: 从测试的结果看,非常好了,足够中小企业使用
----------------------------------------------
-
作者:
男 synnefo (Syn) ▲▲△△△ -
注册会员
2018/7/21 10:34:25
32楼: 只能说,好一个不为卖产品,不为做开源,不为讨论技术的炫耀贴
----------------------------------------------
-
作者:
男 cd_fsy2000 (神州行) ★☆☆☆☆ -
盒子活跃会员
2019/3/5 11:19:25
33楼: 楼主,问一下,session会话怎么获取的?
procedure TForm5.RtcHttpServer1Connect(Sender: TRtcConnection);
var conn:TRtcConnection absolute Sender;
begin
    memo1.Lines.Add('客户端连接成功:'+conn.Session.ID);
end;

这样貌似获取不到啊?
求指点
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行70.3125毫秒 RSS