Bandwidth limited in seahub

Hello, I’ve been having this problem where Seafile seems to be limited to 12MBps when downloading or uploading files through the Seahub frontend, even in my local network (using the local ip of the server in the browser). When using SeaDrive the download/upload will use more like 70MBps which is much faster. I don’t know if this could be an nginx problem or maybe Seahub is just slower?

I am using Seafile 9.0 installed through the install script recommended in documentation.

Server Config:

  • i5 11400F
  • 32GB ram
  • HDD disk for seafile data

seafdav.conf

[WEBDAV]

enabled = true

port = 8080

share_name = /seafdav

ccnet.conf

[General]

[Database]

ENGINE = mysql

HOST = 127.0.0.1

PORT = 3306

USER = seafile

PASSWD = $password

DB = ccnet_db

CONNECTION_CHARSET = utf8

seafile.conf

[history]

keep_days = 7

[library_trash]

expire_days = 14

[fileserver]

port = 8082

web_token_expire_time = 10800

http_temp_file_ttl = 86400

http_temp_scan_interval = 3600

max_download_dir_size = 10240

max_sync_file_count = -1

fs_id_list_request_timeout = -1

[database]

type = mysql

host = 127.0.0.1

port = 3306

user = seafile

password = $password

db_name = seafile_db

connection_charset = utf8

seafile.nginx.conf

log_format seafileformat '$http_x_forwarded_for $remote_addr [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $upstream_response_time';

server {

    listen 80;

    listen 443 ssl;

    ssl_certificate /etc/letsencrypt/live/$file1;

    ssl_certificate_key /etc/letsencrypt/live/$file2;

    server_name $servername;

    proxy_set_header X-Forwarded-For $remote_addr;

    location / {

         proxy_pass         http://127.0.0.1:8000;

         proxy_set_header   Host $host;

         proxy_set_header   X-Real-IP $remote_addr;

         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

         proxy_set_header   X-Forwarded-Host $server_name;

         proxy_set_header   X-Forwarded-Proto $scheme;

         proxy_read_timeout  1200s;

         # used for view/edit office file via Office Online Server

         client_max_body_size 0;

         access_log      /var/log/nginx/seahub.access.log seafileformat;

         error_log       /var/log/nginx/seahub.error.log;

    }

    location /seafhttp {

         rewrite ^/seafhttp(.*)$ $1 break;

         proxy_pass http://127.0.0.1:8082;

     proxy_request_buffering off;

         client_max_body_size 0;

         proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

         proxy_connect_timeout  36000s;

         proxy_read_timeout  36000s;

        access_log      /var/log/nginx/seafhttp.access.log seafileformat;

        error_log       /var/log/nginx/seafhttp.error.log;

    }

    location /media {

        root /opt/seafile/seafile-server-latest/seahub;

    }

    location /seafdav {

        proxy_pass         http://127.0.0.1:8080/seafdav;

        proxy_set_header   Host $host;

        proxy_set_header   X-Real-IP $remote_addr;

        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header   X-Forwarded-Host $server_name;

        proxy_set_header   X-Forwarded-Proto $scheme;

        proxy_read_timeout  1200s;

    proxy_request_buffering off;

        client_max_body_size 0;

        access_log      /var/log/nginx/seafdav.access.log seafileformat;

        error_log       /var/log/nginx/seafdav.error.log;

    }

}

nginx.conf

user www-data;

worker_processes auto;

pid /run/nginx.pid;

include /etc/nginx/modules-enabled/*.conf;

events {

    worker_connections 768;

    #multi_accept on;

}

http {

    ##

    # Basic Settings

    ##

    sendfile on;

    tcp_nopush on;

    types_hash_max_size 2048;

    # server_tokens off;

    # server_names_hash_bucket_size 64;

    # server_name_in_redirect off;

    include /etc/nginx/mime.types;

    default_type application/octet-stream;

    ##

    # SSL Settings

    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE

    ssl_prefer_server_ciphers on;

    ##

    # Logging Settings

    ##

    access_log /var/log/nginx/access.log;

    error_log /var/log/nginx/error.log;

    ##

    # Gzip Settings

    ##

    gzip on;

    # gzip_vary on;

    # gzip_proxied any;

    # gzip_comp_level 6;

    # gzip_buffers 16 8k;

    # gzip_http_version 1.1;

    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##

    # Virtual Host Configs

    ##

    include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

}

#mail {

#   # See sample authentication script at:

#   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript

#

#   # auth_http localhost/auth.php;

#   # pop3_capabilities "TOP" "USER";

#   # imap_capabilities "IMAP4rev1" "UIDPLUS";

#

#   server {

#       listen     localhost:110;

#       protocol   pop3;

#       proxy      on;

#   }

#

#   server {

#       listen     localhost:143;

#       protocol   imap;

#       proxy      on;

#   }

#}