Hi :)

We're running 3 MySQL-servers for our customers databases
(hosting-provider),  and once in a while they give us REAL headaches. 
This time it's our 2nd server. At night, the load is +/- 34-50. 
Daily, it's between 2 and 20.

All servers are dual PIII/1000 with 2GB of memory and U160 10K SCSI disks. 
Also one disk for the OS, and a RAID1-array for MySQL. 
(0+1 would be better I guess...) Would dual Xeon's (2 gHz) improve
performance ?

When our first server had this problem, we isolated it by blocking servers 
to see where the problem came from. We found one database that had some old 
ISAM-tables, instead of MyISAM. Converted those and now it only spontaneously 
has a load higher then 8. (Avg. 3 - < 5 between 09:00AM and 02:00AM)

This time, we haven't been able to find the problem by blocking one host
at a time. And that's strange, since it has run pretty smoothly. 
I've been puzzeling with the my.cnf options, but nothing seems to help. 
Increasing key_buffer to 50% of RAM doesn't help much. Is it wise to do it ? 

If I do a 'SHOW PROCESSLIST', I see 90 connections, with only 4 or 5 query's.
The rest is 'sleep'. And also, 1 Delayed_insert. Load at this moment: 11.93, 9.42, 7.01

Threads: 98  Questions: 550167  Slow queries: 31  Opens: 8194  Flush
tables: 4  Open tables: 1024 Queries per second avg: 420.296

Open tables ... could this be the problem ? If I increase it to 8192,
show status let me see that it grows to this value.

We run about 750 - 800 databases per server. We now are lowering this to
500.

ulimit -a shows me:
core file size (blocks)  0
data seg size (kbytes)   unlimited
file size (blocks)       unlimited
max memory size (kbytes) unlimited
stack size (kbytes)      8192
cpu time (seconds)       unlimited
max user processes       10240
pipe size (512 bytes)    8
open files               10240
virtual memory (kbytes)  2105343

/proc/sys/fs/file-max:          65536
/proc/sys/kernel/threads-max:   65536

Running MySQL 3.23.49 on RedHat 6.2 with kernel 2.4.18-ac3, 
linked to it's own libpthread.a of glibc-2.2.2, as 'recommended' 
at the MySQL-website (gcc 2.95.3). Compiled MySQL with:

export CFLAGS="-O3 -mpentiumpro" 
export CXX=gcc 
export CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql --with-other-libc=/usr/local/glibc \
--with-mysqld-user=mysql --with-extra-charsets=none --without-debug \ 
--without-bench --without-docs --enable-assembler \
--with-mysqld-ldflags=-all-static

Running the MySQL-binary, _does not_ improve performance :(

my.cnf looks like this:
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
# key_buffer 25% of RAM
set-variable    = key_buffer=512M
set-variable    = max_allowed_packet=1M
set-variable    = sort_buffer=8M
set-variable    = record_buffer=8M
set-variable    = thread_cache=8
set-variable    = thread_concurrency=4
set-variable    = myisam_sort_buffer_size=64M
set-variable    = table_cache=1024
set-variable    = max_connections=1250
set-variable    = max_connect_errors=999999999
set-variable    = wait_timeout=30
# tmpdir on another disk
tmpdir          = /mnt/mysql_tmp/


Please give me comments ... *desperate* looking for a way to fix this.

Also, I have .err ... with a few backtraces ... changed my.cnf options,
so it's not showing the correct values as they are now.

020425 14:35:33  mysqld started
/opt/database/mysql-glibc/libexec/mysqld: ready for connections

Status information:

Current dir: /opt/database/mysql-glibc/var/
Current locks:
lock: 5964b134:
<cut>
lock: 59966cf4: read
read      : 59993070 (1499178:1); 
<cut>

key_cache status:
blocks used:     14263
not flushed:         0
w_requests:      40556
writes:          37503
r_requests:    2544986
reads:           13831

handler status:
read_key:      1400215
read_next:     3124503
read_rnd        747065
read_first:       4166
write:          159821
delete             456
update:         601275

Table status:
Opened tables:       4109
Open tables:          512
Open files:           966
Open streams:           0
mysqld got signal 11;

key_buffer_size=402649088
record_buffer=2093056
sort_buffer=2097144
max_used_connections=337
max_connections=1250
threads_connected=91
It is possible that mysqld could use up to 
key_buffer_size + (record_buffer + sort_buffer)*max_connections =
1313898 K
bytes of memory
Hope that's ok, if not, decrease some variables in the equation

Stack range sanity check OK, backtrace follows:
0x806cb54
0x8116c2a
0x80e715e
0x80b5de8
0x8069d75
0x8069bea
0x8084e34
0x808725d
0x80736ac
0x8077808
0x80728f4
0x8071ca7
Stack trace seems successful - bottom reached

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 0x610a9940  is invalid pointer
thd->thread_id=868173

Successfully dumped variables, if you ran with --log, take a look at the
details of what thread 868173 did to cause the crash.  In some cases of
really bad corruption, the values shown above may be invalid

Number of processes running now: 1
020425 22:20:11  mysqld restarted

Should I run with --log to be able to solve this ? Logfile grows to
150MB per 30-45 minutes.

(I apologize for this long message ... but I didn't want to forget to
mention things :)

-- 
Met vriendelijke groet/With kind regards,

Wouter de Jong
System-Administrator

CABLE & WIRELESS
Delivering the Internet promise(tm)
URL:    http://www.widexs.nl

Email:  [EMAIL PROTECTED]
Tel:    +31 (0) 23 5698070
Fax:    +31 (0) 23 5698099


***************************************************************************************
This message may contain information which is confidential or privileged.
If you are not the intended recipient, please advise the sender immediately
by reply e-mail and delete this message and any attachments without retaining a copy.
***************************************************************************************

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to