【JMeter4.0(二)】之搭建openLDAP在windows8.1上的安装配置以及JMeter对LDAP服务器的性能测试脚本开发
目录:
什么是LDAP?
轻量级目录访问协议:
所述轻量级目录访问协议,或 LDAP,是一种应用协议用于查询和修改目录服务运行在TCP / IP(通过维基百科).LDAP全称是一个轻量级的目录访问协议,它是建立在TCP / IP基础之前的用户查询和修改目录服务的。这是照着wiki翻译的,但是有人要问了什么是目录Service(目录服务)?
按照wiki的说法的话讲:在软件行业,目录就如同一个字典,他使得通过某一名称去查找绑定在该名称上的值得方式成为一种可能。有点类似Java中Map的概念.a 目录服务仅仅是一个存储,组织和提供对目录中信息的访问的软件系统。一个目录服务就是一个简单的软件系统,在这个目录上提供了存取和组织信息的功能.LDAP目录中可以存储各种类型的数据:电子邮件地址,邮件路由信息,人力资源数据,公用密匙,联系人列表,等等。
openLDAP官方网站:http://www.openldap.org/
openLDAP官网只提供了linux平台的相关安装文件,windows平台的安装包可以到以下一些网站下载:
- http://www.userbooster.de/download/openldap-for-windows.aspx
- http://sourceforge.net/projects/openldapwindows/files/
- http://sourceforge.jp/projects/openldapwin32/releases/
- window8.1 – 64位
- openLDAP 版本:2.4.40 (http://www.userbooster.de/download/openldap-for-windows.aspx )(本文所用的版本)
按照提示 一直 next ,直到安装完成:
安装
secret
安装完成后,在系统服务中(运行>services.msc),找到 OpenLDAP Service,先停止服务,再把启动类型修改成手动,便于自己的测试。
安装目录:F:\ruanjian\OpenLDAP
编辑文件:F:\ruanjian\OpenLDAP\slapd.conf 找到如下内容:
database bdb suffix "dc=maxcrc,dc=com" rootdn "cn=Manager,dc=maxcrc,dc=com" rootpw {SSHA}GQkk5tV5LLQIRzctKNfW/B46ZLlhH/dg
下面的根据自己的需要修改:
database bdb suffix "dc=maxcrc(可修改),dc=com" rootdn "cn=Manager,dc=maxcrc(可修改),dc=com" rootpw {SSHA}GQkk5tV5LLQIRzctKNfW/B46ZLlhH/dg(可修改密码)
======================扩展======================
这里引申一下LDAP主要的简称含义:
- o– organization(组织-公司)
- ou – organization unit(组织单元-部门)
- c – countryName(国家)
- dc – domainComponent(域名)
- sn – suer name(真实名称)
- cn – common name(常用名称)
①设置manager的访问密码,CMD中键入slappasswd,按照提示输入两遍密码,即生成了加密后的密码串
②(也可以用MD5加密方式,命令:slappasswd -h {MD5}),复制粘贴到slapd.conf文件的rootpw部分(本文不用,因为用的默认密码,如果用的自己的密码可以用这个办法加密)
======================扩展======================
打开控制台,切换到openLDAP安装目录下,启动openLDAP,命令如下:slapd -d 1
但是cmd一直报:
经过痛苦的查询,突然发现显示数据库被占用,解决办法:进入“服务”中,先停止服务,再进入cmd再输入“slapd -d 1”
启动成功!搭建LDAP服务器完成!
(注:以上内容参考地址《图文介绍openLDAP在windows上的安装配置》)
新建一个文件:D:\Program Files (x86)\OpenLDAP\mydemo.ldif ,内容如下:
dn: dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明) objectclass: top objectclass: dcobject objectclass: organization dc: maxcrc o: swust dn: o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明) objectclass: organization o: swust dn: ou=Developer,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明) objectclass: organizationalUnit ou: Developer dn: cn=xxx xxx,ou=Developer,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明) objectclass: person sn:xxx cn:xxx xxx dn: ou=Tester,o=swust,dc=maxcrc,dc=com
changetype: add(这一行有问题别复制,下面有说明) objectclass: organizationalUnit ou: Tester
上面定义格式内容,参考文档《ldif的数据结构及一个DEMO》。
mydemo.ldif保存为txt文件格式,并且编码要求为ANSI
tips:格式要严格,每行的开头和末尾不能有空格
然后再命令行中输入“slapadd -v -l ./mydemo.ldif”,因为我没有没有”ldapadd“这个命令。
但是有的小伙伴会出现下列错误:
①str2entry: entry -1 has no dn
slapadd: could not parse entry (line=1)
经过查询资料得知可能是因为txt文档编码问题,之前一直用的“UTF-8”编码,保存变为“ANSI”编码就可以了。
②还有一种是报:(changetype):attribute type undefined,【刚刚上面说不要复制的问题】
经过查询得知我原来添加了“changetype: add”属性,不要这一行就可以了。
③还有一种简单的问题就是database already in use
这个是因为数据库被占用了,需要先关闭LDAP服务器才可以。(把下面的CMD命令行关闭就可以)
因为slapadd 只能对本地的LDAP服务进行操作,操作时本地LDAP服务必须先停止
^_^困扰了我一天的问题终于解决啦~~~
先启动LDAP服务,参照上面描述:命令行输入“slapd -d 1”
然后,命令行cd定位到“F:\ruanjian\OpenLDAP\ClientTools”文件夹下,再输入“ldapsearch -x -b "dc=maxcrc,dc=com" "(objectclass=*)"”查询
查询结果如下:
验证成功噢耶!
相关其他文档参考:《LDIF修改ldap记录或配置示例》、《LDAP读书笔记4-LDIF文件》
网上搜索到一个客户端:LdapBrowser282 附件提供相关下载:LdapBrowser282.zip
下载解压后直接双击:lbe.bat 文件即可运行。
点击上图中的 Fetch DNs 按钮会自动获取相关的DN信息的。
上面的输入的密码就是之前安装过程中的那个密码(如果自己没有修改过)
可以正确查询到之前添加的相关信息。
五、JMeter建立一个扩展LDAP服务器的性能测试脚本开发(搜索为例)
1、添加线程组:
2、默认配置(登陆配置元件、LDAP请求默认值)
用户名、密码、服务器、端口、DN都跟上面讲的客户端一致,不细说了。
3、添加LDAP请求
①首先可以添加“简单控制器”(可有可无),在控制器下添加两个“扩展LDAP请求”
②第一个“扩展LDAP请求”的测试配置选择“Thread Bind”(必选)、“Connection timeout”(非必填)
③第二个“扩展LDAP请求”的测试配置选择“Thread Bind”(必选)、“Connection timeout”(非必填)
导入条目显示:
客户端显示:
search base:定位到根节点
search filter:搜索筛选器(详情见下)
具体文字解释说明可以参照:《Jmeter—扩展LDAP测试》、《Jmeter建立一个扩展LDAP测试计划》
------------------------------------------------------------------------------------------------------------
1、search base:(可选) 进入searchbase下你想执行搜索,相对于basedn,用于绑定请求的线程。
空的时候,作为搜索basedn基地,这文件是很重要的,如果你想使用一个“基本项”或“一级”的搜索
在Search base域中输入搜索的根节点,即RDN。如果此域为空,将使用基础的DN作为搜索的根节点。
2、search filter:进入searchfilter,任何像样的LDAP搜索筛选器会做,但是现在,使用一些简单的,喜欢 (sn = Doe) 或 (cn = *)
3、scope:(可选) 范围字段中输入范围,它有三个选择:
(1)baseobject搜索
只使用给定searchbase,只有检查属性或存在。
(2)onelevel搜索
只搜索一个水平低于给定searchbase使用
(3)子树搜索
搜索对象在任何时候低于给定basedn
4、Size limit:(可选) 大小限制,指定返回条目的最大数量,
5、Time limit:(可选) 时间限制,指定最大的毫秒数,服务器可以使用来执行搜索。 这不是应用程序将等待的最长时间。
很大returnset返回时,从一个非常快的服务器,在一个非常缓慢,你可能需要等待很长时间搜索请求的完成,但是这个参数不会影响。
6、Attributes:(可选) 你想要在搜索答案属性。 这可以用来限制大小的答案,特别是当有非常大的属性(比如一个对象 jpegPhoto)。 有三种可能性:
(1)离开空(默认设置也必须是空的)这将返回所有属性。
(2)放在一个空值( ”“ ),它将请求一个不存在的属性,所以在现实中它没有返回任何属性的属性,用分号隔开。 它将只返回所请求的属性
7、Return object:(可选) 返回对象。 检查将返回所有java对象属性,将添加这些请求的属性,如上面指定的。
不意味着没有java对象属性将返回。
8、Dereference aliases:(可选) 废弃的别名。 检查将意味着它将跟随引用,不不会说。
9、Parse the search results:(可选) 解析搜索结果。 检查将意味着它会导致响应数据,不不会说。
------------------------------------------------------------------------------------------------------------
4、添加监听器
5、点击运行,并且在“查看结果树”中查看响应结果数据
至此,win8.1系统搭建LDAP以及JMeter测试脚本开发部分截止。
对LDAP的性能测试还可以参照:《Jmeter—扩展LDAP测试》、《Jmeter建立一个扩展LDAP测试计划》
包括(对比,修改、删除等测试请求)
==============================================================================
https://www.cnblogs.com/phpliu/archive/2013/09/24/3336713.html
大神:http://seanlook.com/2015/01/22/openldap_ldif_example/
小申:https://blog.csdn.net/jiujiuming/article/details/70057904
配置:http://www.micmiu.com/enterprise-app/sso/openldap-windows-config/
错误总结:https://blog.csdn.net/zdwzzu2006/article/details/8550910
error:http://qxjabc.blog.163.com/blog/static/109450820100276465324/