Я разработал диспетчер загрузки с динамическим алгоритмом сегментации, например IDM для большого файла, поскольку многосегментная загрузка, потоки пишутся в разных пространствах файла, которые, возможно, имеют расстояние 4 ГБ. по причине это запись возможности снижение очень. Я не знаю, как быстро написать эти данные Я попытался выиграть api WriteFile Вместо Stream.Write, но я обнаружил, что проблема в том, что проблема связана с движением hdd Я пробовал MemoryMappedFile с 5MB ViewStream в памяти для каждого сегмента, скорость записи но не так, как я ожидал. psudo-код использования MemoryMappedFile выглядит следующим образом. может быть, мой подход с использованием неверно отображение файла в памятьFast Write Huge File Multi Segmented C#
create MemoryMappedFile
for each segment
create 5MB ViewStream
write to memory stream
if data passed 5 MB or passed end of segment then close ViewStream and Create new ViewStream if not passed end of segment
Какая польза? думаю, что мой файл составляет 5 ГБ, если я создаю 50 * 100 МБ снова голова должна переместиться через 5 ГБ пространства, чтобы писать во всех файлах. Моя проблема в том, что количество запросов в секунду в этой области очень велико. – Hamid
Ваша сеть быстрее, чем ваши диски? Получите RAID хорошего SSD, чтобы соответствовать. –
нет, это не 10MB Network Speed и около 80 MB HDD Write Speed – Hamid