I noticed the 250N is very slow- the interface, that is. I have been compiling Kernels from Kernel.org as an amatuer for about 20 years. I found some settings in the config that I believe should be changed and may be slowing the entire router down:
I don't ever enable this and it seems odd to have it enabled on a production machine.
CONFIG_DEBUG_KERNEL=y
My experience with KPROBES are that it increases overhead in a big way. I would never enable these on any system.
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_CLK=y
"Kprobes allows you to trap at almost any kernel address and
execute a callback function. register_kprobe() establishes
a probepoint and specifies the callback. Kprobes is useful
for kernel debugging, non-intrusive instrumentation and testing.
If in doubt, say "N"."
Oprofile for sure slows the system down and a lot. These seem really wrong for a production system!
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=y
CONFIG_HAVE_OPROFILE=y
"OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.
If unsure, say N."
I don't think you want this on a production
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
These all hit performance and I'd question whether some were needed.
CONFIG_STACKTRACE=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_TRACING_SUPPORT=y
"
This option causes the kernel to create a /proc/pid/stack for
every process, showing its current stack trace.
It is also used by various kernel debugging features that require
stack trace generation.
Symbol: STACKTRACE [=n]" *** DEFAULT HERE IS N
You can do a
cat /sys/block/sda/queue/scheduler
and
echo "deadline" /sys/block/sda/queue/scheduler
to find the best IO scheduler for the specific memory you're hosting on the device. I found this information here:
https://blog.codeship.com/linux-io-scheduler-tuning/
Although I have played around with IO schedulers, I haven't pinned down which work the best for SSD vs HDD (yet).
You could use hdparm to test the disk IO
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_FREEZER=y
I hope this helps. My router is great but it does seem slower than it shout be- especially restarting and the web menu.