Hilfe bei my.cnf für meinen Server

MySQL, PostgreSQL, SQLite
krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-23 16:52

Hi, bin neu bei euch im Forum.

Ich habe ein kleines Problem mit der Performance meines Servers. Nur kurz zur Information. Ich habe einen Monitoring Server aufgesetzt der eine MySQL Datenbank als "Datenspeicher" verwendet. Nun habe ich das Problem das ich bei der Datenbank irgendwie einen Flaschenhals habe. Der Server ist ein RX200S2 mit Intel Xeon 3 GHz und 2048MB RAM, zwei 73GB SCSI (10000) im RAID 1 Verbund. Ich verwende SuSE 10.0 auf dem Server. Das Monitoring System ist zabbix. Vielleicht kennt jemand von euch das, ist aber auch egal. An der Performance der MySQL Befehle kann ich nicht wirklich was verbessern, da ich sonst das ganze Tool neuschreiben müsste. Nur soviel, die Entwickler empfehlen InnoDB, was ich auch benutze. Es werden außerdem in den Abfragen mit Indexen gearbeitet. Wenn ich mir die allgemeine Serverauslastung mittels "top" anschaue sehe ich, das sobald ein PHP Script auf die MySQL Datenbank zugreift, um Informationen zu lesen, die Prozessorlast bei über 90% liegt. Das kann ja nicht sein. Eine weitere Information für euch, es gibt in der Datenbank Tabellen die mehr als 10 Mio Einträge haben. Kann das das Problem sein?
Aber weswegen ich überhaupt poste. Kann mir jemand bei der Erstellung einer vernünftigen bzw. für meine Verhältnisse passenden my.cnf helfen? Da ich auf dem Gebiet Datenbanken noch recht neu bin brauche ich eure Hilfe. Ab nächster Woche kann ich euch auch Informationen aus Log-Files geben.

Ach ja auf dem Server läuft außer dem Monitoring gar nix.
Vielen Dank ihr MySQL Götter. :wink:

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by flo » 2006-02-23 17:05

Hallo krusty007,

Willkommen im Rootforum!

Ich habe Deinen post vom "wichtig" abgetrennt - bitte melde Dich wieder, wenn Du Logauszüge bzw. genauere Daten hast.

Grüße,

Florian

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-23 17:11

alles klar werde ich machen, kannst du denn noch nichts zu einer besser auf meinen Server zugeschnittenen my.cnf sagen?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-23 21:16

krusty007 wrote:alles klar werde ich machen, kannst du denn noch nichts zu einer besser auf meinen Server zugeschnittenen my.cnf sagen?
Slow Query Log sagt was? EXPLAIN auf die Einträge im Slow Query Log sagt was? SHOW TABLE STATUS auf die in diesen Queries involvierten Tabellen sagt was? SHOW STATUS sagt was? SHOW VARIABLES sagt was? Insbesondere sind key_buffer und innodb_buffer_cache_size wie genau gesetzt?

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-24 13:47

So habe jetzt doch noch auf meinen Server zugreifen können. Hier sind die Auszüge:
my.cnf

Code: Select all

# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password       = your_password
port            = 3306
socket          = /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
user            = root
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
# 	key_buffer = 16M
key_buffer = 128M
max_allowed_packet = 1M
# 	table_cache = 64
table_cache = 256
# 	sort_buffer_size = 512K
sort_buffer_size = 12M
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
set-variable = max_connections=1200

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
# log-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id       = 1


# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>, <user>, <password> by quoted strings and
#    <port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  <port>
#
# binary logging - not required for slaves, but recommended
#log-bin

# Point the following paths to different dedicated disks
#tmpdir         = /tmp/
#log-update     = /path-to-dedicated-directory/hostname


# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:1000M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 5M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 20M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

# The safe_mysqld script
[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
show status

Code: Select all

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 55956 to server version: 4.1.13

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> show status;
+----------------------------+------------+
| Variable_name              | Value      |
+----------------------------+------------+
| Aborted_clients            | 10         |
| Aborted_connects           | 2          |
| Binlog_cache_disk_use      | 0          |
| Binlog_cache_use           | 0          |
| Bytes_received             | 418949940  |
| Bytes_sent                 | 1203445906 |
| Com_admin_commands         | 0          |
| Com_alter_db               | 0          |
| Com_alter_table            | 88         |
| Com_analyze                | 0          |
| Com_backup_table           | 0          |
| Com_begin                  | 0          |
| Com_change_db              | 78593      |
| Com_change_master          | 0          |
| Com_check                  | 0          |
| Com_checksum               | 0          |
| Com_commit                 | 0          |
| Com_create_db              | 2          |
| Com_create_function        | 0          |
| Com_create_index           | 0          |
| Com_create_table           | 88         |
| Com_dealloc_sql            | 0          |
| Com_delete                 | 93291      |
| Com_delete_multi           | 0          |
| Com_do                     | 0          |
| Com_drop_db                | 0          |
| Com_drop_function          | 0          |
| Com_drop_index             | 0          |
| Com_drop_table             | 44         |
| Com_drop_user              | 0          |
| Com_execute_sql            | 0          |
| Com_flush                  | 0          |
| Com_grant                  | 0          |
| Com_ha_close               | 0          |
| Com_ha_open                | 0          |
| Com_ha_read                | 0          |
| Com_help                   | 0          |
| Com_insert                 | 208651     |
| Com_insert_select          | 0          |
| Com_kill                   | 0          |
| Com_load                   | 0          |
| Com_load_master_data       | 0          |
| Com_load_master_table      | 0          |
| Com_lock_tables            | 0          |
| Com_optimize               | 0          |
| Com_preload_keys           | 0          |
| Com_prepare_sql            | 0          |
| Com_purge                  | 0          |
| Com_purge_before_date      | 0          |
| Com_rename_table           | 0          |
| Com_repair                 | 0          |
| Com_replace                | 0          |
| Com_replace_select         | 0          |
| Com_reset                  | 0          |
| Com_restore_table          | 0          |
| Com_revoke                 | 0          |
| Com_revoke_all             | 0          |
| Com_rollback               | 0          |
| Com_savepoint              | 0          |
| Com_select                 | 1476131    |
| Com_set_option             | 51         |
| Com_show_binlog_events     | 0          |
| Com_show_binlogs           | 2          |
| Com_show_charsets          | 7          |
| Com_show_collations        | 7          |
| Com_show_column_types      | 0          |
| Com_show_create_db         | 0          |
| Com_show_create_table      | 0          |
| Com_show_databases         | 5          |
| Com_show_errors            | 0          |
| Com_show_fields            | 0          |
| Com_show_grants            | 3          |
| Com_show_innodb_status     | 0          |
| Com_show_keys              | 0          |
| Com_show_logs              | 0          |
| Com_show_master_status     | 0          |
| Com_show_new_master        | 0          |
| Com_show_open_tables       | 0          |
| Com_show_privileges        | 0          |
| Com_show_processlist       | 20         |
| Com_show_slave_hosts       | 0          |
| Com_show_slave_status      | 0          |
| Com_show_status            | 22         |
| Com_show_storage_engines   | 0          |
| Com_show_tables            | 17         |
| Com_show_variables         | 20         |
| Com_show_warnings          | 0          |
| Com_slave_start            | 0          |
| Com_slave_stop             | 0          |
| Com_stmt_prepare           | 0          |
| Com_stmt_execute           | 0          |
| Com_stmt_send_long_data    | 0          |
| Com_stmt_reset             | 0          |
| Com_stmt_close             | 0          |
| Com_truncate               | 0          |
| Com_unlock_tables          | 0          |
| Com_update                 | 453973     |
| Com_update_multi           | 0          |
| Connections                | 55958      |
| Created_tmp_disk_tables    | 1          |
| Created_tmp_files          | 141        |
| Created_tmp_tables         | 438780     |
| Delayed_errors             | 0          |
| Delayed_insert_threads     | 0          |
| Delayed_writes             | 0          |
| Flush_commands             | 1          |
| Handler_commit             | 0          |
| Handler_delete             | 0          |
| Handler_discover           | 0          |
| Handler_read_first         | 324245     |
| Handler_read_key           | 13094728   |
| Handler_read_next          | 21885211   |
| Handler_read_prev          | 0          |
| Handler_read_rnd           | 4778381    |
| Handler_read_rnd_next      | 36875116   |
| Handler_rollback           | 55940      |
| Handler_update             | 357        |
| Handler_write              | 9672878    |
| Key_blocks_not_flushed     | 0          |
| Key_blocks_unused          | 115980     |
| Key_blocks_used            | 1          |
| Key_read_requests          | 12         |
| Key_reads                  | 1          |
| Key_write_requests         | 7          |
| Key_writes                 | 0          |
| Max_used_connections       | 14         |
| Not_flushed_delayed_rows   | 0          |
| Open_files                 | 2          |
| Open_streams               | 0          |
| Open_tables                | 77         |
| Opened_tables              | 278        |
| Qcache_free_blocks         | 0          |
| Qcache_free_memory         | 0          |
| Qcache_hits                | 0          |
| Qcache_inserts             | 0          |
| Qcache_lowmem_prunes       | 0          |
| Qcache_not_cached          | 0          |
| Qcache_queries_in_cache    | 0          |
| Qcache_total_blocks        | 0          |
| Questions                  | 2366963    |
| Rpl_status                 | NULL       |
| Select_full_join           | 0          |
| Select_full_range_join     | 0          |
| Select_range               | 35858      |
| Select_range_check         | 0          |
| Select_scan                | 287356     |
| Slave_open_temp_tables     | 0          |
| Slave_running              | OFF        |
| Slave_retried_transactions | 0          |
| Slow_launch_threads        | 0          |
| Slow_queries               | 0          |
| Sort_merge_passes          | 0          |
| Sort_range                 | 3          |
| Sort_rows                  | 4836285    |
| Sort_scan                  | 220039     |
| Table_locks_immediate      | 3145578    |
| Table_locks_waited         | 0          |
| Threads_cached             | 0          |
| Threads_connected          | 2          |
| Threads_created            | 55957      |
| Threads_running            | 1          |
| Uptime                     | 167028     |
+----------------------------+------------+
162 rows in set (0.00 sec)

mysql>
show variables

Code: Select all

mysql> show variables;
+---------------------------------+----------------------------+
| Variable_name                   | Value                      |
+---------------------------------+----------------------------+
| back_log                        | 50                         |
| basedir                         | /usr/                      |
| binlog_cache_size               | 32768                      |
| bulk_insert_buffer_size         | 8388608                    |
| character_set_client            | latin1                     |
| character_set_connection        | latin1                     |
| character_set_database          | latin1                     |
| character_set_results           | latin1                     |
| character_set_server            | latin1                     |
| character_set_system            | utf8                       |
| character_sets_dir              | /usr/share/mysql/charsets/ |
| collation_connection            | latin1_swedish_ci          |
| collation_database              | latin1_swedish_ci          |
| collation_server                | latin1_swedish_ci          |
| concurrent_insert               | ON                         |
| connect_timeout                 | 5                          |
| datadir                         | /var/lib/mysql/            |
| date_format                     | %Y-%m-%d                   |
| datetime_format                 | %Y-%m-%d %H:%i:%s          |
| default_week_format             | 0                          |
| delay_key_write                 | ON                         |
| delayed_insert_limit            | 100                        |
| delayed_insert_timeout          | 300                        |
| delayed_queue_size              | 1000                       |
| expire_logs_days                | 0                          |
| flush                           | OFF                        |
| flush_time                      | 0                          |
| ft_boolean_syntax               | + -><()~*:""&|             |
| ft_max_word_len                 | 84                         |
| ft_min_word_len                 | 4                          |
| ft_query_expansion_limit        | 20                         |
| ft_stopword_file                | (built-in)                 |
| group_concat_max_len            | 1024                       |
| have_archive                    | NO                         |
| have_bdb                        | NO                         |
| have_blackhole_engine           | NO                         |
| have_compress                   | YES                        |
| have_crypt                      | YES                        |
| have_csv                        | NO                         |
| have_example_engine             | NO                         |
| have_geometry                   | YES                        |
| have_innodb                     | YES                        |
| have_isam                       | YES                        |
| have_ndbcluster                 | NO                         |
| have_openssl                    | NO                         |
| have_query_cache                | YES                        |
| have_raid                       | NO                         |
| have_rtree_keys                 | YES                        |
| have_symlink                    | YES                        |
| init_connect                    |                            |
| init_file                       |                            |
| init_slave                      |                            |
| innodb_additional_mem_pool_size | 5242880                    |
| innodb_autoextend_increment     | 8                          |
| innodb_buffer_pool_awe_mem_mb   | 0                          |
| innodb_buffer_pool_size         | 1073741824                 |
| innodb_data_file_path           | ibdata1:1000M:autoextend   |
| innodb_data_home_dir            | /var/lib/mysql/            |
| innodb_fast_shutdown            | ON                         |
| innodb_file_io_threads          | 4                          |
| innodb_file_per_table           | OFF                        |
| innodb_flush_log_at_trx_commit  | 1                          |
| innodb_flush_method             |                            |
| innodb_force_recovery           | 0                          |
| innodb_lock_wait_timeout        | 50                         |
| innodb_locks_unsafe_for_binlog  | OFF                        |
| innodb_log_arch_dir             | /var/lib/mysql/            |
| innodb_log_archive              | OFF                        |
| innodb_log_buffer_size          | 8388608                    |
| innodb_log_file_size            | 20971520                   |
| innodb_log_files_in_group       | 2                          |
| innodb_log_group_home_dir       | /var/lib/mysql/            |
| innodb_max_dirty_pages_pct      | 90                         |
| innodb_max_purge_lag            | 0                          |
| innodb_mirrored_log_groups      | 1                          |
| innodb_open_files               | 300                        |
| innodb_table_locks              | ON                         |
| innodb_thread_concurrency       | 8                          |
| interactive_timeout             | 28800                      |
| join_buffer_size                | 131072                     |
| key_buffer_size                 | 134217728                  |
| key_cache_age_threshold         | 300                        |
| key_cache_block_size            | 1024                       |
| key_cache_division_limit        | 100                        |
| language                        | /usr/share/mysql/english/  |
| large_files_support             | ON                         |
| license                         | GPL                        |
| local_infile                    | ON                         |
| locked_in_memory                | OFF                        |
| log                             | OFF                        |
| log_bin                         | OFF                        |
| log_error                       |                            |
| log_slave_updates               | OFF                        |
| log_slow_queries                | OFF                        |
| log_update                      | OFF                        |
| log_warnings                    | 1                          |
| long_query_time                 | 10                         |
| low_priority_updates            | OFF                        |
| lower_case_file_system          | OFF                        |
| lower_case_table_names          | 0                          |
| max_allowed_packet              | 1047552                    |
| max_binlog_cache_size           | 4294967295                 |
| max_binlog_size                 | 1073741824                 |
| max_connect_errors              | 10                         |
| max_connections                 | 1200                       |
| max_delayed_threads             | 20                         |
| max_error_count                 | 64                         |
| max_heap_table_size             | 16777216                   |
| max_insert_delayed_threads      | 20                         |
| max_join_size                   | 4294967295                 |
| max_length_for_sort_data        | 1024                       |
| max_relay_log_size              | 0                          |
| max_seeks_for_key               | 4294967295                 |
| max_sort_length                 | 1024                       |
| max_tmp_tables                  | 32                         |
| max_user_connections            | 0                          |
| max_write_lock_count            | 4294967295                 |
| myisam_data_pointer_size        | 4                          |
| myisam_max_extra_sort_file_size | 2147483648                 |
| myisam_max_sort_file_size       | 2147483647                 |
| myisam_recover_options          | OFF                        |
| myisam_repair_threads           | 1                          |
| myisam_sort_buffer_size         | 8388608                    |
| net_buffer_length               | 8192                       |
| net_read_timeout                | 30                         |
| net_retry_count                 | 10                         |
| net_write_timeout               | 60                         |
| new                             | OFF                        |
| old_passwords                   | OFF                        |
| open_files_limit                | 6010                       |
| pid_file                        | /var/lib/mysql/mysqld.pid  |
| port                            | 3306                       |
| preload_buffer_size             | 32768                      |
| protocol_version                | 10                         |
| query_alloc_block_size          | 8192                       |
| query_cache_limit               | 1048576                    |
| query_cache_min_res_unit        | 4096                       |
| query_cache_size                | 0                          |
| query_cache_type                | ON                         |
| query_cache_wlock_invalidate    | OFF                        |
| query_prealloc_size             | 8192                       |
| range_alloc_block_size          | 2048                       |
| read_buffer_size                | 258048                     |
| read_only                       | OFF                        |
| read_rnd_buffer_size            | 520192                     |
| relay_log_purge                 | ON                         |
| relay_log_space_limit           | 0                          |
| rpl_recovery_rank               | 0                          |
| secure_auth                     | OFF                        |
| server_id                       | 1                          |
| skip_external_locking           | ON                         |
| skip_networking                 | OFF                        |
| skip_show_database              | OFF                        |
| slave_net_timeout               | 3600                       |
| slave_transaction_retries       | 0                          |
| slow_launch_time                | 2                          |
| socket                          | /var/lib/mysql/mysql.sock  |
| sort_buffer_size                | 12582904                   |
| sql_mode                        |                            |
| storage_engine                  | MyISAM                     |
| sql_notes                       | ON                         |
| sql_warnings                    | ON                         |
| sync_binlog                     | 0                          |
| sync_replication                | 0                          |
| sync_replication_slave_id       | 0                          |
| sync_replication_timeout        | 0                          |
| sync_frm                        | ON                         |
| system_time_zone                | CET                        |
| table_cache                     | 256                        |
| table_type                      | MyISAM                     |
| thread_cache_size               | 0                          |
| thread_stack                    | 196608                     |
| time_format                     | %H:%i:%s                   |
| time_zone                       | SYSTEM                     |
| tmp_table_size                  | 33554432                   |
| tmpdir                          |                            |
| transaction_alloc_block_size    | 8192                       |
| transaction_prealloc_size       | 4096                       |
| tx_isolation                    | REPEATABLE-READ            |
| version                         | 4.1.13                     |
| version_comment                 | SUSE MySQL RPM             |
| version_compile_machine         | i686                       |
| version_compile_os              | suse-linux                 |
| wait_timeout                    | 28800                      |
+---------------------------------+----------------------------+
184 rows in set (0.00 sec)

mysql>
show table status

Code: Select all

mysql> show table status;
+------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+------------------------+
| Name             | Engine | Version | Row_format | Rows   | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation         | Checksum | Create_options | Comment                |
+------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+------------------------+
| actions          | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |              1 | 2006-02-22 14:58:07 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| alarms           | InnoDB |       9 | Fixed      |    224 |             73 |       16384 |            NULL |        32768 |         0 |            225 | 2006-02-22 14:58:07 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| alerts           | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        81920 |         0 |              1 | 2006-02-22 14:58:08 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| audit            | InnoDB |       9 | Dynamic    |     90 |            182 |       16384 |            NULL |        32768 |         0 |             91 | 2006-02-22 14:58:08 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| autoreg          | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |              1 | 2006-02-22 14:58:09 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| conditions       | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |              1 | 2006-02-22 14:58:09 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| config           | InnoDB |       9 | Fixed      |      1 |          16384 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:58:10 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| escalation_log   | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |        32768 |         0 |              1 | 2006-02-22 14:58:10 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| escalation_rules | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |              1 | 2006-02-22 14:58:10 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| escalations      | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |              1 | 2006-02-22 14:58:11 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| functions        | InnoDB |       9 | Dynamic    |    278 |             58 |       16384 |            NULL |        32768 |         0 |          11213 | 2006-02-22 14:58:11 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| graphs           | InnoDB |       9 | Dynamic    |     24 |            682 |       16384 |            NULL |        16384 |         0 |             25 | 2006-02-22 14:58:13 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| graphs_items     | InnoDB |       9 | Dynamic    |     44 |            372 |       16384 |            NULL |            0 |         0 |             45 | 2006-02-22 14:58:13 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| groups           | InnoDB |       9 | Dynamic    |      2 |           8192 |       16384 |            NULL |        16384 |         0 |              3 | 2006-02-22 14:58:14 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| history          | InnoDB |       9 | Fixed      | 215049 |             51 |    11026432 |            NULL |      7880704 |         0 |           NULL | 2006-02-22 14:58:14 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| history_log      | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |              1 | 2006-02-22 14:58:54 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| history_str      | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |           NULL | 2006-02-22 14:58:54 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| history_uint     | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |        16384 |         0 |           NULL | 2006-02-22 14:58:54 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| hosts            | InnoDB |       9 | Dynamic    |     15 |           1092 |       16384 |            NULL |        32768 |         0 |          10018 | 2006-02-22 14:58:55 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| hosts_groups     | InnoDB |       9 | Fixed      |      8 |           2048 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:58:55 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| hosts_profiles   | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:58:55 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| hosts_templates  | InnoDB |       9 | Fixed      |      3 |           5461 |       16384 |            NULL |        16384 |         0 |              4 | 2006-02-22 14:58:56 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| images           | InnoDB |       9 | Dynamic    |     25 |           2621 |       65536 |            NULL |        16384 |         0 |             21 | 2006-02-22 14:58:56 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| items            | InnoDB |       9 | Dynamic    |    475 |            241 |      114688 |            NULL |        49152 |         0 |          17263 | 2006-02-22 14:59:01 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| media            | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        32768 |         0 |              1 | 2006-02-22 14:59:12 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| media_type       | InnoDB |       9 | Dynamic    |      1 |          16384 |       16384 |            NULL |            0 |         0 |              2 | 2006-02-22 14:59:12 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| profiles         | InnoDB |       9 | Dynamic    |     13 |           1260 |       16384 |            NULL |        16384 |         0 |             14 | 2006-02-22 14:59:13 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| rights           | InnoDB |       9 | Fixed      |    151 |            542 |       81920 |            NULL |            0 |         0 |            154 | 2006-02-22 14:59:13 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| screens          | InnoDB |       9 | Dynamic    |      6 |           2730 |       16384 |            NULL |            0 |         0 |              7 | 2006-02-22 14:59:14 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| screens_items    | InnoDB |       9 | Fixed      |     26 |            630 |       16384 |            NULL |            0 |         0 |             28 | 2006-02-22 14:59:14 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| service_alarms   | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |        32768 |         0 |              1 | 2006-02-22 14:59:15 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| services         | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |              1 | 2006-02-22 14:59:15 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| services_links   | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |        32768 |         0 |              1 | 2006-02-22 14:59:15 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| sessions         | InnoDB |       9 | Dynamic    |      2 |           8192 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:59:16 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| stats            | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:59:16 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| sysmaps          | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |        16384 |         0 |              1 | 2006-02-22 14:59:16 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| sysmaps_hosts    | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |              1 | 2006-02-22 14:59:17 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| sysmaps_links    | InnoDB |       9 | Dynamic    |      0 |              0 |       16384 |            NULL |            0 |         0 |              1 | 2006-02-22 14:59:17 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| trends           | InnoDB |       9 | Fixed      |   1997 |            131 |      262144 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:59:17 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| trigger_depends  | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |        16384 |         0 |           NULL | 2006-02-22 14:59:18 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| triggers         | InnoDB |       9 | Dynamic    |    196 |            334 |       65536 |            NULL |        32768 |         0 |          12213 | 2006-02-22 14:59:19 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| users            | InnoDB |       9 | Dynamic    |     15 |           1092 |       16384 |            NULL |        16384 |         0 |             16 | 2006-02-22 14:59:22 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| users_groups     | InnoDB |       9 | Fixed      |      0 |              0 |       16384 |            NULL |            0 |         0 |           NULL | 2006-02-22 14:59:23 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
| usrgrp           | InnoDB |       9 | Dynamic    |      7 |           2340 |       16384 |            NULL |        16384 |         0 |              8 | 2006-02-22 14:59:23 | NULL        | NULL       | latin1_swedish_ci |     NULL |                | InnoDB free: 984064 kB |
+------------------+--------+---------+------------+--------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-------------------+----------+----------------+------------------------+
44 rows in set (0.01 sec)

mysql>
So hoffentlich ist der Post nicht zu groß. :lol:

Nur wenn ihr euch wundert, das ich erst so wenig Einträge in der DB habe, liegt daran, das ich den Server erst neu aufgesetzt habe. Momentan werden nur ein paar Hosts mit dem Monitoring Tool überwacht, es sollen aber über 1200 werden. Bei jedem Host werden dabei dann 6 Werte über SNMP abgefragt. Diese werden dann in die DB geschrieben. Das Abfragen passiert jede Minute. Vielen Dank für die Hilfe. Bin wie schon geschrieben nicht wirklich ein Datenbank Kenner.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-24 14:52

krusty007 wrote:So habe jetzt doch noch auf meinen Server zugreifen können. Hier sind die Auszüge:

Code: Select all

# 	key_buffer = 16M
key_buffer = 128M
aber

Code: Select all

| Uptime                     | 167028     | 
| Key_blocks_unused          | 115980     | 
| Key_blocks_used            | 1          | 
| Key_read_requests          | 12         | 
| Key_reads                  | 1          | 
Du verwendest gar kein MyISAM, also brauchst Du auch keinen key_buffer zu verschwenden. Mach den wieder klein, Du brauchst nur InnoDB Buffer Cache.

Code: Select all

set-variable = max_connections=1200
So viel? Vielleicht tut da irgendwo mysql_pconnect() wo es nicht tun sollte?

Code: Select all

# Replication Master Server (default)
# binary logging is required for replication
# log-bin
Du stehst nicht auf Backup, was?

Code: Select all

# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 5M
Gut, paßt von der Größe zu Deinen Tabletypen. Bisher findet sich Data nur in Deiner history-Tabelle (11MB), und dort generierst Du extrem große Index-Lengths. Möglicherweise gehst Du hier einen architekturellen Irrweg, wir müssen das in einem anderen Artikel weiter unten noch mal genauer besprechen - was ist das Ziel Deiner Anwendung (was generierst Du - System Down Warnungen oder Grafiken mit historischen Meßwerten?) und bist Du sicher, daß Du hier nicht OLTP und DWH im selben Datenmodell vermischt?

Code: Select all

innodb_flush_log_at_trx_commit = 1
Kannst Du Dir bei der Natur Deiner Daten erlauben, das auf "2" zu setzen?

Code: Select all

| Com_delete                 | 93291      |
| Com_insert                 | 208651     |
| Com_select                 | 1476131    |
| Com_update                 | 453973     |
| Com_replace                | 0          | 
| Questions                  | 2366963    | 
| Uptime                     | 167028     | 
Up 2 Tage, 14 qps Durchschnitt, 1.95 mal mehr SELECT als DML. Kein REPLACE verwendet, wahrscheinlich auch keine extended INSERT Syntax - kannst Du Writes in die Datenbank batchen, oder mußt Du für jede Ã?nderung ein einzelnes INSERT generieren? Kannst Du statt UPDATE REPLACE verwenden und dann REPLACE mit extended INSERT Syntax verwenden, um zu batchen?

Code: Select all

| Key_blocks_not_flushed     | 0          |
| Key_blocks_unused          | 115980     |
| Key_blocks_used            | 1          |
| Key_read_requests          | 12         |
| Key_reads                  | 1          |
Jedes Byte Speicher für den key_buffer ist verschendet. Setze den auf 16M.

Code: Select all

| Max_used_connections       | 14         |
Max_connections auf 1200 und dann das?

Code: Select all

| Open_tables                | 77         |
| Opened_tables              | 278        |
Dein Table Cache ist gross genug.

Code: Select all

| Qcache_free_blocks         | 0          |
| Qcache_free_memory         | 0          |
| Qcache_hits                | 0          |
| Qcache_inserts             | 0          |
| Qcache_lowmem_prunes       | 0          |
| Qcache_not_cached          | 0          |
| Qcache_queries_in_cache    | 0          |
| Qcache_total_blocks        | 0          |
Du verwendest den Query Cache nicht. Warum nicht? Bringt er bei Dir nix (alles mit prepared Statements?) oder weißt Du nix von dem?

Code: Select all

| Select_full_join           | 0          |
| Select_full_range_join     | 0          |
| Select_range               | 35858      |
| Select_range_check         | 0          |
| Select_scan                | 287356     |

| Slow_queries               | 0          |
keine Full Joins, keine Slow Queries. Alles ist gut.

Code: Select all

| Threads_cached             | 0          |
| Threads_connected          | 2          |
| Threads_created            | 55957      |
| Threads_running            | 1          |
Thread_cache kann auf 20 oder so gesetzt werden.

Code: Select all

| innodb_log_buffer_size          | 8388608                    |
| innodb_log_file_size            | 20971520                   |
Je nachdem, was Du da machst, kann das knapp sein.

Code: Select all

| innodb_thread_concurrency       | 8                          |
Je nachdem, was Du da an Hardware hast, kann es besser sein, dies auf 4 zu setzen.

Code: Select all

| log_slow_queries                | OFF                        |
| long_query_time                 | 10                         |
Derzeit brauchst Du das nicht (Counter ist 0), aber vielleicht willst Du das präventiv dennoch anschalten.

Code: Select all

| query_cache_size                | 0                          |
Hier, die gesparten 128M aus dem Key_buffer_size solltest Du mal lieber hier rein stecken.

Code: Select all

| thread_cache_size               | 0                          |
Wie gesagt, 20 wäre wohl gut bei den jetzigen Leistungsdaten.
Momentan werden nur ein paar Hosts mit dem Monitoring Tool überwacht, es sollen aber über 1200 werden. Bei jedem Host werden dabei dann 6 Werte über SNMP abgefragt. Diese werden dann in die DB geschrieben. Das Abfragen passiert jede Minute. Vielen Dank für die Hilfe. Bin wie schon geschrieben nicht wirklich ein Datenbank Kenner.
1200 Hosts pro Minute sind 20 Hosts, also 120 SNMP Queries pro Sekunde. Wenn jede dieser Queries einen Integer generiert, akkumulierst Du 480 Byte pro Sekunde, also 40.5 MB und 10 Mio Samples (Rows?) pro Tag. Da wirst Du nicht viel Freude dran haben, es sei denn, zu aggregierst fleißig und schmeißt die Raw-Daten regelmäßig weg.

Deswegen ist es sinnvoll hier die Alerts und die History sauber voneinander zu trennen (Zwei Schemata, möglicherweise sogar in zwei verschiedenen Datenbanken) und eine saubere Schnittstelle zwischen beiden Dingen zu definieren. Alerts sind OLTP-Jobs, die History ist ein klassischer DWH-Job.

Du solltest auf keinen Fall Constraints definieren, die aus dem OLTP-Teil ins DHW zeigen, wie ein anderer "Ich snmp mir mein Netz"-Kunde, den ich mal gehabt habe das gemacht hat. Das Alert-Schema wird klassisch streng normalisiert sein, das History-Schema wird ein klares Star-Schema um die History-Tabelle drumrum sein. Was sind die Dinge, die Du aus der History ziehen willst? Hast Du Dir schon über Granularität und Aggregierung der Daten Gedanken gemacht oder willst Du wirklich auf 300 Mio Rows pro Monat rumsitzen?

Mit 120 SNMP Queries pro Sekunde wirst Du auch ohne Datenbank die Kiste schon ziemlich stressen. Ohne eine klare Strategie für Batching beim Data Load wirst Du keine ausreichende Datenbank-Performance im Alert-Teil der Datenbank bekommen.

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-25 09:19

isotopp wrote: Du verwendest gar kein MyISAM, also brauchst Du auch keinen key_buffer zu verschwenden. Mach den wieder klein, Du brauchst nur InnoDB Buffer Cache.
Werde ich wieder rückgängig machen. Ist das dann der Wert bei innoDB_buffer_pool_size den ich erhöhen muss, oder gibt es noch zusätzlich eine Variable?
isotopp wrote:

Code: Select all

set-variable = max_connections=1200
So viel? Vielleicht tut da irgendwo mysql_pconnect() wo es nicht tun sollte?

Code: Select all

| Max_used_connections       | 14         |
Max_connections auf 1200 und dann das?
Habe den Wert so hoch gesetzt, da später, wenn alle zu monitorenden Netzwerkgeräte eingerichtet sind, jeder der 1200 Standorte einen zugriff auf das Monitoring Tool bekommen soll um seine CPE beobachten zu können.
isotopp wrote:

Code: Select all

# Replication Master Server (default)
# binary logging is required for replication
# log-bin
Du stehst nicht auf Backup, was?
Eigentlich schon, aber ich habe gestern erst erfahren, das ich mit dem bin_log ein inkrementelles Backup verwirklichen kann. Werde ich auch aktivieren. Muss zusätzlich noch ein Parameter gesetzt werden, den man fürs Backup benötigt?
isotopp wrote:

Code: Select all

# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 5M
Gut, paßt von der Größe zu Deinen Tabletypen. Bisher findet sich Data nur in Deiner history-Tabelle (11MB), und dort generierst Du extrem große Index-Lengths. Möglicherweise gehst Du hier einen architekturellen Irrweg, wir müssen das in einem anderen Artikel weiter unten noch mal genauer besprechen - was ist das Ziel Deiner Anwendung (was generierst Du - System Down Warnungen oder Grafiken mit historischen Meßwerten?) und bist Du sicher, daß Du hier nicht OLTP und DWH im selben Datenmodell vermischt?
Nun lasse zunächst alle wichtigen Daten eines Routers sammeln und in die DB wegschreiben. Mit verschiedenen Parametern, die man dem Monitoring Programm mitgibt, legt man fest wie lange die Daten in der DB gespeichert werden. Für mich sind das 90 Tage, danach werden diese durch den zabbix Prozess automatisch aus der DB entfernt. Mit den Rohdaten die in der DB liegen, werden dann Graphen generiert. Man sieht dann also wie z.B. die Auslastung eines Interface ist, oder wie sich die CPU verhält, usw. Wenn du nen bissel mehr über das Tool erfahren willst kannst du dich gerne mal auf www.zabbix.com umschauen. Allerdings sind die Screenshots die du da findest nicht von der neuesten Version.
isotopp wrote:

Code: Select all

innodb_flush_log_at_trx_commit = 1
Kannst Du Dir bei der Natur Deiner Daten erlauben, das auf "2" zu setzen?
Eigentlich muss der Wert auf 1 stehen bleiben, da es sich bei den Daten um recht wichtige Daten handelt, die direkt auf Platte geschrieben werden sollten. Denke die Festplatten sind dabei auch nicht das Problem. Sind SCSI Platten mit 10000rpm und 320MB/s.
isotopp wrote:

Code: Select all

| Com_delete                 | 93291      |
| Com_insert                 | 208651     |
| Com_select                 | 1476131    |
| Com_update                 | 453973     |
| Com_replace                | 0          | 
| Questions                  | 2366963    | 
| Uptime                     | 167028     | 
Up 2 Tage, 14 qps Durchschnitt, 1.95 mal mehr SELECT als DML. Kein REPLACE verwendet, wahrscheinlich auch keine extended INSERT Syntax - kannst Du Writes in die Datenbank batchen, oder mußt Du für jede Ã?nderung ein einzelnes INSERT generieren? Kannst Du statt UPDATE REPLACE verwenden und dann REPLACE mit extended INSERT Syntax verwenden, um zu batchen?
Das kann ich dir leider nicht genau sagen, da das Programm diese Info nicht hergibt. Schätze aber das jedes mal ein seperates Insert gemacht wird.
isotopp wrote:

Code: Select all

| Key_blocks_not_flushed     | 0          |
| Key_blocks_unused          | 115980     |
| Key_blocks_used            | 1          |
| Key_read_requests          | 12         |
| Key_reads                  | 1          |
Jedes Byte Speicher für den key_buffer ist verschendet. Setze den auf 16M.
Wird geändert ;)
isotopp wrote:

Code: Select all

| Open_tables                | 77         |
| Opened_tables              | 278        |
Dein Table Cache ist gross genug.
Endlich mal was was richtig ist. :)
isotopp wrote:

Code: Select all

| Qcache_free_blocks         | 0          |
| Qcache_free_memory         | 0          |
| Qcache_hits                | 0          |
| Qcache_inserts             | 0          |
| Qcache_lowmem_prunes       | 0          |
| Qcache_not_cached          | 0          |
| Qcache_queries_in_cache    | 0          |
| Qcache_total_blocks        | 0          |
Du verwendest den Query Cache nicht. Warum nicht? Bringt er bei Dir nix (alles mit prepared Statements?) oder weißt Du nix von dem?
Sorry da bin ich überfragt.
isotopp wrote:

Code: Select all

| Threads_cached             | 0          |
| Threads_connected          | 2          |
| Threads_created            | 55957      |
| Threads_running            | 1          |
Thread_cache kann auf 20 oder so gesetzt werden.
Wo und wie wird das gesetzt. Eintrag in my.cnf mittels threads_cached=20?
isotopp wrote:

Code: Select all

| innodb_log_buffer_size          | 8388608                    |
| innodb_log_file_size            | 20971520                   |
Je nachdem, was Du da machst, kann das knapp sein.
Wie finde ich den richtigen Wert heraus?
isotopp wrote:

Code: Select all

| innodb_thread_concurrency       | 8                          |
Je nachdem, was Du da an Hardware hast, kann es besser sein, dies auf 4 zu setzen.
Hardware ist folgende:
Intel Xeon Prozessor 3,0 Ghz
2048 MB RAM
2 x 73 GB SCSI Festplatten im RAID 1 Verbund (10000rpm)
genauere Beschreibung kann bei Fujitsu-Siemens unter RX200S2 gefunden werden.
isotopp wrote:

Code: Select all

| query_cache_size                | 0                          |
Hier, die gesparten 128M aus dem Key_buffer_size solltest Du mal lieber hier rein stecken.

Code: Select all

| thread_cache_size               | 0                          |
Wie gesagt, 20 wäre wohl gut bei den jetzigen Leistungsdaten.
Hier ist schon wieder meine Anfängerfrage, wo muss ich die Werte setzen? Vielleicht sollte ich mal nen längeren Abstecher auf der MySQL Page machen. Dann würden sich solche Fragen erübrigen.
isotopp wrote: 1200 Hosts pro Minute sind 20 Hosts, also 120 SNMP Queries pro Sekunde. Wenn jede dieser Queries einen Integer generiert, akkumulierst Du 480 Byte pro Sekunde, also 40.5 MB und 10 Mio Samples (Rows?) pro Tag. Da wirst Du nicht viel Freude dran haben, es sei denn, zu aggregierst fleißig und schmeißt die Raw-Daten regelmäßig weg.
Kann ich leider nicht machen, da ich sonst keine vernünftigen Graphen mehr erzeugen kann. Muss also in den sauren Apfel beißen und mit den Datenmengen leben.
isotopp wrote:Deswegen ist es sinnvoll hier die Alerts und die History sauber voneinander zu trennen (Zwei Schemata, möglicherweise sogar in zwei verschiedenen Datenbanken) und eine saubere Schnittstelle zwischen beiden Dingen zu definieren. Alerts sind OLTP-Jobs, die History ist ein klassischer DWH-Job.
Die Entwickler des Tools geben als Möglichkeit die Performance zu steigern eine ähnlich Lösung an, Sie empfehlen die History und Trend Tabellen auf eine andere Maschine auszulagern. Jedoch kann ich das bei mir nicht machen, da ich nur diese eine Maschine zur Verfügung habe. Muss also auch irgendwie so funktionieren.
isotopp wrote:Was sind die Dinge, die Du aus der History ziehen willst?
Die History ist quasi die Tabelle schlecht hin. Aus ihr werden die Daten für die Erstellung der Graphen gezogen. Diese Tabelle wirde zwangsläufig auf etwas 900 Mio Rows kommen, da ich eine Rückblick auf 3 Monate gewähren muss. Also bei jedem Host der gemonitort wird, muss ein Rückblick von 90 Tagen gewährleistet werden. Hoffentlich hält die DB das aus.
isotopp wrote:Hast Du Dir schon über Granularität und Aggregierung der Daten Gedanken gemacht oder willst Du wirklich auf 300 Mio Rows pro Monat rumsitzen?
Siehe vorrigen Beitrag.
isotopp wrote:Mit 120 SNMP Queries pro Sekunde wirst Du auch ohne Datenbank die Kiste schon ziemlich stressen.
Eigentlich nicht, ich habe bereits einen Versuch gestartet, bei dem alle 1200 Hosts gemonitort wurden und der Prozess, der die SNMP abfragen macht, braucht so gut wie keine Prozessorlast. Zumindest habe ich das mit "top" beobachtet. Was aber verdammt viel Leistung geschluckt hat, war der MySQL Prozess. Dieser lag eigentlich ständig bei über 90%, und das kann ja nicht sein, bei so einer starken Kiste.

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-25 20:05

krusty007 wrote:Nun lasse zunächst alle wichtigen Daten eines Routers sammeln und in die DB wegschreiben. Mit verschiedenen Parametern, die man dem Monitoring Programm mitgibt, legt man fest wie lange die Daten in der DB gespeichert werden. Für mich sind das 90 Tage, danach werden diese durch den zabbix Prozess automatisch aus der DB entfernt.
Nach oberflächlicher Durchsicht des Zabbix Source (Ich habe keine Zeit, das jetzt gerade mal zu installieren) ist das nicht sonderlich strukturiert oder effizient. In db.c baut Zabbix sich so eine Art Behelfs-Datenbankabstraktion zusammen, macht dies aber auf eine total grauenhafte Weise mit #ifdef, anstatt das in zwei verschiedene Module zu tun.

In dieser API, die in db.c generiert wird, gibt es Funktionen wie DBexecute(), die einen Query-String ausführen und dann weiter unten Funktionen, die Daten nehmen und in INSERT oder DELETE-Anweisungen umwandeln. Das geschieht dabei auf eine Weise, daß jedes Einfügen von Werten 2 (!) INSERT-Anweisungen zum Server generiert - 120 SNMP-Requests pro Sekunde enden also als 240 INSERT-Anweisungen pro Sekunde. Mit innodb_flush_log_at_trx_commit = 1 wird dann jedes einzelne dieser INSERTS so lange verzögert, bis die Platte gerappelt hat. Das ist sehr, sehr, sehr aufwendig und es ist nicht weiter verwunderlich, daß Du die Load siehst, die Du da siehst.

Das kann man mit einer Ã?nderung in der API und schlauerem SQL sehr viel schneller machen - wie bei den meisten Alert-Tools ist es nicht wirklich wichtig, ob mal eine Sekunde oder gar eine Minute in der History fehlt, solange nur aller Alerts generiert werden. Außerdem muß die History nicht wirklich 240 mal pro Sekunde auf die Platte comitted werden. Mit extended INSERT Syntax kann man außerdem die qps und die Anzahl der Roundtrips zum Server drastisch reduzieren.
Du verwendest den Query Cache nicht. Warum nicht? Bringt er bei Dir nix (alles mit prepared Statements?) oder weißt Du nix von dem?
Oberflächliches Durchsehen von db.c hat nix in Richtung prepare gezeigt, also kann der Query Cache was bringen (wenn die SELECTS die INSERTS weiterhin überwiegen, was ich derzeit mal bezweifle)
isotopp wrote: 1200 Hosts pro Minute sind 20 Hosts, also 120 SNMP Queries pro Sekunde. Wenn jede dieser Queries einen Integer generiert, akkumulierst Du 480 Byte pro Sekunde, also 40.5 MB und 10 Mio Samples (Rows?) pro Tag. Da wirst Du nicht viel Freude dran haben, es sei denn, zu aggregierst fleißig und schmeißt die Raw-Daten regelmäßig weg.
Es werden 16 Byte Daten pro Row in history verbraucht, dazu noch mehr Daten in history_uint oder history_str.

history generiert außerdem 12 Byte Index pro Row, bei 900 Mio Rows also einen Index von 10 GB (plus zweimal 10 GB Index für history_str und history_uint). Du wirst also nicht mehr als 3% des Index im Speicher halten können für diese Tabellen.
Kann ich leider nicht machen, da ich sonst keine vernünftigen Graphen mehr erzeugen kann. Muss also in den sauren Apfel beißen und mit den Datenmengen leben.
Man könnte auch schlauer sein, und präventiv aggregieren. Ich glaube, daß man sich nicht wirklichfür 90 Tage alte Daten auf Sekundenebene interessieren sollte, wenn man Netzwerke überwacht. Eigentlich halte ich als Datenbanker hier RRDtool für den sinnvolleren Ansatz.
Was aber verdammt viel Leistung geschluckt hat, war der MySQL Prozess. Dieser lag eigentlich ständig bei über 90%, und das kann ja nicht sein, bei so einer starken Kiste.
Das ist im Grunde nicht weiter verwunderlich bei dem generierten SQL und innodb_flush_log_at_trx_commit. Jeder SNMP-Read läßt die Platte mindestens zweimal blinken, so wie es jetzt konfiguriert ist (dazu dann noch die Indexoperationen oben drauf).

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-26 08:35

Wow, jetzt bin ich echt von den Socken. Da ich kein Programmierer für DB oder sonst bin, habe ich das nicht gewusst. Dann hätte ich mir wahrscheinlich nen anderes Monitoring Tool gesucht. Ist dann nur die Frage welches. Mein Chef hat mir die Auflage gemacht, das es Open Source sein soll, und da gibt es ja nunmal nicht so viele. Denkst du denn, das es mit dem RRDTool besser laufen würde? Wenn ja würde mich das verwundern. Denn so viel ich weis basiert das RRDTool ja nicht auf einer Datenbank, sonder schreibt die Daten doch in ein Textfile, oder hat sich da mittlerweile was getan? Muss ich mal schauen.
Was eigentlich einer der wichtigsten Kriterien für Zabbix als Monitoring Tool war, ist die leichte Anpassung an eigene Bedürfnisse. Wenn ich da z.B. Cacti sehe, ist das nen bissel schwieriger. Werde mich jetzt noch mal auf die Suche nache einem anderen Tool machen, das ebenfalls OpenSource ist und performanter ist. Vielleicht hast du ja einen Tip für mich. :)
Nochmals herzlichen Dank für deine Mühe. Gebe dir auch mal nen Bier aus, wenn man sich mal sehen sollte. :lol:

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-27 00:03

krusty007 wrote:Ist dann nur die Frage welches.
Zabbix bringt eigentlich eine ganze Menge mit. Der Teil, der die Datenbank ansteuert, scheint es jedoch nach meiner 30-Minuten-Examinierung nicht sehr schlau zu machen (Ich habe es nicht ausprobiert, sondern nur ein wenig im Source gelesen, es mag sein, daß ich mich irre). Ich glaube auch nicht, daß es sehr schwer sein kann, da ein wenig Aggregation und eine sinnvollere Datenbank-API reinzufälschen.
Denn so viel ich weis basiert das RRDTool ja nicht auf einer Datenbank, sonder schreibt die Daten doch in ein Textfile, oder hat sich da mittlerweile was getan?
Nein, hat es nicht. RRDtool kann eine ganze Reihe Dinge nicht tun, die Zabbix kann. Es speichert lediglich Daten und aggregiert sie automatisch. Zabbix macht viel mehr, es sammelt nämlich auch Daten, und es hat schon fertige Graphen (die muß man sich aus einer RRD erst mal generieren. Das ist nicht schwer, RRDtool bringt das mit, aber man muß sich das trotzdem erst mal in Aufrufe gießen).

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-27 08:10

isotopp wrote: Ich glaube auch nicht, daß es sehr schwer sein kann, da ein wenig Aggregation und eine sinnvollere Datenbank-API reinzufälschen.
Also vom Source Code lasse ich besser die Finger. Leider, oder zum Glück steht mein Server in einem sicheren Netz, sonst könnte ich dir den Zugriff auf diesen erlauben und du könntest dir das Tool mal in Aktion anschauen.
isotopp wrote:RRDtool kann eine ganze Reihe Dinge nicht tun, die Zabbix kann. Es speichert lediglich Daten und aggregiert sie automatisch. Zabbix macht viel mehr, es sammelt nämlich auch Daten, und es hat schon fertige Graphen (die muß man sich aus einer RRD erst mal generieren. Das ist nicht schwer, RRDtool bringt das mit, aber man muß sich das trotzdem erst mal in Aufrufe gießen).
So ganz stimmt das aber nicht. Auch Zabbix sammelt sich die Daten bzw. fragt die Hosts in einer gewissen Zeit ab und speichert diese in der DB ab. Bei RRD ist das das gleiche. Auch Zabbix muss zunächst die Daten wieder aus der DB lesen und generiert daraus Graphen. Für mich war allerdings neu, das RRD nun auch die Daten in einer DB speichert. Also schlägst du mir vor, weiterhin bei Zabbix zu bleiben. Dann will ich noch mal zum eigentlichen Thread zurückkommen. Was kann ich dann an den Konfigeinstellungen verändern damit der Server "Beine bekommt"?

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by flo » 2006-02-27 08:13

@krusty + Isotopp:
Ich hab das ja nur am Rande aber mit Interesse verfolgt - die Menge an Hardwareressoucen für eine Ã?berwachung zu verballern, erscheint mir unsinnig. Als Krusty von solchen Tabellengrößen angefangen hat, dachte ich ja zuerst an eine Produktdatenbank oder ähnliches.

Kristian, wie Du schon gesagt hast, interessiert einen nach einer Stunde schon nicht mehr wirklich, wann der Rechner lief, sondern eher im Gegenteil, wann die Kiste nicht verfügbar war.

Bei rrdtool - ich stecke da auch nicht so drin - müssen doch aber auch die Daten irgendwoher kommen? Ich hab rrdtool so verstanden, daß es sich dabei nur um einen Datenbankcontainer handelt, der Daten beliebiger Art annehmen kann.

flo.

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-27 10:30

flo wrote:@krusty + Isotopp:
Ich hab das ja nur am Rande aber mit Interesse verfolgt - die Menge an Hardwareressoucen für eine Ã?berwachung zu verballern, erscheint mir unsinnig. Als Krusty von solchen Tabellengrößen angefangen hat, dachte ich ja zuerst an eine Produktdatenbank oder ähnliches.
Hi flo, leider muss ich die Daten 90 Tag aufbewahren, so das man jederzeit bis zu 90 Tag in der Vergangenheit zeigen kann wie der Stand der CPE war. Natürlich weis ich auch, das es einen nach 14 Tagen nicht mehr interessiert wie viel Auslastung ein Interface vor 14 Tagen hatte aber ist nunmal so vorgeschrieben.

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Hilfe bei my.cnf für meinen Server

Post by duergner » 2006-02-27 11:45

Aber muss man die alten Graphen denn immer noch aus den Daten aggregieren? Ist es nicht evtl kostengünstiger, die Graphen einfach zu erzeugen und quasi statisch vorzuhalten?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-27 11:52

duergner wrote:Aber muss man die alten Graphen denn immer noch aus den Daten aggregieren? Ist es nicht evtl kostengünstiger, die Graphen einfach zu erzeugen und quasi statisch vorzuhalten?
Oder man schmeisst nach einem Tag alle Rows mit "OK" weg und speichert nur noch Rows, die "Ausfall" signalisieren.

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by flo » 2006-02-27 12:08

Nun gut, wenn man davon ausgeht, daß "laufen" der Default-Zustand ist, dann reicht es, wenn man die Ausfälle protokolliert :-)

Aber - Krusty hat von Interfacezuständen gesprochen, und dann wird es schwieriger - wenn man natürlcih sekündlich wissen muß, wieviel Traffic am soundsovielten ging, dann fallen die Daten an, das ist klar.

flo.

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-28 10:15

Richtig flo, ich muss mit dem Tool über einen Zeitraum von 90 Tagen oder 3 Monaten die Auslastung der Interface einer CPE und den Status des Prozessors anzeigen können. Dabei kann ich leider nicht auf Daten verzichten. Diese Zabbix Tool schreibt ja wie schon geschrieben die Daten die es über SNMP abgefragt hat in die Datenbank weg. Wenn ich mir dann die Graphen anzeigen lassen möchte, werden die Daten wieder aus der DB ausgelesen und zu einem Graphen zusammengefasst. Es ist also nicht möglich Daten zu löschen, da sonste der Graph unvollständig ist. Nach den 90 Tagen werden dann die alten Daten aus der DB gelöscht.

Wie isotopp schon angemerkt hat, kommen bei 1200 CPEn sehr viele Daten zusammen. Und genau hier vermute ich hat der Server ein Problem. Denn zum einen muss der Server jede Minute die 1200 CPEn, die jeweils mehere SNMP Abfragen beinhalten abarbeiten und dann in die DB schreiben. Und wenn dann gleichzeitig, sagen wir mal die Hälfte der Kunden den Status der eigenen CPE sehen wollen, also 600 Abfragen bzgl. Graphen an den Server gestellt werden, kann das schon eng werden. Hier ist mein Problem. Wie kann ich den Server beschleunigen, damit er solche Belastungen aushält?

User avatar
isotopp
RSAC
Posts: 482
Joined: 2003-08-21 10:21
Location: Berlin

Re: Hilfe bei my.cnf für meinen Server

Post by isotopp » 2006-02-28 10:34

krusty007 wrote:Wie isotopp schon angemerkt hat, kommen bei 1200 CPEn sehr viele Daten zusammen.
Mehr als Du brauchst. Wie breit ist Dein Graph in Pixeln, und welcher Zeitraum wird da reingeplottet. Du mißt sekündlich. Wenn Dein Graph einen Tag (86400 Sekunden) darstellen soll und 640 Pixel breit ist, dann repräsentiert jedes Pixel genau 86400/640 = 135 Sekunden oder zwei Minuten und 15 Sekunden. Eine genauere Auflösung als 2m15s ist also sinnlos und überflüssige Datenhaltung. Wenn Dein Graph kleiner ist oder auf der Breite mehr Daten dargestellt werden sollen, brauchst Du noch weniger Daten (900 Mio/135 sind nur noch 6.66 Mio).

Die dargestellten Pixel sind entweder Summen oder Durchschnittswerte (arithmetisches Mittel oder Median) der 135 enthaltenen Meßwerte, oder Minima (Wenn in den 2m15s ein Ausfall war, soll das ganze Pixel auf Failure gesetzt werden).

Dies ist genau Aggregation, und die Regeln für Aggregation muß man natürlich vorher (vor dem Zeichnen des Graphen) festlegen. Dies ist im übrigen genau was RRDtool macht - es akkumuliert Meßwerte in einem Ringpuffer fester Größe, und bildet aus den Werten im Ring andere, zeitlich umfassendere, aber größer aufgelöste Ringe. So bekommst Du für die letzten 10 Minuten Sekunden sekundengenaue Daten, wenn Du willst, für die letzten eineinhalb Stunden 10 Sekunden genaue Werte, für die letzten 8 Stunden minutengenaue Werte und für die letzten 90 Tage dann Werte von 2m15s, wenn Du Deine Puffer so konfigurierst.

RRDtool kennt vordefinierte Aggregationsregeln inklusive Failureregeln (ein Ausfall zählt als Ausfall, wenn für x von y aufeinanderfolgenden Schritten keine Daten vorliegen) und ist sehr gut darin, Werte nach Aggregation wegzuwerfen, die für das Zeichnen nicht mehr verwendet werden müssen.

Genau diese Logik fehlt Zabbix. Und das - neben dem schlechten SQL - sind die beiden zentralen Designprobleme in Zabbix, die die Autoren IMHO angehen müssen.

Und das Problem ist IMHO nicht den Server zu beschleunigen - das ist unrealistisch angesichts des Codes und der Anforderung. Sondern das Problem auf tatsächliche Erfordernisse runterzubrechen. Daten 135mal genauer als die Bildschirmauflösung zu speichern ist IMHO nicht so richtig sinnvoll

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-02-28 12:37

Also der Graph ist 900x200 pixel groß
Kann man aber einstellen wie man lustig ist. Auch den angezeigten Bereich kann man sich anzeigen lassen wie man möchte, von 1 Stunde bis einem Jahr.

duergner
RSAC
Posts: 976
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Hilfe bei my.cnf für meinen Server

Post by duergner » 2006-02-28 13:42

Für die Anfrage der Kunden kannst du evtl. die Datenbank auf einen zweiten Server replizieren. Ich befürchte, dass du das auf einem Server eh nicht alles schaffen wirst, wenn an der Application nicht einige der Verbesserungen die isotopp schon angemerkt hat gemacht werden und deine 1200 Server irgendwann mal vielleicht noch etwas mehr SNMP Sachen schicken. Evtl. würde es da jetzt schon Sinn machen, einen zweiten Server einzusetzten und somit einfach die Last zu halbieren. Oder ist das auf Grund der Daten auch nicht machbar?

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-03-01 08:22

Ein zweiter Server ist schon möglich, nur leider möchte mein Chef nicht noch einen teuren Server kaufen. Also muss ich schauen, das ich das mit dem einen Server hin bekomme. Habe mich auch mal in dem Zabbix Forum rumgetrieben, und leider keine wirkliche Hilfestellung zu meinem Performance Problem bekommen. :(
Naja, muss ich mal schauen wie ich das besser hin bekomme. Hat von euch jemand nen Vorschlag für eine anderes Open Source Tool mit dem man sehr viele CPEn monitoren kann?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Hilfe bei my.cnf für meinen Server

Post by Joe User » 2006-03-01 11:12

Mal ins Blaue gedacht:
Die "Kunden" interessieren sich wahrscheinlich primär nur für den aktuellen Tag und nur selten für die vergangenen 90 Tage. Daher würde ich nur die Daten des aktuellen Tages im primären MySQL-Server vorhalten und die älteren Daten in einen zweiten MySQL-Server schieben. So sinkt die Last auf dem primären MySQLd erheblich und die Graphen des aktuellen Tages können ressourcenschonender erzeugt werden...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-03-01 12:59

Joe User wrote:Mal ins Blaue gedacht:
Die "Kunden" interessieren sich wahrscheinlich primär nur für den aktuellen Tag und nur selten für die vergangenen 90 Tage. Daher würde ich nur die Daten des aktuellen Tages im primären MySQL-Server vorhalten und die älteren Daten in einen zweiten MySQL-Server schieben. So sinkt die Last auf dem primären MySQLd erheblich und die Graphen des aktuellen Tages können ressourcenschonender erzeugt werden...
Wie schon geschrieben, ein zweiter Server kommt nicht in Betracht. Muss alles auf einem laufen.

[edit] Hat von euch schon jemand mal diese Monitoring Tool verwendet? Oder was könnte ich als alternative verwenden. Gut rrdTool mit der Bedienoberfläche von Cacti ist nett aber ist es auch gut bzw. ist es schnell?

krusty007
Posts: 28
Joined: 2006-02-23 15:00
Location: Eifel

Re: Hilfe bei my.cnf für meinen Server

Post by krusty007 » 2006-03-01 13:15

Habe gerade über phpMyAdmin gesehen, das einige Werte rot angezeigt werden. In der Beschreibung habe ich gesehen, das man folgende Werte erhöhen sollte.

table_cache
key_cache

Nun meine Frage, wie hoch soll ich die Werte setzen? Momentan ist eingestellt:

table_cache = 256
key_cache habe ich nicht direkt gefunden dafür aber diese:
key cache age threshold 300
key cache block size 1024
key cache division limit 100

Was muss ich hier einstellen?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11599
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Hilfe bei my.cnf für meinen Server

Post by Joe User » 2006-03-01 13:30

krusty007 wrote:Wie schon geschrieben, ein zweiter Server kommt nicht in Betracht. Muss alles auf einem laufen.
Ich meinte einen zweiten MySQLd auf der selben Maschine.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.