Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Windows-гость - медленные чтения файловой системы

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Windows-гость - медленные чтения файловой системы, Proxmox Виртуальная Среда
     
    matthei
    Guest
    #1
    0
    17.01.2023 20:41:00
    Использую Proxmox 7.2 с гостевой Windows 10. Я заметил, что компиляция кода с примерно 12000 мелкими файлами (всего 215 МБ) занимает очень много времени. То же самое происходит, например, с Subversion-Commit, который проходит через все файлы и проверяет их на изменения. После некоторых экспериментов я написал небольшую программу, которая проходит через все файлы и просто их читает. Первый проход занимает 67 секунд. Второй — 0,7 секунды (так как файлы кэшируются, вероятно, в Windows). У меня Ryzen 4750 с NVME Samsung 980pro на 2TB. У меня нет чистой машины с Windows, чтобы протестировать это напрямую, но я помню, что обычно было довольно быстро, всего несколько секунд. Так что, вероятно, где-то есть узкое место... есть идеи, что я мог бы перенастроить, чтобы ускорить чтение файлов? Пока я буду использовать эту программу "Directory Warmer", чтобы периодически читать файлы и держать их в кэше. Но мне бы хотелось узнать, есть ли более правильное решение. (Я знаю, что есть некоторые накладные расходы на производительность, но это кажется слишком медленным, чтобы быть нормальным).
     
     
     
    matthei
    Guest
    #2
    0
    06.03.2023 00:59:00
    Наконец-то я нашел время, чтобы подготовить тестовую среду. Большое спасибо за напоминание об этом. DirectoryWarmer - неплохое решение, если я работаю с одним кодом, но для нескольких проектов на node-js это довольно сложно. https://www.reddit.com/r/ProgrammerHumor/comments/6s0wov/heaviest_objects_in_th­e_universe/ Настройка среды 230 МБ кодовой базы (обфусцированная/санировано). В основном 13 тыс. файлов различных размеров, в основном очень маленьких. https://www.dropbox.com/s/gktglx191gxjtcl/2023-03-06 DummyCodebase-Sanitized.rar?dl=0 Directory warmer: https://github.com/papler/DirectorWarmer/tree/0.1.0 Исполняемые файлы (если вы мне достаточно доверяете, хотя они будут работать в песочнице, поэтому, я полагаю, это не важно) https://github.com/papler/DirectorWarmer/releases/tag/0.1.0 Поместите исполняемый файл в основную директорию Кодовой базы, и он прочитает все файлы в директории, где находится .exe, и будет повторять это каждые 10 минут. Первый запуск, вероятно, займет минуту, а второй раз — секунду (с большой вероятностью, он читает из кеша Windows). Если оставить его на ночь, вы заметите, что в конечном итоге Windows сбросит кеш файлов, и снова потребуется время, чтобы их прочитать. Для сравнения, Windows на "голом" железе читает их Вот мой 101.conf: Код: agent: 1 balloon: 0 bios: ovmf boot: order=scsi0;net0 cores: 6 cpu: host,hidden=1,flags=+pcid efidisk0: local-lvm:vm-101-disk-0,size=4M hostpci0: 0000:10:00,pcie=1,x-vga=1 machine: pc-q35-6.0 memory: 49152 name: win10-primary net0: virtio=---редактировано----,bridge=vmbr0,firewall=1,tag=25 numa: 0 onboot: 1 ostype: win10 scsi0: local-lvm:vm-101-disk-1,cache=writeback,size=140G scsi2: local-lvm:vm-101-disk-2,size=51208M scsi4: local-lvm:vm-101-disk-3,cache=writeback,discard=on,size=100G scsi9: local-lvm:vm-101-disk-4,backup=0,cache=writeback,discard=on,size=64G scsihw: virtio-scsi-pci smbios1: uuid=---редактировано---- sockets: 1 usb0: host=3-1.1.1,usb3=1 usb1: host=3-1.1.2,usb3=1 usb2: host=3-1.1.3,usb3=1 usb3: host=3-1.1.4,usb3=1 usb4: host=3-1.2,usb3=1 usb5: host=3-1.3,usb3=1 usb6: host=3-1.4,usb3=1 vmgenid: ---редактировано----
     
     
     
    matthei
    Guest
    #3
    0
    06.03.2023 01:40:00
    На самом деле, я только что протестировал это на старой (приблизительно 2018 года) машине с Windows на голом железе, и время чтения в два раза больше, чем на Windows-госте Proxmox... так что, возможно, дело не в Proxmox, а просто в том, что файлов слишком много. Но я помню, что некоторые операции (просто проходя через все файлы и забирая их имена, время последней модификации) занимали всего несколько секунд тогда на голом железе, в то время как сейчас они занимают около 15-30 секунд как гость. Мне стоит провести ещё тесты, чтобы уточнить конкретные операции и сравнить это с машиной под Windows на голом железе. (Хотя кодовая база с тех пор тоже немного увеличилась, но всего на 10%)
     
     
     
    Matthias.
    Guest
    #4
    0
    06.03.2023 15:07:00
    Может быть, Windows кэшировал или сканировал их, не сообщая тебе об этом? Я смог воспроизвести твои результаты на виртуальной машине с Windows. Я использовал небольшой скрипт на Python (взятый отсюда: https://stackoverflow.com/questions/2212643/python-recursive-folder-read/57223193#57223193) вместо твоей программы, но с твоим набором данных (огромное спасибо!). Python: import os,timeit

    def read():
       for currentpath, folders, files in os.walk('.'):
           for file in files:    
               a = open(os.path.join(currentpath, file)).readlines()


    print(" первый раз: ", timeit.timeit(read, number=1))
    print(" второй раз: ", timeit.timeit(read, number=1))

    input() Код: первый раз:  40.53073719999975
    второй раз:  4.097600800000691 (по некоторым причинам на последующих тестах первый запуск занял 80 секунд) Я попробую запустить тот же тест на компьютере без виртуализации. Но я подозреваю, что ты прав, и это просто Windows медленно работает с маленькими файлами. Еще одно, что ты мог бы попробовать — отключить сканирование для этой папки. Это дало мне значительный прирост скорости: с 80 секунд до 11 секунд https://support.microsoft.com/en-us...security-99e6004f-c54c-8509-773c-a4d776b77960. Конечно, это связано с проблемами безопасности, так что я могу рекомендовать это только для тестирования. Из-за этой огромной разницы, я сомневаюсь, что проблема в виртуализации. Похоже, ты тут потерял несколько слов : )
     
     
     
    Matthias.
    Guest
    #5
    0
    07.03.2023 10:40:00
    На "голом" железе я получаю очень похожие цифры и такое же увеличение производительности при отключении сканера.
     
     
     
    matthei
    Guest
    #6
    0
    09.03.2023 18:59:00
    Большое спасибо, что указали на Defender Antivirus, я об этом не подумал. Скорее всего, это оно… Теперь вопрос в том, стоит ли его отключать. Да, именно тогда я понял, что мне нужно провести тест на "голом" железе и забыл, что остановился, не закончив предложение. Мы можем считать эту проблему решенной, или ну... это не вопрос Proxmox.
     
     
     
    Matthias.
    Guest
    #7
    0
    10.03.2023 10:00:00
    Отлично! Пожалуйста, отметь тему как решённую (отредактируй её, рядом с заголовком есть выпадающее меню), чтобы другим, у кого такая же проблема, было легче её найти.
     
     
     
    matthei
    Guest
    #8
    0
    11.03.2023 10:02:00
    Я не могу это отредактировать, возможно, пост слишком старый?
     
     
     
    Dunuin
    Guest
    #9
    0
    11.03.2023 16:16:00
    Да, старше месяца, так что вы больше не можете это редактировать.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры