Hallo Till,
zu 1): root@ns1:/etc/php5/cli# cat -n php.ini | grep 'memory_limit'
461 memory_limit = -1
zu 2): Ich musste die max_user_connections rauf schrauben, da sonst keine Website mehr funktioniert (sind jetzt auch einige Domains am Server)
/etc/mysql/my.cnf:
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
#
MySQL :: MySQL 5.5 Reference Manual :: 5.1.3 Server System Variables
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
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 = 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 = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * 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 logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#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 = include_database_name
#
# * 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!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
# setting max_connections higher
max_connections = 500
max_user_connections = 500
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
zu 3: ich habe dieser VM über 5GB RAM gegeben, und im physikalischen System läuft ein HW-RAID Controller mit RAID 10 mit 4 x 200GB SAS Platten,
kanns wirklich an dem liegen? In der Auslastung (übersicht von XenCenter) passt alles (Auslastungstechnisch) bei allen drei virtuellen Servern.
Nur bei dem einen geht die Load rauf (im virtuellen System direkt)
Wie kann ich da abhilfe verschaffen? Datenbankserver und Webserver auslagern? Obwohl die CPU Last lt. dem Center unter 10% ist?
Wenn ich mir jetzt noch einen Server schnappe und diese dann intern verbinde, ist das so okay wenn ich die gesamten vServer intern Anbinde und dann
vom WebServer aus den MySQL mit einer internen IP-Anspreche?
Was wäre Sinnvoller auszulagern? Gibts da ein Setup damit ich dann trotzdem ISPConfig weiter verwenden kann?
Soll ich gleich auf MySQL-Cluster zurückgreifen oder macht es mehr sinn einfach mehrere Systeme mysql1, mysql2, web1, web2, mail1, mail2 zu verwenden?
seit meinem letzten Beitrag am 01.05 ist die ISPCONFIG Log (die unkomprimierte auf 3,5gb) und die komprimierte auf 1,5gb), ...
03.05.2012-08:07 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:07 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:07 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:07 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:07 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:08 - DEBUG - There is already an instance of server.php running. Exiting.
03.05.2012-08:08 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:08 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:08 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
03.05.2012-08:08 - DEBUG - There is already a lockfile set. Waiting another 10 seconds...
Komisch, jetzt hab ich mal via tail -f länger die Datei angeschaut und da fährt die Konsole vol nach unten weiter mit Einträgen bzw. logs wie diesen:
\\\\\\\\\\\\\\\\n(delivery temporarily suspended: host mta6.am0.yahoodns.net[98.137.54.238] refused to talk to me: 421 4.7.1 [TS03] All messages from 176.9.101.220 will be permanently deferred; Retrying will NOT succeed. See
Hiernochmal ein tail -f auszug aus der ISPConfig Log:
http://raving.at/tailf.JPG
Es sind wie gesagt zirka 250 Domains eingerichtet, davon sind zirka 1500 zonen Files im System sowie 780 Spamfilterbenutzer und über 600 Cronjobs die alle 10 Minuten ein lokales PHP-Script ausführen.
Wie kann ich das ganze verhinden bzw. die Last besser Aufteilen? Was wäre Sinnvoll?
Kann ich das mit ISPConfig 3 irgendwie machen? z.B. MySQL1, MySQL2, MySQL3, Web1, Web2, Web3, Mail1, Mail2, Mail3 und diese eben intern via LAN vernetze und dann die MySQL Server im internen Netz laufen lasse?
Oder soll ich den Servern wirklich alle externe IPs geben? Wie wäre das am besten zu lösen?
Wäre ein Cluster anzudenken oder eher nicht?
Wenn ich das ganze virtuell mache (was ich vorhabe) gibts eine Distribution die sich als Firewall perfekt macht? Damit ich dann wirklich nur den MySQL Port drüber lass bzw. Apache Port usw. Das eben diese Firewall vMachine die offizielle IP hat, und einfach intern NATtet?
Macht das Sinn? Oder soll ich die Maschine immer mit allen Diensten (nur mit der internen Firewall von ISPConfig) Online lassen?
Ich möchte das System weitergehen sicherer und performanter machen, hast Du vielleicht ein paar Ideen bzw. wie würdest Du das ganze aufziehen?