| 
 | 
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Сабж. IIS 7.5.7600 на Win Server 2008R2 SP1 Enterprice edition. Сервис для внутреннего использования, и доступен только во внутренней сети. Всё работает нормально, но есть пара нюансов: 1. Долгое время отклика сервиса, если к нему какое-то время никто не обращался. Настроили always on, как описано здесь и здесь (параметр startMode для пула, и параметр serviceAutoStartEnabled для приложения, Application Initialization устанавливать не стали) - тем не менее, особенного эффекта это не возымело. Особенно интересна следующая деталь: некое действие клиентского приложения сводится к последовательному (через async-await) вызову 2 сервисных методов, и если к сервису никто не обращался некоторое время, то с ощутимой задержкой выполняются оба метода. Ну, почему долго выполняется первый - это понятно, а вот почему такая же картина со вторым - непонятно: сервис ведь уже поднялся, разогрелся, загрузил сборки, итд. 2. Ввиду изложенного в п. 1 - есть ли смысл поменять хостинг в IIS на self-hosting в виндовс-сервисе? 3. Как вариант - может быть, имеет смысл написать windows-сервис, который с определенной частотой будет дергать методы WCF-сервиса, чтобы не дать ему уснуть? 4. Как можно организовать более-менее достоверное нагрузочное тестирование сервиса? Возможное количество пользователей ~5000, активность обращения к сервису неравномерна - в течение месяца обращения будут достаточно редки, но в отдельные 2-3 дня к сервису могут обратиться все предполагаемые пользователи сразу. Если я в тестовом приложении, например, запущу параллельно с интервалом в 1 секунду 5000 тасков с разными параметрами, которые будут дёргать сервисные методы, и логировать факт успешного/неуспешного вызова - это даст какую-либо внятную картину? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 21.08.2019, 07:12 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Сон Веры Павловны, 4)Создаешь еще один Wcf- сервис (TestCaller), в котором клиенты этого сервиса будут слушать его и ждать от него команды (дуплексная связь) Создаешь консольное приложение, которое подключается к TestCaller и ждет от него команды (callback-реализация). Добавляешь ссылку на свой тестируемый WCF-сервис, подключаешься к нему. Создаешь 5000 консольных приложений. Посредством вызова метода TestCaller, все твои клиенты начнут вызывать твой тестирумый WCF-сервис. Самый лучший вариант-Azure DevOps Services. Только не знаю точно, можно ли там WCF тестить. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 26.08.2019, 11:49 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  >Сон Веры Павловны, 21 авг 19, 07:12  https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1316168&msg=21953925][21953925]  >2. Ввиду изложенного в п. 1... <Данный вариант протестировать обязательно. Причем и для: -WellKnownObjectMode.Singleton. На сервере регистрируем объект https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.remoting.remotingconfiguration.registerwellknownservicetype?view=netframework-4.7.2 ]Type. Далее вызываем сервис с подсчетом времени выполнения. Задержка. Повторный вызов сервиса. Анализ результатов. и для: -WellKnownObjectMode.SingleCall. Можно увидеть как долго сервис поднимается, разогревается, загружает сборки и т.д. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 26.08.2019, 15:16 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  >Сон Веры Павловны, 21 авг 19, 07:12   https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1316168&msg=21953925][21953925]  >...поменял ли в тестовом варианте хостинг в IIS на self-hosting в виндовс-сервисе? < Если да, то каков результат? Вопрос для меня не праздный. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.08.2019, 20:42 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ВМоисеев>Сон Веры Павловны, 21 авг 19, 07:12   https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1316168&msg=21953925][21953925]  >...поменял ли в тестовом варианте хостинг в IIS на self-hosting в виндовс-сервисе? < Если да, то каков результат? Вопрос для меня не праздный. Поменял, отклик сервиса стал однозначно быстрее при вызове любого метода сервиса, и вне зависимости от времени бездействия сервиса. До нагрузочных тестов пока дело не дошло - некогда. В следующий понедельник это хозяйство запускается в полуопытно-полурабочую эксплуатацию, там и выяснится, нормально ли self-hosted будет держать предполагаемую нагрузку. Ну, и плюс еще один профит - self-hosted получилось настроить так, что с одной стороны, он поддерживает windows-аутентификацию, и нормально имперсонирует вызывающих пользователей, с другой стороны, ряд операций может производить в контексте windows-аккаунта, под которым запущен сервис - т.е., например, обращаться к БД c windows-аутентификацией под своей собственной сервисной учёткой. Под IIS мне такого добиться не удалось, как не бился, никакие манипуляции с endpoint identity не помогли. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.08.2019, 07:05 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Сон Веры Павловны, попробуй в консольном приложении запустить, может еще быстрее взлетит. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.08.2019, 10:39 | 
  
  
  
   | 
||
| 
 
WCF-сервис с TCP/IP биндингом, windows-авторизацией, и хостингом в IIS 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Если есть система оркестровки и/или мониторинга, то прописываем там простенький health check и нет проблем :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.08.2019, 12:43 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=19&msg=39854984&tid=1396662]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    14ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    53ms | 
get topic data:  | 
    14ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    57ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 237ms | 
| total: | 398ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.