Как померить производительность ?
Пользователь:
muwlgr (IP-адрес скрыт)
Дата: 10, August, 2006 17:09
Здравствуйте,
Между клиентом и сервером Ирбис64 находятся роутер на Win2kserver, оптическая линия с конверторами 100Base FX/TX (Planet), и ещё один роутер на Linux. Задержка по этому линку на мелких пингах примерно в 5 раз больше, чем по обычному 100Мбитному Etherу. Пропускная способность в узком месте (оптика) - примерно 10 Мбит/сек. Потерь пакетов практически нет (<0.05%). Крупные файлики по линку качаются быстро и хорошо.
Тем не менее клиентская часть "Каталогизатора" не слишком быстро обрабатывает сложные запросы на поиск и обновление. Ощутимо медленнее, чем когда клиент и сервер находятся в одной локальной сети. На сервере объём главного файла базы 325Мб, вместе с индексами - около 460 Мб, число записей около 140000. Оперативной памяти на сервере 2 Гб, процессоров 2, но этого как раз хватает.
Подозрения, как обычно, на то, что Ирбис64, как и старая файл-серверная версия, посылает слишком много мелких запросов и на каждый из них ждёт ответ перед посылкой следующего. Т.е. не применяется никакой буферизации/агрегации/распараллеливания запросов. А значит, узким местом в его работе является не пропускная способность сети, а задержка при передаче информации в ней.
Хотелось бы узнать у авторов, какие средства есть в Ирбис64 для наблюдения за работой клиентских и серверных программ ? Хотелось бы получить данные о событиях, происходящих в них, и точные показания времени, когда они случались (до 3..6 знаков после запятой, в секундах).
Есть какая-то отладочная информация, логи и пр.?
Заранее благодарен за ответ.