7 Tidied up - corrected erroneous link!
source | link

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are current Oracle/MySQL employees (as of writing - . Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

(in response to OP's comment)

You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of partitioning is your best bet for the moment.

Following up on Bill Karwin's suggestion is also worthy, perhaps you could use VM's and see which ones are particularly problematic - and then issue warnings/throttle the systems which are trying to "steal" too much in the way of merit. resources? Also, the slow query log might be of use - but if the problem isn't the fact that the queries are slow, but rather that there are millions of them, then that won't fly!

Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are current Oracle/MySQL employees (as of writing - . Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

(in response to OP's comment)

You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit.

Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are current Oracle/MySQL employees (as of writing - . Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

(in response to OP's comment)

You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of partitioning is your best bet for the moment.

Following up on Bill Karwin's suggestion, perhaps you could use VM's and see which ones are particularly problematic - and then issue warnings/throttle the systems which are trying to "steal" too much in the way of resources? Also, the slow query log might be of use - but if the problem isn't the fact that the queries are slow, but rather that there are millions of them, then that won't fly!

Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

6 Tidied up - corrected erroneous link!
source | link

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are actually current Oracle/MySQL employees (as of writing - . Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroupscgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

[Edit]
You(in response to OP's comment)

You are correct but I did say it was a broad brush - but it could restrict your MySQL user to to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.
[/Edit]

[Edit 2] 

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of OS partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit. 

Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look herehere at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

HTH, Paul...

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are actually current Oracle/MySQL employees. Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

[Edit]
You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.
[/Edit]

[Edit 2]

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of OS partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit. Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

HTH, Paul...

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are current Oracle/MySQL employees (as of writing - . Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

(in response to OP's comment)

You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks. 

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit. 

Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

5 added 976 characters in body
source | link

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are actually current Oracle/MySQL employees. Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

[Edit]
You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.
[/Edit]

[Edit 2]

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of OS partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit. Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

HTH, Paul...

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are actually current Oracle/MySQL employees. Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

[Edit]
You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.
[/Edit]

HTH, Paul...

Unfortunately, prior to 5.5, performance_schema isn't available and that might have been able to solve your problem - of interest are Mark Leith's ps_helper and Jesper Wisborg's ps_tools Both are actually current Oracle/MySQL employees. Upgrade?

Failing that, what about OS throttling? If you use Linux or similar, you should be able to restrict resources on a per user basis using cgroups. Is it memory or disk or CPU you wish to control? It's a bit of a broad brush, but could be a start.

[Edit]
You are correct but I did say it was a broad brush - but it could restrict your MySQL user to, say, 75% of the machine's resources instead of your database causing the entire machine to grind to a halt. If you're going to upgrade, may I recommend 5.6 instead of 5.5? Combine this with the sites I've mentioned plus Peter Zaitsev's tools and Percona's stuff and the data world is your oyster! I'd put Percona's mysqlperformance blog site in my bookmarks.
[/Edit]

[Edit 2]

This MySQL document may be of assistance, though if, as you say, users are all running under the same account, that might not be so useful. Could you look at partitioning your app somehow - OLTP - day to day/OLAP - DW queries? I know that it's not a trivial problem to fix. I think that using some sort of OS partitioning is your best bet for the moment. Bill Karwin's suggestion is also worthy of merit. Just a final thought - and this is a bit out in left field (as the Americans would say), but take a look here at tcprstat (and links therein) - you may be able to figure out some of your issues using that tool - checking out queries by IP address - I hasten to add that I've never used this tool and know next to nothing about it - and coding wise, it hasn't moved in a while.

HTH, Paul...

4 added 20 characters in body
source | link
3 added 516 characters in body
source | link
2 added 516 characters in body
source | link
1
source | link