[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Building a sample File storage app



Hi Thomas,
I am chosen to implement the disk in FAT format. Drawing inspiration from your code I
have tried to do disk writing operations but instead of V1_LWT.BLOCK I have chosen to
go wo with V1_LWT.FS because for the api but the write performance I get is very poor.
I takes more than 11 sec to upload a 67Kb file. The file is uploaded quickly but the timeÂ
taken to write to disk is long hence they delay.

Much of my implementation is similar to this code
the difference comes in the flush_page_buffer . Since I am using V1_LWT.FS I use
FS.write call to write the data to the disk i.e.
Â
buffered_data = Cstruct.sub page_buffer 0 !page_buffer_offset
Fs.write fs path !file_offset buffered_dataÂ


How can I improve the performance ?

Note: I am testing this using --unix


Regards,
Vansh

On Sun, Feb 7, 2016 at 11:28 PM, Thomas Leonard <talex5@xxxxxxxxx> wrote:
On 6 February 2016 at 20:48, Vanshdeep Singh <kansi13@xxxxxxxxx> wrote:
> Hi,
> I am trying to build a sample file storage web app and I am need some
> directions
> on how to approach it, particularly I am trying to figure out how to do
> storage.
> Currently, I am drawing my insight from here and here (irmin). Any kind of
> suggestion
> would be really helpful.
>
> NOTE: files of any size could be uploaded so I am aiming at streaming
> uploads/downloads.

Hi Vansh,

Currently, FAT is the only supported file-system on Mirage/Xen:

 https://github.com/mirage/ocaml-fat

If your needs are simpler then you could also implement your own
scheme. The file queue example you linked just stores the files
sequentially on the disk, which is fine for a queue.

If you want to help build something better (e.g. to support Irmin),
the ocaml-btree project is under development:

http://lists.xenproject.org/archives/html/mirageos-devel/2016-01/msg00059.html


--
Dr Thomas Leonard    http://roscidus.com/blog/
GPG: DA98 25AE CAD0 8975 7CDAÂ BD8E 0713 3F96 CA74 D8BA

_______________________________________________
MirageOS-devel mailing list
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.