2017-02-08 20 views
0

Я создал простой провайдер WebService в Domino, это выглядит примерно так:поставщик Webservice в Domino спайка CPU и причин семафора состояние блокировки

Public Class Integration 

    Sub New 
     Set session = New NotesSession 
     Set db = session.CurrentDatabase 
    End Sub 

    Public Function importA() 
     importA = getData() 
    End Function 

End Class 

Мы создали внешний WebService потребитель, который использует функцию поставщика как для получения, так и для отправки данных.

Моя проблема заключается в том, что при отправке или получении xml-файлов (размером около 2 МБ) процессор Domino на 100% и консоль Domino иногда указывают состояния блокировки семафора. просто загрузка или отправка XML-файла занимает около 11 минут.

При получении файлов xml мы получаем их как строковый параметр в функции, при отправке xml-файлов мы отправляем их как строку из этой функции.

Что может быть причиной этой задержки и блокировки на сервере домино?

Мы работаем в локальной локальной сети и не имеем проблем с подключением к Интернету. Сервер Domino не занят другими задачами.

+0

Это звучит как вопрос для поддержки IBM. –

ответ

1

Есть несколько советов, вы можете захотеть взглянуть на:

  • вебсервис должен пойти и отправить XML, а не строки, которые выглядят как XML. Возможно, вы захотите создать правильное описание WSDL, соответствующее вашей структуре XML. Это ускорит обработку совсем немного. Используйте SAX для записи XML.
  • Verse (и FP8) значительно улучшилась по Семафору замков, что тоже может помочь (улучшение является частью исправлений, выпущенных для стиха, и будет в FP8 тоже)
  • При создании 2MB строки ... сделать вы используете конкатенацию String или NotesStream. Поток будет намного предпочтительнее
  • Наконец, вы можете попробовать переписать код на Java - лучше профиль. Использование SAX для write the document или использовать my helper class

Надежда, что помогает

+0

спасибо. Я бросил webservice, и вместо этого я сохраняю xml-файлы в notesdocuments из почтового запроса. намного быстрее. –