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

Reply via email to