Hi Michael,
if the collection datafiles you're working with are too big to fit into
main memory simultaneously, the operating system will start writing some
or all of their pages back to disk. This shouldn't affect the operation
system's swapfile. The virtual memory of collection datafiles is backed
by the datafiles in the ArangoDB database directory, and those files are
the place where the OS will write the data back to.
Indexes in ArangoDB are somewhat different. Indexes have no file-backed
storage (they're constructed from the collection datafiles on-the-fly).
The memory set aside for indexes may therefore go into the operating
system's swapfile if the OS runs out of memory and starts to swap.
Whether or not the OS will start swapping at all depends on a lot of
factors and configuration.
I suggest running a small test with your expected workload and observing
the output of vmstat (
http://linux.die.net/man/8/vmstat) during that. It
will tell you if and to what amount your system is swapping. The most
interesting columns in your case should be:
- si: Amount of memory swapped in from disk (/s).
- so: Amount of memory swapped to disk (/s).
- bi: Blocks received from a block device (blocks/s).
- bo: Blocks sent to a block device (blocks/s).
If you see values > 0 in si/so, your system is swapping. This may be due
to ArangoDB or other processes because they're all competing for the
same limited resources.
Re V8: the V8 threads are used for Foxx applications but also for some
of the built-in REST handlers (e.g. create/drop collection) and also AQL
queries. So you cannot deactivate the V8 functionality altogether but
need to have at least a few V8 threads available for these operations.
Best regards
Jan
> > an email to
arangodb+u...@googlegroups.com <javascript:>
> > <mailto:
arangodb+u...@googlegroups.com <javascript:>>.
> <
https://groups.google.com/d/optout>.
>