`
eworkflow
  • 浏览: 219349 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自己编写多线程类并发测试工作流系统

 
阅读更多

刚修完10.1长假,还没缓过来,整天不想事事,闲逛论坛园子,偶见有位老大自己写的

 

C# winform 窗体接收命令行参数自动登录进行系统,模拟600个WCF客户端的并发压力测试
http://www.cnblogs.com/jirigala/archive/2011/10/02/2197964.html

 

哈哈,想起我们也曾做过这样并发测试,当然和吉日老大一样,没有使用测试工具,是自己做的多线程并发测试,真是"高手"所见略同^_^.

可能大家又会说,为毛要自己写,用loadrunner等压力测试工具不是更好?

无奈,我就喜欢自己动手,丰衣足食。其实主要还是自己写的测试类,发现问题了,方便调试,可以在IDE工具中设置断点,跟踪调试啊,多快捷方便啊,其实我还是懒人一个!

 

闲话少说,直接上测试类方案了
说起来复杂,其实很简单,就是写个多线程类,不停的启动流程,做业务流程节点的提交。

 

如下图:线程主程



 

红框1中http://localhost:8089/ebiao/servlet/WebBill?key=doSubmitData地址为模拟post到的web地址,我用本机发布,所以localhost

红框2中 int max=100; 表示一次并发的数量100个,IBM thinkpad t61的老机器,先就100个吧

 

 

下图:线程子程,用httpclient模拟post到web网站上



 


sb.append("<root userType='eform_inital_workflow' pubParam='wf_name=wf_leave_condition;wf_version=1;init_actionid=4960;action_id=4926'><DsMain><t.....................
为post提交的页面数据,这里为启动业务流程wf_leave_condition,版本1,
执行初始化流程,得到流程实例,并执行流程第一个节点的提交,提交业务表单和执行流程。使得当前步骤到第二个节点

 

 

 

模拟一个这样的提交过程。用我本机t61的老机器,连接oracle库,100个并发,28秒完成。


没有那些cpu性能等的数据,但是,如果有问题的话,可以在IDE的编程环境中设置断点等,快速定位到bug所在,哈哈,也是懒人的一个方法。

 

 

 

 

 

 

标签: web开发平台, 开发平台, java工作流, 自定义工作流, web工作流, 自定义表单, .net工作流, 工作流软件产品, .net自定义表单, java电子表单, 电子表单

  • 大小: 54.5 KB
  • 大小: 78 KB
分享到:
评论

相关推荐

    java socket 多线程并发控制 hibernate mysql

    总的来说,本项目结合了Java的Socket通信、多线程并发控制、Hibernate ORM以及MySQL数据库,构建了一个能处理并发网络请求并存储信息的系统。这样的设计使得系统具备良好的扩展性和健壮性,能够高效地服务大量用户。...

    使用TCPServer编写(多线程)socket服务

    在IT行业中,网络编程是不可或缺的一部分,特别是在服务器端开发中,使用TCPServer编写多线程的socket服务是一项基础但重要的技术。本文将详细讲解如何使用TCPServer来实现这样的服务,以及多线程在其中的作用。 ...

    多线程控制程序_并发_buriedutt_多线程_

    标题"多线程控制程序_并发_buriedutt_多线程_"指出了我们探讨的主题,即如何管理和控制多线程以实现并发执行,从而提高程序的执行效率和系统资源利用率。 首先,我们要理解什么是并发。并发是指系统在同一时间段内...

    测试并发小工具

    5. **并发集合(Concurrent Collections)**:为了解决多线程访问集合时可能出现的问题,.NET Framework提供了一组并发安全的集合类,如`ConcurrentBag`、`ConcurrentDictionary`、`ConcurrentQueue`和`...

    用MFC编写VC多线程程序

    在VC下编写多线程程序,通常有直接使用Windows API和使用MFC两种方式。MFC提供了更高级的抽象,使得创建和管理线程变得更加便捷。比如,可以使用`AfxBeginThread`函数来创建线程,该函数接受一个`CWinThread`派生类...

    Java+并发性和多线程

    理解并熟练掌握Java的并发性和多线程技术,能帮助开发者编写出高效、稳定、可扩展的并发程序,对于大型分布式系统的构建至关重要。通过阅读"Java+并发性和多线程.pdf"这份文档,你将能够深入理解这些概念,并能够在...

    proactive 多线程并发解决方案

    ### Proactive多线程并发解决方案知识点详解 #### 一、ProActive编程简介 ProActive作为一个开源中间件,专为并行、分布式以及多核计算设计。它提供了丰富的API和工具,帮助开发人员轻松地实现复杂任务的并行处理...

    多线程分类

    在IT行业中,多线程是程序设计中的一个重要概念,尤其在服务器端开发、并发处理以及高性能计算领域。多线程允许一个程序同时执行多个任务,...理解并掌握多线程分类及其特性,能帮助开发者编写出高效、稳定的并发程序。

    利用VB6实现多线程

    多线程是指在一个应用程序中存在多个并行执行的线程,它们共享同一内存空间,但各自拥有独立的执行流。通过多线程,可以实现任务的并发执行,比如在用户界面更新的同时,后台进行数据处理,提升用户体验。 二、VB6...

    java多线程简单下载器

    一个简单的多线程下载器可能会根据网络条件和系统资源动态调整线程数量,以平衡系统负载和下载速度。 10. **线程间通信**: 如果多线程之间需要交换信息,可能使用了`BlockingQueue`,例如`ArrayBlockingQueue`,...

    线程及多线程技术及应用 fly

    标题和描述中提到的知识点主要围绕“线程”与“多线程技术”展开,具体涉及线程的基本概念、特点、用途以及多线程的优势,此外还深入探讨了线程在Java中的创建与启动机制,包括线程的状态控制。下面我们将对这些知识...

    qt tcp多线程服务端

    QT TCP多线程服务端是一种基于QT框架的网络通信实现,它利用TCP协议进行数据传输,并采用多线程技术提高服务器处理并发连接的能力。QT是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面、移动和嵌入式...

    Java多线程编程

    在Java中,多线程主要通过`Thread`类和并发工具来实现,接下来我们将深入探讨这些关键知识点。 1. **Thread类**:Java中的`Thread`类是线程的基础,它代表了程序中的一个执行流。创建一个新的线程通常有两种方式:...

    vc关于多线程测试程序

    在IT领域,多线程是程序设计中的一个重要概念,尤其在现代计算机系统中,它能够充分利用多核处理器的计算能力,提高程序的并发性和执行效率。"vc关于多线程测试程序"是一个针对多线程操作进行测试的应用,主要用于...

    TCP多线程传输源码实例

    多线程技术则可以提高程序的并发处理能力。在一个进程中创建多个线程,每个线程独立执行任务,可以并行处理多个客户端连接,提高服务器的响应速度和效率。在TCP多线程应用中,主线程通常用于监听客户端的连接请求,...

    自己实现的 ActiveMQ 多线程客户端 包含生产消息客户端和消费者消息客户端

    在这个项目中,我们看到的是一个自己实现的 ActiveMQ 客户端,它特别关注多线程的实现,这在处理大量并发消息时非常关键。 1. **ActiveMQ 的基本概念**: - **消息队列**:ActiveMQ 中的核心概念,用于存储待处理...

    多线程编程指南

    多线程编程是一种让多个代码路径在同一个程序中同时运行的技术,它允许多个执行流(线程)并发执行。在iOS开发中,多线程编程可以帮助开发者充分利用多核处理器的性能,提高应用程序的响应性和运行效率。然而,多...

    多线程NIO客户端实例

    在深入解析这段代码之前,我们先来理解一下几个核心的概念:**多线程**、**NIO(Non-blocking I/O)**以及它们如何协同工作在客户端编程中。 - **多线程**:在Java中,多线程允许程序同时执行多个线程,每个线程...

    java实现多线程的网络并发服务器.pdf

    在阅读了提供的文件内容之后,可以从中提炼出以下关于Java实现多线程网络并发服务器的关键知识点: 1. Java网络编程基础 - Java提供了一套用于...这些知识点对理解Java网络编程模型及多线程并发控制有着重要的意义。

    单线程与多线程

    相比之下,多线程允许一个程序有多个执行流,每个线程可以独立地执行任务,从而提高了程序的并发性和响应能力。例如,一个线程可以负责用户的界面交互,另一个线程则负责后台数据处理,两者互不影响。多线程在资源...

Global site tag (gtag.js) - Google Analytics