r/linuxadmin • u/Fluffy_Wafer_9212 • 15m ago
tcp_mtu_probing, should I touch it or no?
Before anything, I really would appreciate answers from professionals without the interference of AI. I have been going back and forth the past few months with multiple AI models asking about this and every model gives a different answer. I really need a certain answer
I run a file storage server which faces the internet and serves customers, so high throughput is one of the goals I try to achieve on my servers
The past 6 months I've been studying the Linux kernel source code and sysctl docs to learn what each tunable parameter actually does instead of blindly pasting configurations from tuning guides and just hope that it makes things perfect
Now one of the points I'm stuck at is net.ipv4.tcp_mtu_probing
I see a lot of tuning guides suggest setting that to 1 or even 2 instead of the default 0
But if that's really recommended, why doesn't Linux set it to 1 by default instead of 0? I mean 1 seems like a better moderate value to set instead of disabling it completely
Although the below points kinda hold me back from altering tcp_mtu_probing but I might be wrong and that's why I opened this topic to ask for advice:
- Packet-layer path MTU discovery (TCP MTU probing, QUIC MTU probing, etc) just mask a real underlying MTU problem which should be fixed from its root instead of hiding it
- TCP MTU probing relies on packet loss and this can falsely make congestion control algorithms work worse and reduce the congestion window even if there's no real congestion
- Certain quirky firewalls may hate the fact that my server is sending data in variable packet sizes because of the MTU probing and hence they may drop the packets completely or block the connection entirely
Do my above points make sense or am I mistaken?