2016-01-20 2 views
0

В последние месяцы я заметил, что задержка в процессе создания нового билета через веб-интерфейс. На данный момент требуется около 18 секунд, чтобы связать пользователя с билетом на экране http: //servidor/otrs/index.pl Action = AgentTicketPhone ?. Медленность возникает, когда пользователь выбирается в списке (который отображается без какой-либо задержки).OTRS - новый телефонный билет - медленное добавление CustomerUser из AD (CustomerID)

Via AdminSupport нет оповещения SQL-тест отличен, даже во время тестового производства (с 28 отдельными агентами) все тесты, перечисленные как «Выглядит хорошо!». билетов :: SearchIndexModule как StaticDB и выполняется «бен/otrs.RebuildFulltextIndex.pl»

аутентификации связана с AD, который обслуживает около 2000 сотрудников, но у нас есть пять контроллеров домена и Config.pm я настроен IP использовать только один из них (высокая производительность, менее используемый и находится в одном и том же сегменте сети) и с «CacheTTL => 60 * 60 * 24». Я ищу несколько полей AD, но я знаю, что это не то, что замедляет то, почему они отображаются сразу, а другие, называемые полями экрана регистрации, остаются «заблокированными» до тех пор, пока он не завершит загрузку «что-то».

Я проверил DNS и внутри сервера может разрешать внутренние имена и без потери пакетов. Я не использую IPV6 на сервере OTRS или контроллере домена (AD).

Используйте несколько учетных записей электронной почты, но, как и в так называемом электронном почтовом ящике, только после создания имени, эта проблема отклоняется.

На выделенном сервере имеется 8 процессоров с 9 ГБ оперативной памяти в высокопроизводительной виртуальной VMWare. Но сейчас S.O 32-бит.

Есть ли у кого-нибудь советы о том, как улучшить производительность на данном этапе? Есть ли что-нибудь, что я могу отключить?

Статистика: Агенты 87 Статьи 397480 Статьи за билет (средн) 4.55 Клиенты с, по меньшей мере, один билет 3904 групп 28 Установка каталога/Opt/OTRS Месяцы между первым и последним билетом 37,53 Операционная система Linux Продукт OTRS 3.3.6 Роли 12 Билеты 87428 Билеты в месяц (в среднем) 2329,33

Apache/2.2.22 MySQL 5.5.25a Active Directory: Windows Server 2008 R2 Google Chrome v47

OTRS версия 3.3.6 (с ITSM) и KIX4OTRS 6.0.2, операционная система - OpenSuse 12 с Mysql.

PS: Я задал тот же вопрос в форуме otrs, но я так долго ищу ответа, что прибегаю к другим форумам.

Спасибо за советы. Он имеет производственную среду и другое разрешение. Условия омологации бывают быстрыми. Я просто использую поля ниже. Моя комната не имеет леса и добавлены два фильтра (AlwaysFilter):

Отрывок из моей конфигурации:

CacheTTL => 60 * 60 * 24, 
     Map => [ 
      [ 'UserSalutation', 'Title',  'title',   1, 0, 'var', '', 0 ], 
      [ 'UserFirstname', 'Firstname', 'givenname',  1, 1, 'var', '', 0 ], 
      [ 'UserLastname', 'Lastname', 'sn',    1, 1, 'var', '', 0 ], 
      [ 'UserLogin',  'Username', 'sAMAccountName',    1, 1, 'var', '', 0 ], 
      [ 'UserEmail',  'Email',  'mail',   1, 1, 'var', '', 0 ], 
      [ 'UserCustomerID', 'CustomerID', 'mail',   0, 1, 'var', '', 0 ], 
      [ 'UserPhone',  'Phone',  'telephonenumber', 1, 0, 'var', '', 0 ], 
      [ 'UserAddress', 'Address', 'postaladdress', 1, 0, 'var', '', 0 ], 
      [ 'UserComment', 'Comment', 'description',  1, 0, 'var', '', 0 ], 
      [ 'UserState', 'RE', 'st',  1, 0, 'var', '', 0 ], 
     ], 
    }; 

# In case you want to add always one filter to each ldap query, use 
# This option. and. g. AlwaysFilter => '(mail = *)' or AlwaysFilter => '(objectclass = user)' 
$ Self -> {'Customer AuthModule :: :: LDAP :: AlwaysFilter'} = ''; 

# In case you want to add a suffix to each customer login name, Then 
# You can use this option. and. g. user just want to use user but 
# In your ldap directory exists user @ domain. 
$ Self -> {'Customer AuthModule :: :: LDAP :: UserSuffix'} = '@ myexample.com.br'; 

DNS работает и проверка MX запись отключена.

Медленность происходит только один раз в день для каждого пользователя. Есть ли способ увеличить время кеша, чтобы уменьшить поиск в AD?

+0

Включите медленный лоток, выверните 'long_query_time' до 1 и подождите целый день. Затем загляните в медленный журнал, чтобы узнать, что такое самый нужный запрос. Тогда мы можем понять, почему это так долго. –

+0

Slowlog должен включить Performance в Sysconfig? Если какой-либо параметр в Mysql, я не знаю, как это сделать. –

+0

Всего несколько настроек в my.cnf для 5.5; плюс перезапустить mysqld. –

ответ

0

Edson!

Как мне кажется, есть несколько вещей, которые могут повлиять на время загрузки ПОСЛЕ выбора клиента из автозаполнения.

Примите во внимание, что первый вызов AD для создания выпадающего меню сам сделан на странице загрузки, так что это не должно быть узким

После выбора следующие методы называются:

  1. AgentCustomerSearch -> CustomerTickets()
  2. AgentCustomerSearch-> CustomerInfo()
  3. FormID со всеми dynamicField представлений

CustomerTickets обеспечивает только поиск билета из системы (Если вы будете искать билеты из интерфейса и не займет 18 секунд - это не тот случай)

CustomerInfo запрашивает данные либо из Active Directory по протоколу LDAP. Если вы храните множество атрибутов (например,> 100 параметров или больших вложений, таких как описание в формате pdf или фотография клиента), этот шаг может стать чрезвычайно медленным

Что я хотел бы предложить оставить только основные параметры из CustomerUserMap (Вход , Email и CustomerID) и проверьте, все ли это медленно. Если это помогает - тогда вы должны просмотреть параметры, полученные из AD, иначе вы должны попытаться ограничить дерево, которое просматривается в вашем AD (если вы разбираете большой env, где пользователи живут на нескольких деревьях, это может занять свое время)

ограничить отображение редактирования клиента файл Kernel/Config.pm и изменить карту в CustomerUser объекта (настройки LDAP)

Map => [ 
     # note: Login, Email and CustomerID needed! 
     # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly 
     [ 'UserLogin',  'Username', 'uid',    1, 1, 'var', '', 0 ], 
     [ 'UserEmail',  'Email',  'mail',   1, 1, 'var', '', 0 ], 
     [ 'UserCustomerID', 'CustomerID', 'mail',   0, 1, 'var', '', 0 ], 
... 
+0

Спасибо за советы. Я добавил дополнительную информацию о среде и конфигурации. Вы знаете, есть ли способ увеличить время кеша, чтобы уменьшить поиск в AD? –

+0

Когда я ввожу часть имени пользователя, отображаемую от имени групп и компьютеров, это нормально? Может быть причиной медленности? –

+0

Прежде всего, вы должны установить параметр AlwaysFilter равным $ Self -> {'Customer AuthModule :: :: LDAP :: AlwaysFilter'} = '(objectclass = user)'; Это установит выпадающий список компьютеров и групп. Попробуйте отредактировать эту настройку (CustomerUserSearchListLimit => 250, ), а также установить значение для нижнего номера (50) – Artjoman

0

Ладно, я сдался и начал все сначала. Перенос только базы данных и установленных OTRS и официальных пакетов, без KIX. Это было лучшее, что я сделал. Я не рекомендую использовать KIX. У меня было много работы, чтобы избавиться от него, но теперь все в порядке, настройте все с нуля, без Config.pm, ZZZAuto.pm или любого другого файла. Я взял только папку var/article и var/log. Существует еще предупреждение относительно модуля Person.pm, но решил удалить данные type_id из db:

У меня мало знаний о mysql, но я тестирую тестовый сервер. Как сообщалось, выполнили следующие команды, чтобы удалить все теги type_id 3, 4 и 5: , которые я тестировал и даже плавно.

DELETE FROM otrs.link_relation WHERE link_relation.type_id = '3'; 
DELETE FROM otrs.link_relation WHERE link_relation.type_id = '4'; 
DELETE FROM otrs.link_relation WHERE link_relation.type_id = '5'; 

После форматирования времени резко сократился, это займет всего 2 секунды, чтобы привести данные пользователя при создании нового процесса билета.