On Sunday, October 6, 2002, at 01:53 AM, James Riordon wrote: >> Have you tried monitoring server B via 'top' or something and see what >> processes are taking up CPU time and/or swapping. > > > Hello, > > I have monitored top for a bit. It is definitely MySQL-Max that is > taking up the CPU and placing the load on the server. I have run strace > on some of the pids and see nothing normal. I have attached here one of > the listings from processlist just in case you see something: >
All right, after some more testing I have done the following: RECAP I have two servers, server A and server B. Server A has dual 1GHz PIII chips with 1GB ram and 2 ide drives running Ensim 3.0.4, php 4.1.2 and mysql-max 3.23.49a. Server B is a single processor 1.7Ghz PIV with 1.5GB of RAM and 1 ide drive running Ensim 3.1.1, php 4.1.2 and mysql-max 3.23.49a. I have one site on Server A which runs well and the server load is consistently under 1. When I moved that site to the new server it spiraled and crashed within seconds with high loads. After some investigation I thought it was MySQL that was the problem. Reason being is that I get tons of MySQL children or connections but they never close. Then I did the following. I recreated the site on Server B. In the config files on Server B I pointed the MySQL connect to Server A. I then redirected all traffic from Server A to Server B. So now Server A is handling all the mysql stuff as it was before, but all the httpd stuff is on Server B. Now for the strange thing, Server A crashes and burns. Yes, the dual processor machine now dies after about 2-3 minutes with load averages as high as 30 or more! All from mysql-max. So, I am thinking that it is no longer MySQL that is the problem. I would think from this test that it is either PHP or Apache that is opening connections with MySQL and then not releasing them. I am using connect() and not pconnect(), and I have disabled persistent connections in php.ini. My httpd.conf settings and my.cnf settings are below. Sorry if this sounds confusing but it is hard to describe it all clearly. Can anyone give me some suggestions of things I can look at on the new server that might be causing MySQL to open all these connections. I have checked the process list and I get a lot of process that just sit there and do nothing for over a minute. Almost like they are used once and then sit there until they die. Here are my config settings (same on both servers so I only include them once here): my.cnf --------- set-variable = max_connections=200 set-variable = interactive_timeout=100 set-variable = wait_timeout=100 set-variable = thread_cache_size=256 set-variable = connect_timeout=120 set-variable = myisam_sort_buffer_size=32M set-variable = key_buffer=16M set-variable = join_buffer=3M set-variable = record_buffer=3M set-variable = sort_buffer=5M set-variable = table_cache=1024 skip-locking Apache httpd.conf ------------------------- Timeout 300 KeepAlive On MaxKeepAliveRequests 300 KeepAliveTimeout 30 MinSpareServers 32 MaxSpareServers 64 StartServers 5 MaxClients 256 #MaxRequestsPerChild 30 Many many thanks. James --------------------------------------------------------------------- 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