This week was again kinda slow, I fixed some bugs in the cache plugin, its performance is now identical to the default static file implementation and it is usable, no perf improvements yet but they are coming. I read quite a lot of code in the mk_http.c and mk_request.c on how requests are handled, and did do some experiments understanding and modifying them. I submitted a couple of patches to the Monkey list today which would be kinda nice to have while working on the plugin. I wanted to cache the files by inode (which makes sense especially when links get involved) and had to lstat each time a file comes in, but monkey was getting the stat for each file anyways so I send a patch to include the inode and device number in the file_info struct. I send another patch to parse and put the range information in case it is available so that plugins can use it.
I think my work may have been a bit delayed, so I really hope to have a decent working plugin that improves the performance of monkey by this week. The transition from being a filesystem to a plugin took longer than I thought. I hope to get an implementation running which mmaps file pages into memory and serve the request directly if they are available. Right now I am trying to find a way to attach information to each request like mmaps for the file rather than fds in stage30 and then write them in a non blocking fashion from stage 40. Github: http://github.com/ziahamza/monkey-cache Blog: http://ziahamza.wordpress.com/ Permanent link: http://ziahamza.wordpress.com/2013/07/14/weekly-progress-5/ regards hamza
_______________________________________________ Monkey mailing list [email protected] http://lists.monkey-project.com/listinfo/monkey
