| Alain_Aubert |
|
|
Ayom Slave Gruppe: Admin Beiträge: 4794 Mitglied seit: 25.09.2003 |
Irgendwie steh ich auf dem Schlauch:
Ich möchte gerne einstellen, dass jeder Prozess der länger als x Sekunden läuft (egal was er macht) gekillt wird. Ich möchte nicht die slowqueries loggen, ich möchte beschränken. ... danke |
![]() |
| Marc Schuler Host2Day ISP International |
#2 Geschrieben am: Di 10.07.2007, 16:54 (+00:27)
|
![]() AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1486 Mitglied seit: 1.11.2005 |
-------------------- ----------------------------------------------------------------------------------------
Premium Webhosting [neu an der Tössfeldstrasse 37 (2. Stock) in Winterthur] ---------------------------------------------------------------------------------------- |
![]() |
| Duvi |
#3 Geschrieben am: Di 10.07.2007, 16:58 (+00:04)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 498 Mitglied seit: 4.10.2006 |
einen mysql-einstellungsparameter kenne ich jetzt auch nicht.
aber ich habe noch einen alten bookmark bei mir gefunden: http://web.bii.a-star.edu.sg/~james/mlfd/s...logger-0.1/bin/ schau dir mal sql.kill_slow_queries an. die variablenwerte werden in sql.functions gesetzt. vielleicht hilft dir das ja weiter ... |
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#4 Geschrieben am: Di 10.07.2007, 17:05 (+00:06)
|
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2302 Mitglied seit: 4.02.2006 |
Details zu mySql kenne ich nicht. Aber ich vermute, daß das ähnlich komplex ist wie bei MS-Sqlserver:
1. Verbindungsparameter Connection Timeout: Legt fest, wie lange der Client wartet, bis der Db-Server auf einen Verbindungsversuch antworten muß. 2. Verbindungsparameter Command Timeout: Legt den Gesamtzeitbedarf für die Befehlsfolge fest, die der Client akzeptiert. Danach bricht er ab. 3. Set Lock_Timeout 5000: Legt fest, wie lange der MS-SqlServer auf das Aufheben einer einzelnen Sperre wartet. Bei mehreren Anweisungen in einem Block kann dieser Wert (5 Sekunden) natürlich pro Anweisung auftreten. Sprich: Es geht nicht direkt innerhalb des Db-Servers, sondern entweder vom Client (der sich dann verschämt zurückzieht Kill hilft ja nur, wenn alle paar Sekunden ein Script alle Prozesse auf Laufzeitüberschreitungen überprüft. Die Verbindungsparameter müßten dagegen in der Clientbibliothek definiert sein, also MyODBC oder ähnliches. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - die Datenbank funktioniert. |
![]() |
| Alain_Aubert |
#5 Geschrieben am: Di 10.07.2007, 17:35 (+00:30)
|
||
|
Ayom Slave Gruppe: Admin Beiträge: 4794 Mitglied seit: 25.09.2003 |
Danke für eure Antworten, leider noch nicht gelesen, werde das später noch tun, habe follow Up question: Hat Mysql logging und recovery wie oracle oä? D.h. wenn 10 procs auf einen lockenden warten und der ganze DBMS abgestellt wird, kann mysql dann wie oracle aus den scheduler die übrigen durchballern wenn ich ihn wieder anstelle oder verschwinden die im Nirvana?
Ist mir ins Auge gesprungen, steht (leider) nicht zur Debatte. Komme heute wieder |
||
![]() |
| Alain_Aubert |
#6 Geschrieben am: Di 10.07.2007, 23:35 (+05:59)
|
|
Ayom Slave Gruppe: Admin Beiträge: 4794 Mitglied seit: 25.09.2003 |
OK, danke für euer Antworten.
Mysql hat interactive_timeout. Nutz mir nichts. wait_timeout nutzt mir auch nichts. Keine TCP Verbindung. Zugebenermassen war meine letzte grössere mysql manual session Version 3.x http://dev.mysql.com/doc/refman/5.1/de/ser...-variables.html Finde nicht wirklich eine Lösung. Mein Probem ist wenn ich einen grausamen Fehler mache (beispielsweise kann man mal eine Klammer um ein paar ors vergessen). Diese Query lockt mir dann Tabellen und sendet ein paar Tausend Sekunden lang das Kreuprodukt von einer Tabelle mit sich selber... Weil shared hosting, blockieren die startenden und wartenden mysqls das proc Kontingent. D.h. ich darf dann in der Shell nicht mal mehr dir machen, und fork gibt mri nicht mal mehr n Löffel... D.h. ich kann nicht mir kill arbeiten wenns dumm läuft. Konkret such ich eine Einstellung die einem Prozess killt, wenn der seit mehr als 100 Sekunden sending data macht. Aber ich werd wohl mit mehr Disziplin vorlieb nehmen müssen. command timeout wär nicht schlecht. |
![]() |
| Marc Schuler Host2Day ISP International |
#7 Geschrieben am: Mi 11.07.2007, 07:22 (+07:47)
|
||
![]() AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1486 Mitglied seit: 1.11.2005 |
Funktioniert das den so nicht?
-------------------- ----------------------------------------------------------------------------------------
Premium Webhosting [neu an der Tössfeldstrasse 37 (2. Stock) in Winterthur] ---------------------------------------------------------------------------------------- |
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#8 Geschrieben am: Mi 11.07.2007, 08:30 (+01:07)
|
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2302 Mitglied seit: 4.02.2006 |
Marc: Das funktioniert schon.
Aber das setzt voraus, daß man - nachdem der kritische Befehl bereits läuft - noch eine neue Verbindung zum Datenbankserver aufmachen kann. Das klappt bei den oben genannten Bedingungen (shared Hosting und - aufgrund der Blockade - eskalierend wartende Anfragen) nicht mehr. Oder daß man sich davor - präventiv - immer eine zusätzliche interaktive Verbindung aufgemacht hat und die PID des kritischen Prozesses kennt. Und Command_Timeout nutzt womöglich gar nichts. Denn das ist in der Clientbibliothek implementiert - und ich wüßte nicht auf die Schnelle, ob diese noch ein Kill absetzt. Falls nicht, würde die Abfrage auch weiterlaufen - nur wäre der Client eben nicht mehr blockiert. Alain: Welchen Client verwendest Du denn? In Konsolen hilft ja manchmal Strg + D, Strg + C oder eine entsprechende Befehlszeilenoption. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - die Datenbank funktioniert. |
![]() |
| Alain_Aubert |
#9 Geschrieben am: Mi 11.07.2007, 14:54 (+06:24)
|
||
|
Ayom Slave Gruppe: Admin Beiträge: 4794 Mitglied seit: 25.09.2003 |
Jürgen, Danke für Dein wertvolles Feedack. PHP. Die Interactive Flag nutzt mir eben nichts.
Genau das war meine Frage. Und ich hab nach meiner Recherche schliessen müssen, dass ich a) mal wieder das Manual knuspern sollte und b) die von mir gewünschte Funktion so einfach nicht funktioniert. Wenns wirklich ganz dumm läuft krieg ich in der Konsole des Servers nur noch "bash: fork: Resource temporarily unavailable" Krieg also nicht mal mehr n Löffel... Das führt zur nächsten Frage, wie konfigurier ich Linux, dass ich immer noch einen prorisierter abforken darf. Dass muss doch gehen, die Frage für mich ist ob es mit dem gleichen User (linux user) machbar ist. |
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#10 Geschrieben am: Mi 11.07.2007, 17:11 (+02:17)
|
||||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2302 Mitglied seit: 4.02.2006 |
So, jetzt hat mich das doch mal interessiert. Und siehe da, auf dem MS-SqlServer klappt das. Script in der Datei kill-me.sql
Ergebnis vom Aufruf:
-i: Eingabe aus der Datei kill-me.sql lesen -t 5: Abfragetimeout von 5 Sekunden, also kürzer als die 50 Sekunden, die das Script warten soll. Ergebnis: Kontrolliert man über eine zweite Verbindung die aktuell laufenden Prozesse, dann ist die SPID, die oben rauskommt, für fünf Sekunden sichtbar und verschwindet dann wieder. Sprich: Auf dem MS-SqlServer könnte man bsp. ein solches Script mit -t 10 starten, dann wäre spätestens nach zehn Sekunden Schluß. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - die Datenbank funktioniert. |
||||||
![]() |
| Sascha Ahlers |
#11 Geschrieben am: Mi 11.07.2007, 18:17 (+01:05)
|
![]() AyomRank 8 Gruppe: Experten Entwicklung Beiträge: 1699 Mitglied seit: 27.12.2004 |
Such mal nach lock_wait_timeout, vielleicht findet sich dort eine entsprechende Option, so auf die schnelle weiß ich sonst keine Lösung.
-------------------- Joseph Joubert: "Der Verstand kann uns sagen, was wir unterlassen sollen. - Aber das Herz kann uns sagen, was wir tun müssen."
Sicherheit beim Programmieren: Top 10 application vulnerabilities in 2007 |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/19358
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Suche Freelancer: Ajax, XML, PHP, MySQL | omc | 151 | 2 | Mo 6.10.2008, 20:14 |
| Lösung für: Content Slider-Java Script-PHP-MySql | Antoine Johannes | 127 | 2 | Fr 26.09.2008, 12:54 |
| PHP + MySQL 2 Fragen an euch | Coach | 152 | 1 | Do 18.09.2008, 10:52 |
| PHP und MySQL Probleme | Swisstiger | 501 | 4 | So 14.09.2008, 22:23 |
| PHP/MySQL Entwickler für Projekt gesucht | BigRed | 129 | 0 | Fr 5.09.2008, 12:05 |
| [MYSQL] ø bei Suche nach o finden | MarkusH | 122 | 1 | Mi 20.08.2008, 09:10 |
| Suche PHP/MYSQL Programmierer | Paidunion | 179 | 0 | So 17.08.2008, 12:56 |
| Suche kleinere Jobs (HTML, PHP, MySQL...) | Oliver Pester | 271 | 2 | Do 14.08.2008, 14:08 |
| Diskussion: Login-Skript mit Sessions, PHP und ... | Ayom-Team | 303 | 2 | Mo 11.08.2008, 03:33 |
| MySQL Abfrage von einer Tabelle | webdoktor | 435 | 19 | Sa 9.08.2008, 17:45 |
Anzeige - [Interessiert an einer Anzeige?]


















