ldapjs(使用node-express)client.search很慢
我使用node.js expressjs ldapjs来实现身份validation。
我有一个要求如下:
- validation用户
- 查找用户所属的所有组名称
- 通过configuration的深度级别(最多3次)查找用户组所属的父组名称; 这意味着find用户 – >find用户的组(#)—>find组的父母组多达三个级别。
为了在node-express环境中实现上述function,我使用了passportjs的ldapjs(编写一个自定义的策略来适应我们的需求)。
我的观察是,throgh ldapClient所做的每个search请求大约需要70ms,这对于完成我所需要的所有search请求(在身份validation过程中需要执行多达60-80个search请求)非常缓慢。
我上面实现了串行请求(我现在做完当前的下一个请求)。
在这种情况下,我该如何提高性能呢? 我可以查看哪些可用的选项?
通过使所有search请求并行运行,并利用“并行search结束”callback来处理父级search深度级别,我可以显着提高性能。
以上是可能的async.parallel方法的' asynchronous '节点模块。
感谢大家可能已经看过这个。