Здравствуйте!
Тестирую bpmonline Версия 7.11.3.1715 без кастомизации под нагрузкой. При определенном количестве пользователей в логах начинаются ошибки типа:
1. Object reference not set to an instance of an object.
at System.IO.BufferedStream.ReadByte()
at ServiceStack.Redis.RedisNativeClient.ReadLine()
at ServiceStack.Redis.RedisNativeClient.SendExpectData(Byte[][] cmdWithBinaryArgs)
...
Request URL: http://..../0/DataService/json/SyncReply/SelectQuery
....
2. Exception type: SocketException
Exception message: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
Request information:
Request URL: http://......./0/DataService/json/SyncReply/BatchQuery
....
3. Object reference not set to an instance of an object.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at Quartz.Impl.AdoJobStore.Common.DbProvider.GetDbMetadata(String providerName)
at Quartz.Impl.AdoJobStore.Common.DbProvider..ctor(String dbProviderName, String connectionString)
at Quartz.Impl.StdSchedulerFactory.Instantiate()
Request information:
Request URL: http://......./ServiceModel/AuthService.svc/Login
4. Scheduler with name 'BPMonlineQuartzScheduler' already exists.
at Quartz.Impl.SchedulerRepository.Bind(IScheduler sched)
at Quartz.Impl.StdSchedulerFactory.Instantiate()
at Quartz.Impl.StdSchedulerFactory.GetScheduler()
....
Request URL: http://....../ServiceModel/AuthService.svc/Login
5. иногда сталкиваемся с подвисанием и 100% загрузкой процессора процессом ииса. В это время как правило резко возрастает счетчик "contention rate / sec" на сервере.
Ошибки стабильные, появляются раз в несколько секунд в зависимости от нагрузки, пользователю приходит 500-ая ошибка.
Кто-нибудь сталкивался с подобным, есть пути решения?
Нравится
Здравствуйте!
Для анализа вопроса направьте, пожалуйста, в поддержку полные логи приложения, файл ConnectionStrings (необходимы значения параметров maxReadPoolSize=х;maxWritePoolSize=х), технические характеристики серверов, и детали по нагрузке (количество пользователей, кейсы нагрузки и.т.д).