Domino 8.5.3, Windows 2008 R2, работающая на виртуальной машине ESX.
Мой вопрос не о производительности представления, а о процессе индексации и о том, как это влияет на другие процессы на сервере. Похоже, если индексируется 1 представление, доступ ко всем представлениям «заблокирован» до тех пор, пока этот процесс индексации не будет запущен. Весь доступ осуществляется через задачу http, поэтому, когда пользовательский HTTP-запрос запускает индексирование представления, диспетчер задач показывает HTTP как принимающий процессор.
Некоторые настройки из нашего notes.ini:
ОБНОВЛЕНИЯ = 2
UPDATE_NO_VIEWS = 1 Мне известно об этом: http://www-10.lotus.com/ldd/dominowiki.nsf/dx/http-and-view-index-performance ... Я могу более подробно объяснить, почему мы это делаем, если потребуется.
VIEW_REBUILD_DIR = E: \ tmpdom \
Мы предпринимаем шаги, чтобы свести на нет описанную выше ситуацию, но время от времени происходит упрощение нашего сценария:
БД с 300000 документов и 4 представления (A, B, C, D) и API, доступ к которому осуществляется через http, который возвращает данные из представлений A, B, C, D. Пул потоков HTTP (40 в нашем случае) при полной «ожидаемой» нагрузке приложения никогда не насыщается. Доступ ко всем представлениям осуществляется постоянно, поэтому индексы представлений всегда актуальны ... примите в конкретном случае, о котором я могу при необходимости рассказать более подробно.
Теперь допустим, что представление D нуждается в переиндексировании. Пользователи получают произвольный доступ ко всем 4 представлениям, как только пользователь использует вызов API, который извлекает данные из представления D, запускается повторное индексирование, все другие пользователи, получающие доступ к данным в представлениях A, B, C, теперь блокируются. Очередь пула потоков очень быстро увеличивается до 40, и все запросы объединяются в пул, поэтому приложение по существу перестает работать. Поскольку в минуту приходят тысячи запросов, увеличение пула потоков не имеет смысла.
Таким образом, если индекс представления начинается с представления D, доступ ко всем остальным представлениям блокируется до его завершения. Правильно ли я понимаю, и есть ли способ изменить это поведение? Например. не блокируйте доступ к другим представлениям.
Заранее благодарим за любой вклад или комментарии.