1

在此先感谢您的帮助。

有没有人看到openfire这个问题?

目前我使用 Openfire Fedora 和 Auth 使用 windows 2003 并且还使用 mysql 作为数据库。当我提出两个客户并互相交谈时,消息之间的时间很慢。有时,发送的东西可能需要 5-15 分钟才能到达此人(在 openfire 服务器上只有两个人)。我使用端口 389 运行了一个 tcp 转储,发现这台机器正在对 ldap 运行数千个查询。当我将它插入wireshark时,我注意到它正在传输整个联系人列表或检查整个联系人列表的状态?

当我在 openfire 本身上运行调试时,我在日志中只看到这条小消息:

2010.06.08 07:01:17  LdapManager: Starting LDAP search...
2010.06.08 07:01:17 LdapManager: ... search finished
2010.06.08 07:01:17 LdapManager: Creating a DirContext in LdapManager.getContext()...
2010.06.08 07:01:17 LdapManager: Created hashtable with context values, attempting to create context...
2010.06.08 07:01:17 LdapManager: ... context created successfully, returning.
2010.06.08 07:01:17 LdapManager: Trying to find a groups's DN based on it's groupname. cn: Spark agents CLT, Base DN: OU="Hidden",DC="Hidden",DC="net"...
2010.06.08 07:01:17 LdapManager: Creating a DirContext in LdapManager.getContext()...
2010.06.08 07:01:17 LdapManager: Created hashtable with context values, attempting to create context...
2010.06.08 07:01:17 LdapManager: ... context created successfully, returning.
2010.06.08 07:01:17 LdapManager: Starting LDAP search...
2010.06.08 07:01:17 LdapManager: ... search finished
2010.06.08 07:01:17 LdapManager: Trying to find a groups's DN based on it's groupname. cn: Spark agents CLT, Base DN: OU="Hidden",DC="Hidden",DC="net"...
2010.06.08 07:01:17 LdapManager: Creating a DirContext in LdapManager.getContext()...
2010.06.08 07:01:17 LdapManager: Created hashtable with context values, attempting to create context...
2010.06.08 07:01:17 LdapManager: ... context created successfully, returning.
2010.06.08 07:01:17 LdapManager: Starting LDAP search...
2010.06.08 07:01:17 LdapManager: ... search finished 

我认为这是我的配置,并开始查看 openfire 网页上的缓存设置。我按照页面的建议调整了设置,但仍然遇到相同的问题。我似乎没有缓存联系人列表,或者这可能是一个从未修复或实现的功能。

有没有人经历过这个?我在网上搜索过,我看到其他人在 openfire 方面有很好的经验,没有像我这样的问题,还是因为没有人检查查询?

目前我创建了一个新的域控制器并将 openfire 移动到那台计算机上,以便它可以运行本地查询。这似乎有助于大大降低速度,但是当我运行服务器性能管理器工具时,我发现只有两个人使用该 openfire 服务器,我每秒运行 593.7 个请求。

感谢您的帮助,如果我没有提供足够的数据,请告诉我您需要什么,我可以找到它。

从对话中添加其他信息:我仍在仔细检查我的设置,但它们似乎是正确的。当我执行wireshark 时,我注意到虽然它会将整个联系人列表作为查询发送,但我假设它缓存在名册列表下。但是,即使设置了某些 Cashe 字段,也不会看到它们被使用。

我查看了您发送的链接,我之前已将其添加到我的 openfire 中,希望能解决它,仍然是同样的问题。

有没有人做过服务器性能管理器,看看你是否和我有同样的问题?或者一个 tcpdump。当我在同一台服务器上运行 openfire 和 Ldap 时,它似乎只需要 2-5 秒,只有两个人在上面,而不是 2-5 分钟,而没有它。最后检查性能经理说每秒 600 个。

我的主要内容是它只是不缓存,但我不确定这是否正确。

感谢您的反馈!

4

1 回答 1

0

也许它根本没有找到 ldap。从日志转储中,看起来上下文构建可能是空的,整个过程重新开始。

我会再仔细看看你的配置。

http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/ldap-guide.html

Base DN: OU="Hidden",DC="Hidden",DC="net" //这对您的设置有效吗?

于 2010-06-08T17:49:27.940 回答