Призрак / Обвал замедляет работу Delphi - PullRequest
0 голосов
/ 10 января 2019

У меня проблема с патчем «Спектр / Расплавление» из Windows (он был выпущен где-то в первом квартале прошлого года). При активации моя служба delphi REST замедляется примерно в 15 раз (поэтому, если запрос занимает 1 секунду, а активированные исправления - около 15 секунд). Я проследил замедление до подключения к базе данных. Каким-то образом перевод из параметров, после того как все они были установлены, в текст SQL, занимает очень много времени, а затем выполнение самой базы данных занимает намного больше времени, чем обычно. Сначала я помог себе, урезав оператор sql до пары строк, и он стал быстрее (так что больше строк означает гораздо больше времени. Примерно так, если добавить еще одну строку в оператор update / insert, это займет 0,2-0,3 секунд больше, чтобы обработать транзакцию. Насколько я видел, операторы select работают нормально). После того, как у меня возникла та же проблема с другими запросами, и приложение все еще находится в разработке, я отказался от патчей, и все стало намного быстрее. Теперь администратор настаивает на том, чтобы патчи были включены, и проблема снова возникла.

Кто-нибудь сталкивался с чем-то подобным или есть возможность исключить приложение из целевых патчей? Странно то, что у меня также есть клиент-серверное приложение, использующее ту же бизнес-логику. Клиент-серверное приложение также замедляется, но примерно в 2 раза. Так что это вещь, которую я не совсем понимаю. С теми же функциями, это занимает гораздо больше времени внутри службы, чем из приложения клиент / сервер.

Ах да, я использую devart для подключения к базе данных, и это сервер mssql (2016). Служба и клиент-серверное приложение написаны на delphi XE7 (сейчас пытаюсь обновить до Xe10.2, надеясь, что это поможет)

Спасибо

...