ldapjs(使用node-express)client.search很慢

我使用node.js expressjs ldapjs来实现身份validation。

我有一个要求如下:

  1. validation用户
  2. 查找用户所属的所有组名称
  3. 通过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 '节点模块。

感谢大家可能已经看过这个。