Wireguard low speed

Hello, need help, has setted up wireguard server in router xiaomi ax3200, have 100mbs up/down in wan by pppoe.
My peers can only have 30-35mbs down, and 50 for upload.
Tried changed mtu, doesn't have effected. But strange that when look at realtime graphs/traffic/vpn it shows me about 65-70 mbs when my peer making speedtest for donwload and 105-115 mbs when my peer has upload speedtest.
my configs:

network
config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fda9:5c8b:63a6::/48'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'
        option ipv6 '0'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config device
        option name 'wan'
        option macaddr 'XXX'
        option ipv6 '0'

config interface 'wan'
        option device 'wan'
        option type 'bridge'
        option proto 'pppoe'
        option username 'XXX'
        option password 'XXX'
        option ipv6 'auto'

config device
        option name 'eth0'
        option ipv6 '0'
config interface 'wwan'
        option proto 'dhcp'

config device
        option name 'wwan1-5G'

config wireguard_vpn
        option description 'home'
        option public_key 'XXX'
        option private_key 'XXX'
        list allowed_ips '192.168.9.3/32'
        option route_allowed_ips '1'

config wireguard_vpn
        option description 'PC'
        option public_key 'XXX'
        option private_key 'XXX'
        list allowed_ips '192.168.9.4/32'
        option route_allowed_ips '1'

config interface 'vpn'
        option proto 'wireguard'
        option private_key 'XXX'
        option listen_port '51820'
        list addresses '192.168.9.1/24'
        list addresses 'fdf1:e8a1:8d3f:9::1/64'
        option mtu '1384'

config wireguard_vpn 'wglaptop'
        option description 'wglaptop'
        option private_key 'XXX'
        option public_key 'XXX'
        option preshared_key 'XXX'
        list allowed_ips '192.168.9.6/32'

config wireguard_vpn
        option description 'Lsr'
        option public_key 'XXX'
        option private_key 'XXX'
        option preshared_key 'XXX'
        list allowed_ips '192.168.9.12/32'
        option route_allowed_ips '1'
        option persistent_keepalive '25'
firewall
config defaults
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone 'lan'
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'lan'
        list network 'vpn'

config zone 'wan'
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option masq '1'
        option mtu_fix '1'
        option forward 'REJECT'
        list network 'wan'
        list network 'wwan'

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'
config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'


config zone
        option name 'wg'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        list network 'vpn'

config forwarding
        option src 'wg'
        option dest 'lan'

config forwarding
        option src 'wg'
        option dest 'wan'

config rule
        option name 'wg'
        option src 'wan'
        option dest_port '51820'
        option proto 'udp'
        option target 'ACCEPT'

what does htop say about the CPU load, when you have WG running ?

1 Like

Maximum of 20% when speedtesting

Use htop, not plain top. top aggregates the CPU usage over all cores, with a quad-core like yours, one core at full load will only register as 25% under top.

3 Likes

1 core maximum 28%
2 core maximum 15%
It's when making speedtest. Without activity it's 0-2%
with iperf3 it show's me 80 download to the router, but when try to speedtes outside its just maximum 35 download

What is your internet connection speed (both up and down) on your lan?

both up to 100 mbs (down - 90, up - 95)

are there any ideas?

Maybe something wrong with routes that redirects connection round and in output I have doubled or more less speed? With iperf speed to router shows good.