[MySQL] aantal queries opvragen

Pagina: 1
Acties:

  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 10-04 17:27
Zowel in mijn boeken als hier niets kunnen vinden over het volgende probleem: Ik wil het aantal queries opvragen die sinds de login zijn gedaan. Houdt MySQL dit ergens bij (in een logfile bijvoorbeeld), of nog mooier: bestaat er iets als een query om stats of historie op te vragen?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

Waarom hou je het zelf niet bij in je applicatielaag? Voor zover ik weet houdt MySQL het zelf niet bij. Sowieso is het erg eenvoudig om het zelf op te lossen in je aanroepende code. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • xilent_xage
  • Registratie: Februari 2005
  • Laatst online: 10-04 17:27
nouja, het is vrij veel code, dus zelf bijhouden wilde ik juist vermijden. vandaar de vraag. maar ik ben idd bang dat er niets anders opzit.

  • edwardVdV
  • Registratie: Mei 2002
  • Laatst online: 08:05

edwardVdV

I shall say this only once!

xilent_xage schreef op zaterdag 11 februari 2006 @ 23:02:
...bestaat er iets als een query om stats of historie op te vragen?
SHOW STATUS
(of denk ik nu te simpel? ;))

zie http://dev.mysql.com/doc/refman/4.1/en/show-status.html

Knockwurst.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

xilent_xage schreef op zaterdag 11 februari 2006 @ 23:43:
nouja, het is vrij veel code, dus zelf bijhouden wilde ik juist vermijden. vandaar de vraag. maar ik ben idd bang dat er niets anders opzit.
Dan kun je toch een klasse maken met daarin een query-functie die niet meer doet dan mysql_query aanroepen en een intern tellertje ophogen, dat je vervolgens met een andere functie op kan halen? :)

Een losse functie die een global variabele update kan natuurlijk ook, maar dat is wel een stuk viezer. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • _reboot_
  • Registratie: December 2004
  • Laatst online: 30-03 22:03
Misschien kun je de stats pagina van phpmyadmin checken? Die laat het ook zien...
Ook heb ik hier een script dat output genereerd voor MRTG. Dit script gebruikt een standaard meegeleverde tool van MySQL namelijk 'MySQLAdmin'

Tevens levert de query: "SHOW STATUS;" de volgende output als regels. Iedere "<value>" is dus een record die wordt teruggegeven. Het werd een wat lange lijst, dus heb alle 163 records ff achter elkaar gezet t.b.v. het topic. :7. Met een beetje code heb je dus alle info die je kunt bedenken...

"Aborted_clients", "Aborted_connects", "Binlog_cache_disk_use", "Binlog_cache_use", "Bytes_received", "Bytes_sent", "Com_admin_commands", "Com_alter_db", "Com_alter_table", "Com_analyze", "Com_backup_table", "Com_begin", "Com_change_db", "Com_change_master", "Com_check", "Com_checksum", "Com_commit", "Com_create_db", "Com_create_function", "Com_create_index", "Com_create_table", "Com_dealloc_sql", "Com_delete", "Com_delete_multi", "Com_do", "Com_drop_db", "Com_drop_function", "Com_drop_index", "Com_drop_table", "Com_drop_user", "Com_execute_sql", "Com_flush", "Com_grant", "Com_ha_close", "Com_ha_open", "Com_ha_read", "Com_help", "Com_insert", "Com_insert_select", "Com_kill", "Com_load", "Com_load_master_data", "Com_load_master_table", "Com_lock_tables", "Com_optimize", "Com_preload_keys", "Com_prepare_sql", "Com_purge", "Com_purge_before_date", "Com_rename_table", "Com_repair", "Com_replace", "Com_replace_select", "Com_reset", "Com_restore_table", "Com_revoke", "Com_revoke_all", "Com_rollback", "Com_savepoint", "Com_select", "Com_set_option", "Com_show_binlog_events", "Com_show_binlogs", "Com_show_charsets", "Com_show_collations", "Com_show_column_types", "Com_show_create_db", "Com_show_create_table", "Com_show_databases", "Com_show_errors", "Com_show_fields", "Com_show_grants", "Com_show_innodb_status", "Com_show_keys", "Com_show_logs", "Com_show_master_status", "Com_show_ndb_status", "Com_show_new_master", "Com_show_open_tables", "Com_show_privileges", "Com_show_processlist", "Com_show_slave_hosts", "Com_show_slave_status", "Com_show_status", "Com_show_storage_engines", "Com_show_tables", "Com_show_variables", "Com_show_warnings", "Com_slave_start", "Com_slave_stop", "Com_stmt_close", "Com_stmt_execute", "Com_stmt_prepare", "Com_stmt_reset", "Com_stmt_send_long_data", "Com_truncate", "Com_unlock_tables", "Com_update", "Com_update_multi", "Connections", "Created_tmp_disk_tables", "Created_tmp_files", "Created_tmp_tables", "Delayed_errors", "Delayed_insert_threads", "Delayed_writes", "Flush_commands", "Handler_commit", "Handler_delete", "Handler_discover", "Handler_read_first", "Handler_read_key", "Handler_read_next", "Handler_read_prev", "Handler_read_rnd", "Handler_read_rnd_next", "Handler_rollback", "Handler_update", "Handler_write", "Key_blocks_not_flushed", "Key_blocks_unused", "Key_blocks_used", "Key_read_requests", "Key_reads", "Key_write_requests", "Key_writes", "Max_used_connections", "Not_flushed_delayed_rows", "Open_files", "Open_streams", "Open_tables", "Opened_tables", "Qcache_free_blocks", "Qcache_free_memory", "Qcache_hits", "Qcache_inserts", "Qcache_lowmem_prunes", "Qcache_not_cached", "Qcache_queries_in_cache", "Qcache_total_blocks", "Questions", "Rpl_status", "Select_full_join", "Select_full_range_join", "Select_range", "Select_range_check", "Select_scan", "Slave_open_temp_tables", "Slave_retried_transactions", "Slave_running", "Slow_launch_threads", "Slow_queries", "Sort_merge_passes", "Sort_range", "Sort_rows", "Sort_scan", "Table_locks_immediate", "Table_locks_waited", "Threads_cached", "Threads_connected", "Threads_created", "Threads_running", "Uptime".

[ Voor 26% gewijzigd door _reboot_ op 12-02-2006 00:33 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

TS wil het aantal queries sinds de login van een bepaalde gebruiker hebben. SHOW STATUS geeft AFAIK alleen het aantal queries sinds de start van de server. Lijkt me dus niet helemaal bruikbaar. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 09-04 13:13
Dan bereken je toch de totale query's voordat je pagina oproept (dus meteen na <?php) en dan bereken je het verschil op 't einde van de pagina - 1, omdat er ook al één query nodig is voor SHOW STATUS ?

Anders maak je een functie like mysql_query waarin $int++; wordt gedaan... :)

  • rooiekool
  • Registratie: Januari 2003
  • Laatst online: 12:23
xilent_xage schreef op zaterdag 11 februari 2006 @ 23:43:
nouja, het is vrij veel code, dus zelf bijhouden wilde ik juist vermijden. vandaar de vraag. maar ik ben idd bang dat er niets anders opzit.
ligt eraan of je je queries door een losse functie laat uitvoeren of niet. Als je een functie maakt die de query uitvoert zodat je centraal je errors, escapen en dat soort meuk regelt kan je heel makkelijk een tellertje toevoegen (bijvoorbeeld aantal queries/pagina)
lennartkocken schreef op zondag 12 februari 2006 @ 00:59:
Dan bereken je toch de totale query's voordat je pagina oproept (dus meteen na <?php) en dan bereken je het verschil op 't einde van de pagina - 1, omdat er ook al één query nodig is voor SHOW STATUS ?

Anders maak je een functie like mysql_query waarin $int++; wordt gedaan... :)
de eerse methode gaat wel werken, maar waarschijnlijk niet als het zo druk is als GOT. Aan de andere kant zijn de meeste paginas wel binnen de paar 10en van een seconde te bakken, dus moet je al meer dan zeg 50 paginas in een seconde samenstellen.

optie twee: dat zeg ik ;), maar jij typt sneller

[ Voor 41% gewijzigd door rooiekool op 12-02-2006 01:06 . Reden: reactie lennartkocken ]

Pagina: 1