Toon posts:

mysql processen killen als query langer dan 5 seconde duurt

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is er een mogelijkheid om in MySQL in te stellen dat wanneer een query langer dan 5 seconde duurt deze te killen? Dit om de serverload te beperken.

Op internet gezocht en kwam eigenlijk alleen de variabele 'wait timeout' tegen, maar die heeft alleen invloed op 'sleeping' processen....

[ Voor 8% gewijzigd door Verwijderd op 17-05-2006 15:03 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-02 22:29

Creepy

Tactical Espionage Splatterer

Zo te zien kan MySQL dit niet. In bijv. PHP kan je wel de max execution time van een script instellen.
Is het misschien niet een beter idee om in de MySQL slow log te kijken of er queries veel tijd in beslag nemen en of deze niet te optimaliseren zijn door indexen (bijv.) om op deze manier de serverload te verbeteren?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
dat heb ik al gedaan :) het probleem is eigenlijk vooral dat de server te lage specs heeft voor wat ik wil doen. Maar om te voorkomen dat de server langzaam volloopt en query's steeds langer duren totdat het niet meer werkt, wil ik de processen weer weg hebben....

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 20-02 23:48

JaQ

code:
1
2
3
4
5
6
7
8
9
10
mysql> show processlist;
+---------+------------+-----------+----------+---------+------+-------+------------------+
| Id      | User       | Host      | db       | Command | Time | State | Info             |
+---------+------------+-----------+----------+---------+------+-------+------------------+
| 2572181 | some_user  | localhost | some_db  | Query   | 0    | NULL  | show processlist |
+---------+------------+-----------+----------+---------+------+-------+------------------+
1 row in set (0.00 sec)

mysql> kill 2572181;
Query OK, 0 rows affected (0.00 sec)


hier kan je vast wel wat mee ;)

Egoist: A person of low taste, more interested in themselves than in me


Verwijderd

Topicstarter
JaQ schreef op woensdag 17 mei 2006 @ 20:26:
code:
1
2
3
4
5
6
7
8
9
10
mysql> show processlist;
+---------+------------+-----------+----------+---------+------+-------+------------------+
| Id      | User       | Host      | db       | Command | Time | State | Info             |
+---------+------------+-----------+----------+---------+------+-------+------------------+
| 2572181 | some_user  | localhost | some_db  | Query   | 0    | NULL  | show processlist |
+---------+------------+-----------+----------+---------+------+-------+------------------+
1 row in set (0.00 sec)

mysql> kill 2572181;
Query OK, 0 rows affected (0.00 sec)


hier kan je vast wel wat mee ;)
Ja, alleen moet je daar dan elke seconde een query voor sturen en dat belast de server opzich ook weer.... :)

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 20-02 23:48

JaQ

Verwijderd schreef op donderdag 18 mei 2006 @ 12:59:
[...]
Ja, alleen moet je daar dan elke seconde een query voor sturen en dat belast de server opzich ook weer.... :)
Helemaal eens, maar door een proces op OS niveua te killen stop je je sessie niet ;) (tenminste niet in Oracle)

[ Voor 7% gewijzigd door JaQ op 18-05-2006 21:35 ]

Egoist: A person of low taste, more interested in themselves than in me


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Hmm, ik weet niet wat je van plan bent met die database, maar als ik me bedenk dat we op mijn vorige werk een voorraadbeheersysteem met enkele tientallen zeer actieve gebruikers en enkele honderdduizenden records per tabel prima op een 486 konden draaien...

Met indexen en optimalisatie kun je heeeeel veel goedmaken. Zulke die hard optimalisatie is wel moeilijk. :)

Fat Pizza's pizza, they are big and they are cheezy

Pagina: 1