| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:NetBulkCopy V1.05
只看楼主 加入收藏
kangss
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:272
专家分:604
注 册:2014-6-12
收藏
得分:0 
以下是引用iswith在2024-6-16 15:50:32的发言:
不可否认的,c# 调用VfP 的DLL性能太差了。。。压力测试并不通过,设计时我就估计可能会有这样的性能问题,动态载入VFPDLL再释放,循环如此性能肯定不好!引用DLL不再动态或释放,估计性能会好很多,也没有引用高速缓存机制,C#部分官方的指标是150-300并发数,高了C#也会有问题,1000的并发数我里没有啊。。。性能出现在VFP端,没有VfP端好像又没有啥意义,这个测试逼格高对我实用比较好!Server端因为性能不好就不给你,免费给你Client端如果你需要的话。。。


既能与VFP对接又能与html对接的websocket中间件少之又少,NetWsocket 这个系统非常好、非常优秀,并且还是多线程模式,内部蕴含了RSA签名安全验证等等,这个工程的核心就是在Server端,在群里得到了不少人的关注。

群里不少人在用孤独王的httpserver.fll,包括我,在不少元老级高手的测试下并提出了不少优化修改建议,孤独王推出了几款高质量的FLL,vfpsocket.fll、httpserver.fll多进程版、httpserver.fll多线程版。
并且ID大师还把多线程版魔改成直接支持prg混合编程模式,同时支持google V8(我不懂V8是啥)。

web项目接入外网时,网上莫名其妙的IP如果用类似手段试探,服务器就没法正常工作了。还在坚守使用VFP的人大部分不是希望VFP有多高的性能,但是我们还是希望它稳定。

你这个项目已经算是基本的完工了,就差最后的优化了。你这技术,我只有膜拜的份儿。

[此贴子已经被作者于2024-6-17 10:10编辑过]

2024-06-17 10:06
kangss
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:272
专家分:604
注 册:2014-6-12
收藏
得分:0 
以下是引用iswith在2024-6-17 09:20:46的发言:
NetWebWsServer  200并发本机测试表现


你这个测试效果非常优秀,在这个项目中VFP编译的dll采用了免注册技术,技术也是高超的。
我们测试1连接、2连接、10连接出错,会不会是共享版没有处理好的问题?
测试环境:win2008r2 + vfp9.0汉化版
2024-06-17 12:59
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:447
专家分:582
注 册:2013-5-14
收藏
得分:0 
魔改吧!之前使用STA线程浪费很大资源,正在想办法做成 aWait ThreadPool 方式,这样性能将会很出色,我也测试了部分很不错,300以内只最大的努力,其它再多就列队!要学习的东西较多啊!下一个版本估计需要点时间。你测试玩玩其它模块,Netpdfview,Netchart,NetQR,NetBulkcopy,WebView2,我觉得这些模块都优,最差就是这个websockServer了,它要的水平还真不一般,关键我就是一般啊。
2024-06-17 15:09
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:447
专家分:582
注 册:2013-5-14
收藏
得分:0 
测试通过性能不差
300个并发,一个交互WEB页面 WsSocket ,一个交互VFP WsSocket
图片附件: 游客没有浏览图片的权限,请 登录注册




[此贴子已经被作者于2024-6-17 19:04编辑过]

2024-06-17 19:01
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:113
专家分:324
注 册:2021-10-23
收藏
得分:0 
Foxer应用很少有大并发需求,稳定在15-50够很多场景了,所以求稳更重要。
小测上传的NetWsocket客户端/服务端20并发,响应有点卡,有崩溃现象。
按理C# 1000发不在话下,可考虑客户端线程与Vfp回调结合,服务端选用适合的网络模型结合线程池与VFP结合或许会有明显提升。
下面是xxxx群小Kiss发的1000并发压力小测,效果也不错。
图片附件: 游客没有浏览图片的权限,请 登录注册


2024-06-18 11:41
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:447
专家分:582
注 册:2013-5-14
收藏
得分:0 
设计上有些地方我自己也没有想明白,也不知道怎样解决!因为c#端调用了VFP mtdLL ,再让VFP进程把预载入的prg函数应答处理代码注入到这个MTdll中由C# DLl来驱动为STA线程这样一来就有内存泄露造成消耗大量点用内存造成崩溃,sta线程消耗资源太大,若由C# 驱动VFP mtdLL 为MTA线程资源消耗很少,但这种线性线程造成某一应答线程阻赛就会将线程池其它应答阻塞。暂时我也没有想通如何解决这个关键部分,我的理想设计是占用资源很小,然后每线程应答时阻塞不影响其它线程,应答一定是VFP的PRG来完成的,因为VFP的PRG处理应答将会继承原有的业务框架逻辑处理起来得心应手,这里应该少了部分设计就是人为的列队框架,计划这样:收到message就应该在VFP mtdLL 开个STA线程建立高速缓存我们可以用cursor来替代认知为列队信息。再在VFP mtdLL或重开一个EXE部署到其它计算,线程处理(应答)缓存中的列队信息,想法是ZMQ架框来处理应答提升处理能力。说明白点就接收列队,发送列队,处理放到任何计算机都可以,要搞东西比较多了。
2024-06-18 14:47
sych
Rank: 6Rank: 6
等 级:侠之大者
威 望:7
帖 子:317
专家分:448
注 册:2019-10-11
收藏
得分:0 
回复 25楼 foxfans
熟悉味道,似曾相识
2024-06-18 17:57
kangss
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:14
帖 子:272
专家分:604
注 册:2014-6-12
收藏
得分:0 
以下是引用iswith在2024-6-18 14:47:13的发言:

设计上有些地方我自己也没有想明白,也不知道怎样解决!因为c#端调用了VFP mtdLL ,再让VFP进程把预载入的prg函数应答处理代码注入到这个MTdll中由C# DLl来驱动为STA线程这样一来就有内存泄露造成消耗大量点用内存造成崩溃,sta线程消耗资源太大,若由C# 驱动VFP mtdLL 为MTA线程资源消耗很少,但这种线性线程造成某一应答线程阻赛就会将线程池其它应答阻塞。暂时我也没有想通如何解决这个关键部分,我的理想设计是占用资源很小,然后每线程应答时阻塞不影响其它线程,应答一定是VFP的PRG来完成的,因为VFP的PRG处理应答将会继承原有的业务框架逻辑处理起来得心应手,这里应该少了部分设计就是人为的列队框架,计划这样:收到message就应该在VFP mtdLL 开个STA线程建立高速缓存我们可以用cursor来替代认知为列队信息。再在VFP mtdLL或重开一个EXE部署到其它计算,线程处理(应答)缓存中的列队信息,想法是ZMQ架框来处理应答提升处理能力。说明白点就接收列队,发送列队,处理放到任何计算机都可以,要搞东西比较多了。


把prg单独输出再编译运行,效率低,prg直接编译到dll中运行效率会更高。把这种模式改改,会不会更稳定?大家希望的是不出错不崩溃。
2024-06-18 18:52
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:447
专家分:582
注 册:2013-5-14
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2024-06-19 10:29
快速回复:NetBulkCopy V1.05
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044884 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved