对OIM Web(UI)层进行压力测试

article/2025/10/25 22:16:11

Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程 。 从根本上讲,这意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。

对于Weblogic ,这是它的配置方式:

oim-ui-thread-conf

通常发生的是

  • 用户访问OIM URL,例如http:// oimhost:14000 / identity
  • 浏览器发送带有一些添加的HTTP请求标头和其他信息的简单(HTTP)GET请求
  • 应用程序服务器(例如Weblogic)从池中拾取一个线程并使用它来处理请求
  • OIM做出回应,浏览器呈现登录页面,大部分时间用户都很高兴! ;-)
  • 服务请求后,应用程序服务器上的线程将发送回池中(请记住我刚才提到的20个线程池),因此可以被另一个请求重用

我只是想尝试一下,并通过JMeter执行了一些简单的测试

注意 :这仅是前端/ UI压力测试–与业务逻辑无关

脚步

嗯,您需要在JMeter中设置一些配置-它们几乎是标准配置,与OIM无关。

  • 设置线程组 (代表用户)
  • 配置HTTP请求,例如,配置OIM URL,上下文路径,端口(再次,非常基础)
  • 配置结果查看器 –树或表模式。 这是用于实时跟踪结果

JMeter配置(.jmx)文件可供参考–只需将其导入JMeter,您应该能够找出确切的配置参数,并在需要时对其进行调整

测试计划

测试参数

我尝试通过在JMeter的“线程组”设置中更改“ 线程数”和“ 加速期”属性来测试各种排列和组合

线程数–等于您要模拟的用户数
加速周期(秒)–等于您希望JMeter触发所有请求的时间段/范围

例如,线程数= 100,启动周期= 20秒,基本上意味着模拟一个场景,其中100个用户在20秒的时间内访问您的应用程序(在这种情况下为OIM)。

  • 尝试1:线程数= 100,加速时间= 20秒
  • 尝试2:线程数= 200,加速时间= 20秒
  • 尝试3:线程数= 500,加速时间= 20秒
  • 尝试4:线程数= 1000,加速时间= 20秒
  • 尝试5:线程数= 2000,加速时间= 20秒

线程组配置

我在期待什么

老实说,我希望在20秒的时间内触发2000个线程(潜在用户)时会有一些延迟/延迟。 看起来没有发生。

实际结果

总而言之,反应是非常健康的。

  • 绿色结果,即HTTP 200(确定)响应
  • 低延迟和加载时间

结果2

需要注意的

  • 这是在个人测试VM(运行OIM 11g R2 PS2)中执行的,因此系统上没有太多负载
  • 当我连接的服务器只是一个来宾VM时,不能期望太多延迟;-)

尽管如此,这仍然很有趣,并且在后端具有运行进程(例如调度程序,某些访问请求进程等)的服务器上执行相同的测试将很有趣。

如果20个线程的现成配置在您的环境中不起作用,则可以使用Weblogic Admin Console进行更改–冲洗并重复:-)

在那之前..欢呼!

翻译自: https://www.javacodegeeks.com/2015/02/stress-testing-oim-web-ui-layer.html


http://chatgpt.dhexx.cn/article/rZh7Ab17.shtml

相关文章

java仿qq思路_java仿QQ聊天软件OIM艰辛之路(开源项目)

既然QQ能仿ICQ, 咱java也来个仿QQ. 在我刚学完java后,就想做点什么项目锻炼下自己的技能。凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了。 然后他想让我也一块做这个,我心想,像qq这么高难…

Patching OIM 11.1.1.5.0 to 11.1.1.5.3

本指南也可以应用到OIM11.1.1.5.1或11.1.1.5.2。 获取修补程序您将需要以下补丁: 1. Patch Name: 13106312Product: Oracle SOA PlatformRelease: 11.1.1.5.0 2. Patch Name: 13704894Product: Oracle Identity ManagerRelease: 11.1.1.5.0 Initial SetupCreate a director…

使用OIM的Design Console配置

1、运行安装oim的文件(我的是Oracle_IDM1/bin里面的config.sh),选择如下 next 第一个为主机名(电脑名) next...finish 2、启动designconsole 在Oracle_IDM2里面找到wlfullclient.jar拷贝到Oracle_IDM1/designconsole/ext里面。 运…

给oim_对OIM Web(UI)层进行压力测试

给oim Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程 。 这基本上意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblogic &#x…

如何OIM 11.1.1.5.0打补丁到11.1.1.5.2

将OIM11.1.1.5.0安装好之后,如需要打补丁到11.1.1.5.2,则按照如下的步骤: 下载两个patch,一个是SOA的,一个是OIM的。Oracle官方文档说如果想要给OIM打补丁的话就需要先把SOA先升级。 官方文档的地址:https://updates.oracle.com/Orion/Services/download?type=readme&…

基于 JavaFX 开发的聊天客户端 OIM-即时通讯

OIM 详细介绍 一、简介 OIM是一套即时通讯的聊天系统,在这里献给大家,一方面希望能够帮助对即时通讯有兴趣研究的朋友,希望我们能够共同进步,另一个就是希望能够帮助到需要即时通讯系统的朋友或者企业,可以直接使用或者…

java仿QQ聊天软件OIM艰辛之路

既然QQ能仿ICQ, 咱java也来个仿QQ.在我刚学完java后,就想做点什么项目锻炼下自己的技能。凑巧的是,我一个同样学java的朋友在做一个仿qq的项目,不过他做的实在太丑了。 然后他想让我也一块做这个,我心想,像qq这么高难…

oim-server-web打包测试环境不起作用问题 vue+typeScript

本人对前端只有个略懂 当我使用npm run test测试 alert(process.env.NODE_ENV)结果是正常能返回出 当我使用npm run build --test打包部署服务器后 返回的结果是 2021 04 25 暂时未找到解决方法 所以先冒着被同事孤立的风险用以下解决方法 修改前 class Config {private …

基于 JavaFX 开发的聊天客户端 OIM-即时通讯

OIM 详细介绍 一、简介 OIM是一套即时通讯的聊天系统,在这里献给大家,一方面希望能够帮助对即时通讯有兴趣研究的朋友,希望我们能够共同进步,另一个就是希望能够帮助到需要即时通讯系统的朋友或者企业,可以直接使用或…

electron-builder打包linux桌面程序(OIM-E多平台即时通讯软件)

1、OIM-E 开源主页 主页链接 2、打包Linux 开始踩了几个坑,我图简单因此尝试在windows打包linux包。结果就是不行,梯子啥的都挂了,结果无效。报如下错误: ⨯ Get https://service.electron.build/find-build-agent?no-cache1…

oim failed_对OIM Web(UI)层进行压力测试

oim failed Oracle IDM中的默认配置保留20个专用于服务前端(UI)请求的线程。 从根本上讲,这意味着应用程序服务器具有20个线程池,可用于为通过Web控制台(/ identity或/ sysadmin)访问OIM的用户提供服务。 对于Weblogic ,这是它的配置方式&…

oim(类QQ)开源项目源码阅读笔记(1)——登录部分

oim项目是码云上相当优秀的开源项目,项目完整,有客户端,服务器端web端,项目地址:https://gitee.com/oimchat 因为最近打算使用javafx写个客户端,所以看了一下该项目基于java的pc客户端源码,客户端项目如下…

聊聊开源聊天软件oim-fx

最近忽然要开发聊天软件,上网百度学习了一下。先是找到一些socket编程的文章。后来,在博客园找到这篇文章,得到一些启示:《超赞的8款开源聊天软件》 https://blog.csdn.net/huaairen/article/details/89006927 今天有点时间&…

java实例化对象的四种方式

java实例化对象的4种方式 用new 语句创建对象,这是最常用的创建对象方法。 package test;public class Father {public void print() {System.out.println("我是father");} public static void main(String[] args) {Father f new Father();f.print();…

java实例化对象的几种方式

这里一共整理了四种方法 ①用类的new ()创建 ②用clone方法创建, 需要类实现 Cloneable 接口 ③通过反射机制创建 ④将一个对象实例化后,进行序列化,再反序列化 下面是实现代码 1)用类的new &#xff…

详解C#实例化对象的三种方式及性能对比

前言 做项目过程中有个需求要实例化两万个对象并添加到List 中,这个过程大概需要1min才能加载完(传参较多),于是开启了代码优化之旅,再此记录。 首先想到的是可能实例化比较耗时,于是开始对每种实例化方式…

父类声明子类实例化对象详解

测试代码: public class Employee {public String name;public String getType(){return "Employee";}} public class Manager extends Employee{private int money;public String getType(){return "Manager";} }public static void main(St…

java实例化对象后面添加花括号的理解分析

java实例化对象后面添加花括号的理解分析 昨天在看MyBatis官方文档时看到这么一段代码 return new SQL() {{SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME");FROM("PERSON P");if (id ! null) {WHERE("P.ID like #{id}");}…

Unity 创建/实例化对象

在程序运行过程中创建、实例化对象物体需要用到Object类中的 Instantiate 函数,例如,我们场景中有一个物体A: 现在我们想要在场景中创建五个该物体,则用Instantiate函数将该物体作为参数传入: using UnityEngine;pu…

几种对象实例化方式详解

一)对象实例化常用方式 方式一:直接new一个对象,最常用的一种。 方式二:反射,通过Class.forName("类的全限定名")。 方式三:构造器,通过Class.forName("类的全限定名")&…