| 19 | | * Other components: pass "-d N" (1=least verbose, 4=most verbose) |
| | 20 | * daemons: pass the cmdline arg "-d N" (1=least verbose, 4=most verbose) |
| | 21 | If you run server components with '''-d 4''', their database queries will be logged. |
| | 22 | This is verbose but extremely useful for tracking down database-level problems. |
| | 23 | |
| | 24 | === Examining the database === |
| | 25 | |
| | 26 | The [wiki:HtmlOps admin web interface] provides a web-based interface for |
| | 27 | browsing your project's database. |
| | 28 | |
| | 29 | You can also use MySQL tools such as |
| | 30 | * The [http://dev.mysql.com/doc/refman/5.0/en/mysql.html mysql interpreter]. |
| | 31 | The '[http://dev.mysql.com/doc/refman/5.0/en/show-processlist.html show processlist;]' query |
| | 32 | is useful for diagnosing DB performance problems. |
| | 33 | * [http://jeremy.zawodny.com/mysql/mytop/ mytop]: like 'top' for MySQL: shows running queries. |
| | 34 | * [http://www.phpmyadmin.net/ phpMyAdmin]: general-purpose web interface to MySQL |
| | 35 | |
| | 36 | === Examining shared memory === |
| | 37 | |
| | 38 | The command |
| | 39 | {{{ |
| | 40 | bin/show_shmem |
| | 41 | }}} |
| | 42 | will print a textual summary of the contents of the shared-memory structure |
| | 43 | that caches jobs and information about applications. |
| | 44 | |
| | 45 | == Trouble-shooting the job pipeline == |
| | 46 | |
| | 47 | * Are workunits (jobs) getting created correctly? |
| | 48 | Examine the database to see. |
| | 49 | If you're using a work generator, check its log file. |
| | 50 | * Are results (job instances) getting created? |
| | 51 | Examine the database to see. |
| | 52 | If you don't see results, check the transitioner log file. |
| | 53 | * Are jobs getting into shared memory? |
| | 54 | Use show_shmem (see above). |
| | 55 | You should see jobs. |
| | 56 | If not, check the feeder log file. |
| | 57 | * Is the scheduler sending jobs? If not, check its log file, preferably with the following log flags: |
| | 58 | * <debug_version/>: show details of app version selection |
| | 59 | * <debug_send/>: show details of job assignment |
| | 60 | * <debug_quota/>: show details of quota enforcement |
| | 61 | * Are clients processing jobs correctly? |
| | 62 | Check the status and stderr output of completed jobs. |
| | 63 | * Are output files getting uploaded? |
| | 64 | Check the file upload handler log file. |
| | 65 | * Are jobs getting validated? |
| | 66 | Check the validator log file. |
| | 67 | * Are jobs getting assimilated? |
| | 68 | Check the assimilator log file. |
| 57 | | |
| 58 | | == MySQL interfaces == |
| 59 | | |
| 60 | | You should become familiar with MySQL tools such as |
| 61 | | * The [http://dev.mysql.com/doc/refman/5.0/en/mysql.html mysql interpreter] and in particular the '[http://dev.mysql.com/doc/refman/5.0/en/show-processlist.html show processlist;]' query. |
| 62 | | * [http://jeremy.zawodny.com/mysql/mytop/ mytop]: like 'top' for MySQL |
| 63 | | * [http://www.phpmyadmin.net/ phpMyAdmin]: general-purpose web interface to MySQL |
| 64 | | |
| 65 | | == Database query tracing == |
| 66 | | |
| 67 | | If you run server components with '''-d 4''', |
| 68 | | their database queries will be logged. |
| 69 | | This is verbose but extremely useful for tracking down database-level problems. |