【发布时间】:2018-10-23 03:49:48
【问题描述】:
目前我有一个提供视频的 dotnetcore WebApi。视频以 varbinary(MAX) 形式存储在 SQL 服务器表中。这是可行的,但是我读到要支持 IOS Safari,我们需要接受范围标头,因此我添加了对此的支持(我认为)。
但是现在我注意到两件事(可能无关):
1) 每当调用此 API 时,CPU 都会限制到 100%。我只能假设是 EntityFramework 查询 db 的 25MB 文件。看起来很疯狂,但 API 什么也没做?随着服务器的磨合,这是否可以改进。
2) 向 API 发出多个请求,请求的范围字节数不同。然而,我的 api 反过来在每个请求上查询数据库,从而使 CPU 长时间处于超速状态。
在查询大对象时是否有更好的方法来处理范围请求?
【问题讨论】:
-
如果内容是一段时间内不会更改的视频,请尝试使用缓存或内存数据库。
标签: entity-framework asp.net-web-api .net-core