我对Windows的Spectre / meltdown补丁有问题(该补丁于去年第一季度发布)。激活后,我的delphi REST服务被减慢了大约15倍(因此,如果请求花费1秒钟,激活的补丁大约需要15秒钟)。我已将速度下降追溯到数据库连接。从某种意义上说,从参数设置到sql文本的转换要花很长时间,然后在数据库本身上执行的时间比平时长得多。首先,我通过将sql语句减少到几行来帮助自己,并且它变得更快(因此,更多的行意味着更多的时间。大约就像这样,如果您向更新/插入语句中添加一行,则需要0.2-0.3据我所知,select语句可以正常工作)。 当我在其他请求上遇到相同的问题,并且应用程序仍在开发中时,我关闭了补丁程序,一切变得更快了。现在,管理员坚持认为补丁已打开,问题再次出现。
是否有人遇到过类似的情况,或者是否有可能将应用程序排除在补丁程序之外?奇怪的是,我也有一个使用相同业务逻辑的客户端/服务器应用程序。客户端/服务器应用程序的速度也在减慢,但是大约是2的倍数。这就是我不太了解的事情。使用相同的功能,从服务内部花费的时间比从客户端/服务器应用程序花费的时间长得多。
是的,我正在使用devart进行数据库连接,并使用了mssql服务器(2016)。该服务和客户端/服务器应用程序都是用delphi XE7编写的(现在正在尝试通过Xe10.2进行更新,希望这会有所帮助)
谢谢