With Services Log enabled on our Services API driven application, we have over 1M records (25GB according to Sequel Pro) in just two months. I happened to be watching show full processlist; in MySQL and saw that there are some select DISTINCTs happening for some columns, and each query was lasting 60-70 seconds.
Some ideas:
- The fields HTTP Status and HTTP Method could be reduced to a hardcoded list of standard HTTP values, I think.
- The User field could be autocomplete based on logged records
- The Host (IP) field could be just a plaintext field. Is there a use case for "User has some idea but could really use the help in remembering the rest of a specific IP" where the user cannot actually copy/paste? Would be *help*ful to some users for this to be a partial match field to generally grab a specific subnet, for instance
- OR (and I don't know what the log writing impact would be), adding an index in db schema on that table would be helpful as well.
With a couple tweaks like this, the Services Log view interface would be much quicker to load.
Comments
Comment #2
texas-bronius commentedComment #3
texas-bronius commented