2016-05-02 7 views
0

У меня есть страница веб-форм asp.net, которая делает вызовы для выбора/d3 через mv.net. Я вошел производительность на стороне сервера, окружая mv.net вызовы с кодом синхронизации, например: logTimeElapsed() getDataFromPick() 'gets 5 rows of test data logTimeElapsed()MV.NET вызывает гораздо медленнее, когда веб-сайт удален удаленно по сравнению с локальным

Когда я называю эту страницу с хостинг-сервера IIS, я получаю быстрое время отклика, такие как: newAC elapsed: 2.9297 total: 2.9297 Dim Acct As mvAccount = New mvAccount("...") row 1 elapsed: 20.5078 total: 23.4375 Acct.FileOpen("...").ReadV(strID, 17) row 2 elapsed: 9.7657 total: 33.2032 same as above row 3 elapsed: 11.7187 total: 44.9219 same as above row 4 elapsed: 11.7188 total: 56.6407 same as above row 5 elapsed: 9.7656 total: 66.4063 same as above Logout elapsed: 1.9531 total: 68.3594 Acct.Logout()

Однако, когда я называю эту же страницу из другого места в сети или в Интернете, я получаю время отклика, которые примерно в 7 раз больше: new acct elapsed: 0 total: 0 Dim Acct As mvAccount = New mvAccount("...") row 1 elapsed: 156.25 total: 156.25 Acct.FileOpen("...").ReadV(strID, 17) row 2 elapsed: 78.125 total: 234.375 same as above row 3 elapsed: 78.125 total: 312.5 same as above row 4 elapsed: 78.125 total: 390.625 same as above row 5 elapsed: 78.125 total: 468.75 same as above Logout elapsed: 0 total: 468.75 Acct.Logout()

из приведенных выше результатов она выглядит следующим образом:

При доступе локально:

mv.net занимает пару миллисекунд, чтобы создать и выйти из учетной записи, и каждый вызов FileOpen выполняется быстро.

Когда доступ Дистанционно:

mv.net принимает 0 раз для создания и выхода из системы счета (повторное использование общего счета?), Но каждый вызов FileOpen медленно.

Как я могу привести удаленное представление в соответствие с локальной производительностью? Есть ли изменения в настройках mv.net или iis?
Есть ли что-то, что происходит с правами пользователя, которые отличаются друг от друга, когда iis называется локально vs удаленно?

Любая помощь оценили

+0

Боковой комментарий: Я знаю, что вы пытаетесь решить конкретную проблему здесь, так что, возможно, это вне линии: Несколько «Acct.FileOpen (« ... »). Операции ReadV()' создают больше работы на сервере, а также сделать соединение более частым (увеличивая время транзакции). Я бы рекомендовал один FileOpen, за которым следует один или несколько операций чтения с этого объекта. Вы можете получить определенные атрибуты в одном файле mvItem, используя имена или ссылки atb, чтобы вы могли получать то, что хотите, в одном выражении, а не в нескольких, и не помещая весь элемент на провод из D3, когда он вам не нужен. HTH – TonyG

ответ

1

Я думаю профиль вашей учетной записи настроен для достаточно быстрого завершения. Поэтому, когда вы тестируете локально, вы нажимаете его несколько раз, и это выглядит быстро. Затем вы переходите к использованию удаленного подключения, в течение этого времени соединение с D3 завершается. Затем вы подключаетесь, и он снова должен войти в D3, что приведет к хиту производительности.

Мое предложение состоит в том, чтобы установить профиль учетной записи, который не должен заканчиваться при выходе из системы. Таким образом, все соединения, попадающие в нее в этот момент, будут использовать один и тот же постоянный сеанс. Ваше локальное соединение прекратится, а затем, когда произойдет удаленное подключение, сеанс входа в систему с D3 будет активен, и вы не почувствуете боль при входе в систему. Если это не так, дайте мне знать, и мы справимся. :)

+0

Я рассмотрю это сейчас. Для получения дополнительной информации, вот ответ, что коллеж вернулся из BlueFinity: _Что делают другие люди в таких обстоятельствах, как использование пакетов sniffers (например, Wireshark) в сети для диагностики проблемы, поскольку это не mv.NET. Это связано с проблемой сетевого уровня, которая дает плохую производительность telnet, а затем влияет на производительность mv.NET. –

+0

Спасибо Тони. Мы посмотрели профиль учетной записи и настроили «нет автоматического завершения» и «нет авто освободить'. Также, когда я сравниваю запись монитора подключений mv.net на машине iis, когда сайт удаленно и локально вызывается, он имеет ту же самую информацию и один и тот же идентификатор клиента (MachineName: W3Wp.exe: 6112). –

+1

Кажется, что Bluefinity еще не понимает детали. Чтобы быть ясным, я хотел бы также напомнить свое понимание: у вас есть один менеджер сеансов с одним (?) Постоянным Telnet (MVSP?) Соединением с D3. Я предполагаю, что он находится в том же ящике, где работает IIS (?). Вы используете браузер localhost, попадая в этот IIS и получаете один тайм. Вы удаляете тот же сервер, ASPX, DLL, web.config с другого ПК или извне сети, и вы получаете разные сроки. Вы можете сделать это поочередно и увидеть точно такие же странные результаты. Все верно? Интересный вызов. Я буду следить за вашим ответом. – TonyG

 Смежные вопросы

  • Нет связанных вопросов^_^