> Нет, не хватило. Представь, что у "обчного пользователя" ноутбук. (Ноутбуки сейчас по
> статистике составляют 50% парка от всех персоналок и продолжают вытеснять десктопы).
> И?Представил. У ноутбука тормозной диск. Один. Как правило 2.5" и не более 5400RPM. На последовательное чтение может выжать мегов 50-60 в секунду. При множественных параллельных запросах - полнейший обсирон (скорость падает до нескольких мб/сек). Не является ноут крутым сервером, да. И имеет свои ограничения. Сюрприз?
Как лечить?
1) Попробовать уменьшить фрагментацию в надежде что головы будут меньше елозить и больше - читать данные, так что скорость подрастет. Отдефрагать ФС (if possible). Юзать полную преаллокацию, чтобы доступ к файлу был более последовательным. Юзать ФС стойкую к фрагментации, типа XFS, который упирается рогами и копытами по части фрагментации и хорошо работает с большими файлами.
2) Можно попробовать разные планировщики I/O и тюнинг параметров. Насколько оно там в бсде катит - да хз. Это тебе и прочим бсдунам виднее. Тем не менее, наивно ожидать что 8088 путем выбора шедулера вдруг резко станет "крутейшим пентиумом", то же самое относится и к ноутбучному диску. Ну не бывать ему крутым сервером вытягивающим массовый параллельный доступ на культурной скорости, извини :)
3) Поставить SSD, наконец. Круто. Дорого. И у него нет голов. Гонять нечего. Поэтому seek в разные стороны его мало смущает. Кардинально и проблема отвалится как класс. Как минимум, ос сможет более-менее вменяемо его шедулить и если шедулер не полное дерьмо, тормозов станет намного меньше. В случае механики проблема в том что заранее вообще толком неизвестно насколько там винт заткнется при выполнении запроса. Проблема только в том что пока еще емкие и быстрые SSD стоят совершенно дико для обычного хомяка с ноутом :).Но через несколько лет и ноут запросто станет крутейшим серваком если SSD поюзать :))
4) Мля. Можно вынести скачку торентов на отдельный внешний девайс :))). От юсб-диска до самостоятельной качалки в роутере, NAS или где там блин еще :). Решает проблему на корню - тормозить если кто и будет, то не диск с системой и значит не система :)
> Я привёл use case для типичной конфигурации домашнего компьютера с одним винчестером
> и ноутбука.
Чувак, ты положил хилый ноутбучный винт (5400RPM?) параллельными запросами. С которыми он справляется из рук вон плохо (seek у него медленный чтопипецъ). И поимел то что должен был поиметь. Что тебе не нравится? Возьми файлманагер, начни копировать 10-гиговый файл того же торента по системному разделу без всякой трансмиссии. И попробуй запустить программу. Что, запуск программ притормозился? Так это потому что винч разрывается между чтением файлов программы и ее либ и параллельным выполнением попрошенного тобой копирования файлов. Ноутбучный диск на этом сливается на раз :). При том сомнительно что даже самый лучший шедулер много выжмет. Если пытаться что-то улучшить - надо постараться сделать чтение более-менее последовательным, но в упомянутой ситуации это не так то просто. SSD тебе в руки с таким use case :). Или отдельный диск под торенты, если жаба протестует.
>> Я бы понял наезд на блокирующую преаллокацию или move торента :). Но верификация асинхронная,
> И что? Какой смысл ты вложил в слово "асинхронная", если на САМОМ_ДЕЛЕ
> запуск любой программы во время выполнения верификации сопряжён с заметной задержкой
> в лучшем случае на полминуты,
Программа делает вполне валидную для программы операцию - читает данные с диска. Довольно быстро. И даже более-менее последовательно (если преаллокация юзалась). Файлманагер читает их еще быстрее (хешировать не надо и потому даже теоретически оно в проц не упрется). Давай теперь еще и все файлманагеры обругаем? А то что торент чаще ворочает ...цатигиговые чушки чем файлманагер и потому попал под твое наивное внимание - кто ж виноват? Я вижу лишь 1 случай когда диску может полегчать: тормозной торент-клиент, который настолько медленно считает хэш, что даже ноутбучный диск успевает отдохнуть немного :). Но это похоже на выигрыш соревнования путем укорачивания ног "вражеского" бегуна чтобы он медленнее бегал в случае когда по другому выиграть не получается :)
> в худшем — до конца проверки торрента.
Настолько засран обмен с диском + планировщик жидко сдристывает, позволяя одной программе узурпировать диск?
> Кстати, тут говорят, что это только Gtk-версия Transmission на такое
> способна, почему так?
Не знаю что там говорят, но я могу создать и ощутимые тормоза в T с вембордой, если это зачем-то надо :)). С учетом асинхронности данной операции могу сказать что гуй у T не клинит, поэтому даже списать на внутренние заморочки гнома или графической подсистемы сложно. Я думаю что просто тормозит диск, меееееееедленно читая файло запускаемой программы и всякие там библы. Когда торент перестает верифицироваться - процесс чтения остальных файлов ессно намного ускоряется, т.к. доступ уже куда менее параллельный и диск менее озадачен.