Possibly..

top - 07:52:58 up 18:04,  3 users,  load average: 4.98, 4.09, 3.20
Tasks: 165 total,   3 running, 162 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.0% us,  0.0% sy, 100.0% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0%
si
Cpu1  :  0.0% us,  0.3% sy,  0.0% ni,  0.0% id, 96.3% wa,  0.7% hi,  2.7% si
Cpu2  :  0.0% us,  0.3% sy, 99.7% ni,  0.0% id,  0.0% wa,  0.0% hi,  0.0% si
Cpu3  :  0.0% us,  0.0% sy,  0.0% ni,  0.0% id, 100.0% wa,  0.0% hi,  0.0%
si
Mem:   8168104k total,  7694556k used,   473548k free,    31040k buffers
Swap:  2008084k total,      160k used,  2007924k free,  6044284k cached

Phil


On Mon, Jul 21, 2008 at 9:41 AM, Ananda Kumar <[EMAIL PROTECTED]> wrote:

> when you run this update, what is the IO WAIT  from the top command.
>
> regards
> anandkl
>
>
> On 7/21/08, Phil <[EMAIL PROTECTED]> wrote:
> >
> > Nothing else running and no queries go against that table, it's
> effectively
> > created just for this, so I would expect the table lock.
> >
> > Show (full) processlist has nothing but this running..
> >
> > Confirmed the faster disks by copying 5Gb files between two of the same
> > type
> > of disk (I installed two of them). 2xfaster than previous disks.
> >
> > my.cnf
> >
> > [mysqld]
> > datadir=/var/lib/mysql
> > socket=/var/lib/mysql/mysql.sock
> > user=mysql
> > # Default to using old password format for compatibility with mysql 3.x
> > # clients (those using the mysqlclient10 compatibility package).
> > old_passwords=1
> > key_buffer_size=3072M
> > max_allowed_packet=16M
> > thread_stack=128K
> > thread_cache_size=64
> > thread_concurrency=8
> > sort_buffer_size=32M
> > join_buffer_size=3M
> > read_buffer_size=16M
> > query_cache_size=64M
> > query_cache_limit=8M
> > table_cache=300
> > max_connections=500
> > max_heap_table_size=1024M
> > tmp_table_size=1024M
> > myisam_sort_buffer_size=128M
> > wait_timeout=3000
> >
> > set-variable=long_query_time=6
> > log-slow-queries=/var/log/mysql-slow-queries.log
> >
> > 8Gb Ram on this machine which is an intel quad core.
> >
> > Anything else I'm missing? It's *possible* a colleague had changed the
> > my.cnf in the last few weeks and mysqld hadn't been restarted, but I
> don't
> > see anything obvious in there and he can't remember.
> >
> > :(
> >
> >
> >
> > On Mon, Jul 21, 2008 at 7:08 AM, Ananda Kumar <[EMAIL PROTECTED]> wrote:
> >
> > > Is there any other job running while the update is happening. Because,
> > > myisam does a table level lock. Please check the "show full
> processlist".
> > >
> > > Also run mysqladmin -uroot -pxxx status. This would write lock
> > information
> > > into the machine.err log file. Check in this file also if there is any
> > > locking happening.
> > >
> > > R u sure, this disk is a FASTER disk then the earlier one.
> > >
> > >
> > >
> > >
> > > On 7/21/08, Phil <[EMAIL PROTECTED]> wrote:
> > >>
> > >> Hi All,
> > >>
> > >>
> > >> Given a fairly simple table as follows
> > >>
> > >> CREATE TABLE `common_userx2` (
> > >> `t_proj` char(6) default NULL,
> > >> `t_id` int(11) NOT NULL default '0',
> > >> `t_nick` varchar(50) character set latin1 collate latin1_bin NOT NULL
> > >> default '',
> > >> `t_country` varchar(50) NOT NULL default '',
> > >> `t_cpid` varchar(50) NOT NULL default '',
> > >> `t_url` varchar(50) default NULL,
> > >> `t_create_date` int(11) default NULL,
> > >> `t_create_time` bigint(20) NOT NULL,
> > >> `t_has_profile` char(1) NOT NULL,
> > >> `t_team0` int(11) default NULL,
> > >> `t_metric1` double(20,6) NOT NULL default '0.000000',
> > >> `t_metric2` double NOT NULL default '0',
> > >> `t_metric3` double NOT NULL default '0',
> > >> `t_metric4` double default NULL,
> > >> `t_active` char(1) NOT NULL default '',
> > >> `t_rev_metric1` double(20,6) NOT NULL default '10000000000.000000',
> > >> `t_projrank0` int(11) default NULL,
> > >> `t_rev_metric2` double(20,6) NOT NULL default '10000000000.000000',
> > >> `t_racrank0` int(11) default NULL,
> > >> `t_teamrank0` int(11) default NULL,
> > >> `t_countryrank0` int(11) default NULL,
> > >> `t_createdaterank0` int(11) default NULL,
> > >> PRIMARY KEY  (`t_id`),
> > >> KEY `prank` (`t_rev_metric1`,`t_id`),
> > >> KEY `trank` (`t_team0`,`t_rev_metric1`,`t_id`),
> > >> KEY `countryrank` (`t_country`,`t_rev_metric1`,`t_id`),
> > >> KEY `createdaterank` (`t_create_date`,`t_rev_metric1`,`t_id`),
> > >> KEY `racrank` (`t_rev_metric2`,`t_id`)
> > >> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
> > >>
> > >> I have a ranking update statement as follows
> > >>
> > >> set @rank = 0;
> > >> update common_userx2 set projrank0 = @rank:[EMAIL PROTECTED] order by
> > >> t_rev_metric1,t_id;
> > >>
> > >> For the largest case this has close to 1M rows.
> > >>
> > >> For weeks it was taking around 10seconds to do this. Yesterday I
> > replaced
> > >> the main data drive in the machine with a faster SATA Raptor drive. No
> > >> problems occurred, but since then (and the subsequent reboot of the
> > >> machine)
> > >> this particular query is taking 45 minutes!
> > >>
> > >> I can't, for the life of me figure out why performance would be
> degraded
> > >> so
> > >> much. At first I thought perhaps it might be just disk/mysql caching
> but
> > >> the
> > >> performance has not increased any in subsequent runs.
> > >>
> > >> Any advice on where to look ?
> > >>
> > >> Phil
> > >>
> > >> --
> > >> Help build our city at http://free-dc.myminicity.com !
> > >>
> > >
> > >
> >
> >
> > --
> > Help build our city at http://free-dc.myminicity.com !
> >
>



-- 
Help build our city at http://free-dc.myminicity.com !

Reply via email to