Linux выполняет опережающее чтение при одновременном чтении одного и того же файла

в корневом каталоге ftp

setsebool -P tftp_home_dir on
setsebool -P ftpd_full_access on

мне помогло

2
01.06.2021, 09:47
1 ответ

Can above subtle out of sequence reads could avoid readaheads in this case?

Да, из -из -последовательных чтений из одного и того же файлового дескриптора может повлиять на упреждающее чтение, но ядро ​​пытается это учитывать — по крайней мере, для небольших «случайных» чтений параллельно с последовательным чтением. См. описание схемы упреждающего чтения по запросу -, в частности :

.

In interleaved sequential reads, concurrent streams on the same fd can be invalidating each other's readahead state. So we flag the new readahead page at (start+size-async_size) with PG_readahead, and use it as readahead indicator. The flag won't be set on already cached pages, to avoid the readahead-for-nothing fuss, saving pointless page cache lookups.

Вы можете увидеть, как это подходит, взглянув на ondemand_readahead, в частности его вызовtry_context_readaheadи окружающие комментарии.

Как всегда, пытаясь устранить узкие места в производительности, вы не должны принимать во внимание потенциальные узкие места, кроме как в качестве подсказок. :Вы должны разработать свои собственные тесты производительности и проанализировать характеристики производительности для ваших конкретных сценариев. Например, может случиться так, что ваша последовательность out -из -считывает только те страницы, которые уже находятся в кэше страниц в результате упреждающего чтения при последовательном чтении.

3
28.07.2021, 11:27

Теги

Похожие вопросы