- Removed tcp optimization based on speedtest due to unstablity
- Optimization and Set force apt to use IPv4 by default
- Removed
fq
queuing algorithm and replacedcake
with that for better performance
- Configure and fix server hosts and DNS settings.
- Implement function to find the optimal MTU size for improved network performance.
- Enforce
apt update
andapt upgrade
commands to use IPv4 to prevent connectivity issues on IPv6.
- Added logic to check for existing or incompatible versions of
speedtest-cli
and remove them before installing the Ookla Speedtest CLI. - Added failure handling for cases where Ookla Speedtest CLI installation via
apt
fails, logging the error and exiting the script instead of assuming a default speed. - Provided manual installation instructions for Ookla Speedtest CLI in the README file.
- The script now ensures a full system update and upgrade before installing required dependencies to avoid package conflicts or outdated software.
- Introduced dynamic selection of queuing disciplines (
fq
,fq_codel
,cake
) based on system resources (RAM and CPU):- Low-end systems: Uses
fq_codel
for reduced latency. - Medium-end systems: Uses
fq
for balanced performance. - High-end systems: Uses
cake
for advanced queue management and optimal performance in high-traffic scenarios.
- Low-end systems: Uses
- Improved TCP memory buffer and backlog settings:
- Dynamically adjusts
rmem_max
,wmem_max
, andnetdev_max_backlog
based on system resources (RAM and CPU).
- Dynamically adjusts
- Enhanced network tuning based on network speed:
- Automatically configures
tcp_rmem
andtcp_wmem
for different network speeds to optimize throughput and reduce latency.
- Automatically configures
- Set default queuing discipline via
net.core.default_qdisc
dynamically based on system benchmarks. - Retained
bbr
as the default TCP congestion control algorithm for optimal throughput and low latency. - Updated sysctl logging mechanism to capture queuing discipline choices and dynamically tuned network settings.
- Prevented redundant backup creation of
/sysctl.conf
if a backup already exists, streamlining the configuration process.
- Improved inline comments and log messaging for better readability and tracking of dynamic system adjustments.