В настоящее время у меня есть dotnetcore WebApi, который обслуживает видео. Видео хранятся в таблице сервера SQL как varbinary (MAX). Это работало, однако я читал, что для поддержки сафари IOS нам нужно было принять заголовок диапазонов, поэтому я добавил поддержку для этого (я думаю).
Однако сейчас я замечаю две вещи (которые могут быть не связаны):
1) Каждый раз, когда выполняется вызов этого API, центральный процессор снижается до 100%. Я могу только предположить, что EntityFramework запрашивает БД для файла 25 МБ. Кажется сумасшедшим, но API больше ничего не делает? Можно ли это улучшить, так как сервер только перемалывает.
2) В API поступает несколько запросов с разными байтами диапазона. Однако мой API, в свою очередь, запрашивает базу данных при каждом запросе и, таким образом, отправляет процессор в перегрузку на длительный период.
Есть ли лучший способ обработки запросов диапазона при запросе большого объекта?