Re: Why can't I kill the query cache?

2009-05-30 Thread Baron Schwartz
I had heard of that trick but never looked it up.  'man proc' tells me

   /proc/sys/vm/drop_caches (since Linux 2.6.16)
  Writing to this file causes the kernel  to  drop  clean  caches,
  dentries  and  inodes from memory, causing that memory to become
  free.

  To free pagecache, use echo  1/proc/sys/vm/drop_caches;  to
  free dentries and inodes, use echo 2  /proc/sys/vm/drop_caches;
  to  free  pagecache,  dentries  and  inodes,  use   echo   3   
  /proc/sys/vm/drop_caches.

  Because  this  is  a non-destructive operation and dirty objects
  are not freeable, the user should run sync(8) first.

I should read the whole man page...

On Fri, May 29, 2009 at 5:59 PM, Eric Bergen eric.ber...@gmail.com wrote:
 You can also flush the cache with echo 1  /proc/sys/vm/drop_caches if
 you have a new enough kernel.

 On Fri, May 29, 2009 at 2:16 PM, Dan Nelson dnel...@allantgroup.com wrote:
 In the last episode (May 29), Gerald L. Clark said:
 Little, Timothy wrote:
  Also titled, I want this to run slow ALL the time...
 
  I have a group of dreadful queries that I have to optimize.
 
  Some take 20-30 seconds each -- the first time that I run them.  But
  then they never seem to take that long after the first time (taking less
  than a second then).  If I change the keywords searched for in the
  where clauses, then they take a long time again...  so it's the
  query-cache or something just like it.
 
  BUT, I am doing this each time :
  flush tables;
  reset query cache;
  set global query_cache_size=0;
  SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,
 
  And still it's not avoiding the cache.
 
  Is there a cache I'm missing?
 
  Tim...
 
 
 Disk cache, but I don't know how to clear it.

 Create a file 2x the size of your RAM (for a 2gb system, dd if=/dev/zero
 of=bigfile bs=1024k count=4096), then dd it to /dev/null (dd if=bigfile
 of=/dev/null bs=1024k).  That should flush your OS cache.  The guaranteed
 way would be to dismount then remount your filesystem, but that could be
 difficult depending on how many other processes are using it..

 --
        Dan Nelson
        dnel...@allantgroup.com

 --
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:    http://lists.mysql.com/mysql?unsub=eric.ber...@gmail.com





 --
 Eric Bergen
 eric.ber...@gmail.com
 http://www.ebergen.net

 --
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:    http://lists.mysql.com/mysql?unsub=ba...@xaprb.com





-- 
Baron Schwartz, Director of Consulting, Percona Inc.
Our Blog: http://www.mysqlperformanceblog.com/
Our Services: http://www.percona.com/services.html

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Why can't I kill the query cache?

2009-05-29 Thread Little, Timothy
Also titled, I want this to run slow ALL the time...

I have a group of dreadful queries that I have to optimize.  

Some take 20-30 seconds each -- the first time that I run them.  But
then they never seem to take that long after the first time (taking less
than a second then).  If I change the keywords searched for in the
where clauses, then they take a long time again... so it's the
query-cache or something just like it.

BUT, I am doing this each time :
flush tables;
reset query cache;
set global query_cache_size=0;
SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,

And still it's not avoiding the cache.

Is there a cache I'm missing?

Tim...


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Why can't I kill the query cache?

2009-05-29 Thread Gerald L. Clark

Little, Timothy wrote:

Also titled, I want this to run slow ALL the time...

I have a group of dreadful queries that I have to optimize.  


Some take 20-30 seconds each -- the first time that I run them.  But
then they never seem to take that long after the first time (taking less
than a second then).  If I change the keywords searched for in the
where clauses, then they take a long time again... so it's the
query-cache or something just like it.

BUT, I am doing this each time :
flush tables;
reset query cache;
set global query_cache_size=0;
SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,

And still it's not avoiding the cache.

Is there a cache I'm missing?

Tim...



Disk cache, but I don't know how to clear it.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Why can't I kill the query cache?

2009-05-29 Thread Dan Nelson
In the last episode (May 29), Gerald L. Clark said:
 Little, Timothy wrote:
  Also titled, I want this to run slow ALL the time...
  
  I have a group of dreadful queries that I have to optimize.  
  
  Some take 20-30 seconds each -- the first time that I run them.  But
  then they never seem to take that long after the first time (taking less
  than a second then).  If I change the keywords searched for in the
  where clauses, then they take a long time again...  so it's the
  query-cache or something just like it.
  
  BUT, I am doing this each time :
  flush tables;
  reset query cache;
  set global query_cache_size=0;
  SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,
  
  And still it's not avoiding the cache.
  
  Is there a cache I'm missing?
  
  Tim...
  
  
 Disk cache, but I don't know how to clear it.

Create a file 2x the size of your RAM (for a 2gb system, dd if=/dev/zero
of=bigfile bs=1024k count=4096), then dd it to /dev/null (dd if=bigfile
of=/dev/null bs=1024k).  That should flush your OS cache.  The guaranteed
way would be to dismount then remount your filesystem, but that could be
difficult depending on how many other processes are using it..

-- 
Dan Nelson
dnel...@allantgroup.com

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Why can't I kill the query cache?

2009-05-29 Thread Eric Bergen
You can also flush the cache with echo 1  /proc/sys/vm/drop_caches if
you have a new enough kernel.

On Fri, May 29, 2009 at 2:16 PM, Dan Nelson dnel...@allantgroup.com wrote:
 In the last episode (May 29), Gerald L. Clark said:
 Little, Timothy wrote:
  Also titled, I want this to run slow ALL the time...
 
  I have a group of dreadful queries that I have to optimize.
 
  Some take 20-30 seconds each -- the first time that I run them.  But
  then they never seem to take that long after the first time (taking less
  than a second then).  If I change the keywords searched for in the
  where clauses, then they take a long time again...  so it's the
  query-cache or something just like it.
 
  BUT, I am doing this each time :
  flush tables;
  reset query cache;
  set global query_cache_size=0;
  SELECT   SQL_NO_CACHE DISTINCT ca.conceptid AS headingid,
 
  And still it's not avoiding the cache.
 
  Is there a cache I'm missing?
 
  Tim...
 
 
 Disk cache, but I don't know how to clear it.

 Create a file 2x the size of your RAM (for a 2gb system, dd if=/dev/zero
 of=bigfile bs=1024k count=4096), then dd it to /dev/null (dd if=bigfile
 of=/dev/null bs=1024k).  That should flush your OS cache.  The guaranteed
 way would be to dismount then remount your filesystem, but that could be
 difficult depending on how many other processes are using it..

 --
        Dan Nelson
        dnel...@allantgroup.com

 --
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:    http://lists.mysql.com/mysql?unsub=eric.ber...@gmail.com





-- 
Eric Bergen
eric.ber...@gmail.com
http://www.ebergen.net

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org