Я борюсь с странной проблемой производительности, связанной с закрытием соединений с базой данных в моем коде C #. Мы используем сервер базы данных под названием Raima на локальном компьютере (только локальное TCP-соединение 127.0.0.1 с локальным сервером базы данных на том же компьютере, а не через локальную сеть) через его собственный API Raima (не ADO.NET, а просто .NET). обертка).
Проблема заключается в том, что на многих компьютерах (высокопроизводительных двухъядерных или четырехъядерных компьютерах) закрытие занимает в большинстве случаев около 120-250 мс (например, 120 мс в веб-службе .NET C # и 250 мс в .NET). C # Windows), в то время как на других компьютерах это занимает всего 4 мс (устойчиво). Что меня смущает, так это то, что на некоторых компьютерах это, например, большую часть времени составляет 120 мс, но иногда оно может достигать 4 мс.
Наш поставщик баз данных (Raima) сказал нам, что они ничего не могут с этим поделать, потому что это замедление вызвано методом Winsock closesocket ().
Итак, мой вопрос: правда ли, что Winsock closesocket () может вызывать такие замедления на локальном компьютере? Или это, в конце концов, просто о поставщике базы данных и их медленном драйвере / сервере базы данных?
Спасибо!