I have been using 5.1.42 for a while.  I purchased a new server (Dell T110 with 
8GB memory) to use for the databases that I don't want on the production 
server.  I am using Innodb exclusively.  Queries on 5.5 took 4 to 10 times as 
long as 5.1.  Thinking I had a problem with the hardware, I then loaded the 
latest 5.1.  The test queries took slightly less time than the production 
server.

I tried various options to tune MySQL (to no avail)... the last config file 
looked like this:

# The following options will be passed to all MySQL clients

[client]

#password = your_password

port = 3306

socket = /var/run/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server

[mysqld]

port = 3306

socket = /var/run/mysql/mysql.sock

#skip-locking

key_buffer = 384M

max_allowed_packet = 80M

max_sp_recursion_depth = 100

table_cache = 512

sort_buffer_size = 2M

read_buffer_size = 2M

read_rnd_buffer_size = 4M

myisam_sort_buffer_size = 64M

thread_cache_size = 8

query_cache_size= 32M

# Try number of CPU's*2 for thread_concurrency

thread_concurrency = 8

basedir=/usr/local/mysql

datadir=/storage/mysql/data

wait_timeout = 10800

max_connections = 300

[mysqld_safe]

malloc-lib=tcmalloc

# Don't use DNS for host resolution

skip-name-resolve



# 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

# Disable Federated by default

skip-federated

# Replication Master Server (default)

# binary logging is required for replication

#log-bin=mysql-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=mysql-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 = 64M

#bdb_max_lock = 100000

# Uncomment the following if you are using InnoDB tables

innodb_data_home_dir = /storage/mysql/data

innodb_data_file_path = ibdata1:2000M;ibdata2:10M: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_adaptive_hash_index = ON

innodb_commit_concurrency = 4

innodb_buffer_pool_size = 5G

innodb_flush_log_at_trx_commit = 2

innodb_flush_method = O_DIRECT

innodb_lock_wait_timeout = 50

innodb_additional_mem_pool_size = 20M

# Set .._log_file_size to 25 % of buffer pool size

innodb_log_buffer_size = 64M

innodb_log_file_size = 256M

innodb_log_files_in_group = 2

innodb_max_dirty_pages_pct = 75

innodb_table_locks = ON

innodb_thread_concurrency = 8

innodb_flush_log_at_trx_commit = 0



[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 = 256M

sort_buffer_size = 256M

read_buffer = 2M

write_buffer = 2M

[myisamchk]

key_buffer = 128M

sort_buffer_size = 128M

read_buffer = 2M

write_buffer = 2M

[mysqlhotcopy]

interactive-timeout

My config file for the 5.1 install is essentially the same (minor variations.)

Does anyone know why the performance would be so different?

Thanks,

Carl




Reply via email to