Aborted connection to db: 'dbispconfig' user: 'ispconfig' host: 'localhost' (Got an error reading communication packets)

reisetroll

New Member
Hallo zusammen,

hab vor ca 10 Tagen meinen Cloud-Server bei Hetzner auf einen cpx51 mir 32GB RAM upgegradet und einige Domains samt Webseiten und Mail-Adressen von einem alten perfect Server mit dem ISPConfig Migration Tool darauf migriert.

Aufgesetzt waren sowohl der alte Server von dem ich migriert hab als auch der aktuelle cpx51 nach dem perfect Server Tutorial mit Debian 10 und NGINX mit ISPConfig in der neuesten Version.

Nachdem die letzten Tage immer wieder mal der Web- als auch der Mail-Server kleine Aussetzer hatten, hab ich mich auf die Fehlersuche gemacht und bin in der /var/log/mysql/error.log auf folgende Fehlermeldung gestoßen, die dort überdurchschnittlich oft steht:

[Warning] Aborted connection to db: 'dbispconfig' user: 'ispconfig' host: 'localhost' (Got an error writing communication packets)

Würd mal vermuten, dass das mit der Konfiguration meines MariaDB-Servers zusammenhängt.
Hab mal die /etc/mysql/mariadb.conf.d/50-server.cnf angehängt:


# # These groups are read by MariaDB server. # Use it for options that only the server (but not clients) should see # # See the examples of server my.cnf files in /usr/share/mysql # this is read by the standalone daemon and embedded servers [server] # this is only for the mysqld standalone daemon [mysqld] # # * Basic Settings # user = mysql pid-file = /run/mysqld/mysqld.pid socket = /run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql #skip-external-locking # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 # # * Fine Tuning # #key_buffer_size = 16M #max_allowed_packet = 16M #thread_stack = 192K #thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched #myisam_recover_options = BACKUP #max_connections = 100 #table_cache = 64 #thread_concurrency = 10 # #max_allowed_packet = 256M query_cache_size = 0 query_cache_type = 0 join_buffer_size = 48M innodb_buffer_pool_instances = 2 innodb_buffer_pool_size = 2G innodb_log_file_size = 256M tmp_table_size= 4G max_heap_table_size= 4G table_open_cache = 3072 table_definition_cache = 3072 max_connections = 200 # # * Query Cache Configuration # #query_cache_limit = 1M #query_cache_size = 16M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # Error log - should be very few entries. # log_error = /var/log/mysql/error.log #level 0 = nix #level 9 = debug #log_warnings=9 # # Enable the slow query log to see queries with especially long duration #slow_query_log_file = /var/log/mysql/mariadb-slow.log #long_query_time = 10 #log_slow_rate_limit = 1000 #log_slow_verbosity = query_plan #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log expire_logs_days = 10 #max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = exclude_database_name # # * Security Features # # Read the manual, too, if you want chroot! #chroot = /var/lib/mysql/ # # For generating SSL certificates you can use for example the GUI tool "tinyca". # #ssl-ca = /etc/mysql/cacert.pem #ssl-cert = /etc/mysql/server-cert.pem #ssl-key = /etc/mysql/server-key.pem # # Accept only connections using the latest and most secure TLS protocol version. # ..when MariaDB is compiled with OpenSSL: #ssl-cipher = TLSv1.2 # ..when MariaDB is compiled with YaSSL (default in Debian): #ssl = on # # * Character sets # # MySQL/MariaDB default is Latin1, but in Debian we rather default to the full # utf8 4-byte character set. See also client.cnf # character-set-server = utf8mb4 collation-server = utf8mb4_general_ci # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * Unix socket authentication plugin is built-in since 10.0.22-6 # # Needed so the root database user can authenticate without a password but # only when running as the unix root user. # # Also available for other users if required. # See https://mariadb.com/kb/en/unix_socket-authentication-plugin/ # this is only for embedded server [embedded] # This group is only read by MariaDB servers, not by MySQL. # If you use the same .cnf file for MySQL and MariaDB, # you can put MariaDB-only options here [mariadb] # This group is only read by MariaDB-10.3 servers. # If you use the same .cnf file for MariaDB of different versions, # use this group for options that older servers don't understand #[mariadb-10.3]


Wäre für jeden Hilfe dankbar, da ich gestern fast den ganzen Tag in die Fehlersuche gesteckt habe und heute früh schon wieder einige Einträge in der /var/log/mysql/error.log hatte.

lg
 

Till

Administrator
Installier mal mysqltuner mit:

apt-get install mysqltuner

dann ruf das programm auf und schau was er Dir an Optimierungen empfielt.
 

reisetroll

New Member
Da kommt an Optimierungen folgendes raus:
-------- Recommendations --------------------------------------------------------------------------- General recommendations: Control warning line(s) into /var/log/mysql/error.log file Control error line(s) into /var/log/mysql/error.log file MySQL was started within the last 24 hours - recommendations may be inaccurate Dedicate this server to your database for highest performance. Reduce or eliminate unclosed connections and network issues Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1 Adjust your join queries to always utilize indexes Temporary table size is already large - reduce result set size Reduce your SELECT DISTINCT queries without LIMIT clauses Increase table_open_cache gradually to avoid file descriptor limits Read this before increasing table_open_cache over 64: http://bit.ly/1mi7c4C Read this before increasing for MariaDB https://mariadb.com/kb/en/library/optimizing-table_open_cache/ This is MyISAM only table_cache scalability problem, InnoDB not affected. See more details here: https://bugs.mysql.com/bug.php?id=49177 This bug already fixed in MySQL 5.7.9 and newer MySQL versions. Beware that open_files_limit (49399) variable should be greater than table_open_cache (3072) Performance schema should be activated for better diagnostics Consider installing Sys schema from https://github.com/mysql/mysql-sys Variables to adjust: join_buffer_size (> 48.0M, or always use indexes with JOINs) table_open_cache (> 3072) performance_schema = ON enable PFS

würd mal die join_buffer_size auf 64M setzen und table_open_cache auf 4096

gibts hier eine zuverlässige Methode, dass ich auf gute Werte komm, oder soll ich einfach von Zeit zu Zeit den mysqltuner laufen lassen und schaun, was der so meint?
 

Till

Administrator
Die Werte hängen davon ab wie MariaDB auf Deinem System genutzt wird, können sich also auch über die Zeit ändern. Einfach immer mal wieder mysqltuner aufrufen und schauen, was der empfielt und ggf. halt performance schema aktivieren, wie empfohlen.
 

reisetroll

New Member
alles klar, danke!

dann werd ich das mal regelmäßig machen und hoffe, dass ich die Aussetzer so in den Griff bekomme
 

Till

Administrator
Und Du kannst mal versuchen den wait_timeout zu erhöhen. Generell sind die aborted connection Warnungen nicht unbedingt ein Fehler, es bedeutet nur dass MariaDB die verbindung wegen inaktivität beendet hat weil der wait_timeout erreicht wurde. Die Optimierungen der anderen settings kann Dir aber beid er Behebung des eigentlichen Problems mit den Aussetzern bei der Erreichbarkeit helfen.
 

Werbung

Top