On Fri, Sep 19, 2008 at 11:06:41AM +0400, Михаил Монашёв wrote:
Здравствуйте, Игорь.
А патчик выкладывать где-то планируешь?
Более того, хочу чтобы закомитили.
Патч прилагается.
Но хочу предупредить, что на обычной FreeBSD имеет смысл увеличивать
только до 128K:
sysctl kern.ipc.sfreadahead=131072
что в ситуации с мелкими картинками должно быть достаточно.
Ещё можно попробовать
sysctl kern.ipc.sfrefer=1
чтобы часто используемые картинки не вытяснялись из VM редко используемыми.
--- sys/kern/uipc_syscalls.c.orig 2008-09-18 19:13:33.000000000 +0400
+++ sys/kern/uipc_syscalls.c 2008-09-18 19:12:20.000000000 +0400
@@ -98,6 +98,8 @@
int nsfbufs;
int nsfbufspeak;
int nsfbufsused;
+static int sfreadahead = MAXBSIZE;
+static int sfrefer;
SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufs, CTLFLAG_RDTUN, &nsfbufs, 0,
"Maximum number of sendfile(2) sf_bufs available");
@@ -105,6 +107,10 @@
"Number of sendfile(2) sf_bufs at peak usage");
SYSCTL_INT(_kern_ipc, OID_AUTO, nsfbufsused, CTLFLAG_RD, &nsfbufsused, 0,
"Number of sendfile(2) sf_bufs in use");
+SYSCTL_INT(_kern_ipc, OID_AUTO, sfreadahead, CTLFLAG_RW, &sfreadahead, 0,
+ "Number of sendfile(2) read-ahead blocks");