Реестр пользователей Websphere позволяет пользователям отслеживать производительность / задержку группы

У меня есть следующий jsp, который я развертываю на WAS, где у меня настроен LDAP с использованием Федеративного репозитория.

<%@page import="com.ibm.websphere.security.UserRegistry"%>
<%@page import="com.ibm.websphere.security.Result"%>
<%@page import="java.io.PrintWriter"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="java.util.*"%>

<html>
<head>
<title>
test user's group
</title>
</head>
<body>
<%!
String group = "my_test_group";

%>
<%

String req = request.getParameter ("group");
if (req != null) {
group = req;
}

%>
<form method="post" action="<%=request.getRequestURI()%>">

Enter Group Name:<input type="text" value="<%=group%>" name="group"/><br>
<input type="submit" value="submit"/>

</form>
<br>
<%

InitialContext ctx = new InitialContext();
UserRegistry userRegistry = (UserRegistry) ctx.lookup("UserRegistry");
try {
        long start = System.currentTimeMillis();
        Result result = userRegistry.getUsersForGroup(group, 0);
        long end = System.currentTimeMillis();
        List list = result.getList();
        out.println ("call took " + (end - start) + " milliseconds<br>");
        out.println (list.size() + " users for " + group + "<br>");
        for (int i=0;i<list.size();i++) {
        String name = (String) list.get(i);
        out.println (name + "<br>");
        }
}
catch (Exception e) {
    PrintWriter pw = new PrintWriter (out);
%>
    There was an error getting the users for the group <%=group %><br>
    <pre>
        <%
        e.printStackTrace (pw);
        %>
    </pre>
    <%

}
%>
</body>
</html>

Когда я запускаю этот jsp через WebSphere, я не получаю ответа в течение примерно 150 с и более для некоторых из моих групп LDAP. Теперь интересно то, что когда я запускаю один и тот же запрос к LDAP напрямую (с помощью запроса браузера LDAP) с того же хоста WAS, я получаю время отклика менее секунды.

Это код JSP, который делает что-то странное? Или делал что-то странное или оба? Любые мысли / указатели очень ценятся.

0 ответов

Похоже, что все последующие прогоны занимают гораздо меньше времени, так что похоже на кеширование VMM. WAS Virtual Member Manager кэширует результаты запросов из репозиториев (например, с сервера LDAP).

Вам необходимо следить за состоянием кеша и вносить изменения в параметры управления кешем, чтобы повысить его производительность. Поскольку WebSphere Dynamic Cache (DynaCache) используется как реализация кэша диспетчера виртуальных элементов, вы можете использовать инструменты и службы, предоставляемые WebSphere DynaCache, для мониторинга кеша диспетчера виртуальных элементов.

Другие вопросы по тегам