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