Steve Judkins wrote:


This week I’m evaluating Virtuoso in shared web hosting environments. The two environments I’m planning on evaluating are OpenSolaris Containers (from Joyent) and Linux Virtual Private Servers (from Slicehost). A entry priced Slice usually starts at 256Mb RAM and 10Gb space and steps up from there. Both provide good entry level pricing for LAMP developers and a grid architecture to scale as you grow. Any shared insights on the following would be appreciated:

1) Anyone want to set my expectations for performance on this entry level Slice?

2) Has anyone done previous work to simplify the setup process for shared hosting? I’m only aware of the Debian packaging effort underway as we speak.

(There's Gentoo packaging happening in the background too...)

Have you seen http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/ODSInstallationEC2 ?

Should you so desire, it's quite easy to package Virtuoso for an OS:

a) configure --with-layout=  as appropriate
b) check other --with-/--enable- options
c) basic process is just make; make install
d) init.d start/stop script
e) wrap it up in your OS's packaging SPEC/ebuild/whatever format.

3) I’ve noted the virtuoso.ini settings for indirectly controlling memory consumption by setting ServerThreads, ServerThreadSize, etc. Are there any other ways of tuning performance to accommodate machine resources?

Parameter of choice: NumberOfBuffers. Use status() to find out how many buffers you're using in practice and set it accordingly, up to a maximum where it starts to swap out.

4) Anyone have real world statistics or estimates of memory consumption in different scenarios just to define some rough upper and lower bounds on memory requirements? (e.g. rough guides to how resources scale with # users, sparql query volume, and RDF graphs)

I've just published a page [0] addressing the possible ways to configure Virtuoso for scale - default, minimal and enterprise. That includes corresponding approximate resource-consumption figures in each case also.

You could (probably should) set up a VMware / Parallels / VirtualBox instance and assign it only 256M RAM, then you can benchmark your own transaction profile against it.

5) I’m compiling on my local Linux for my OpenSolaris Container. Looking at flags for i386 32bit Solaris, it looks like I can just SFTP the same binaries I’ve built for Linux. Is that correct?

If your solaris has linux emulation, then *maybe*. Notably in [1] we recommend using sun's C compiler (cc) rather than gcc on solaris, so you might have libgcc dependency issues, amongst other things. It's worth an experiment but is completely untested here - good luck!

~Tim

[0] http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtConfigScale
[1] http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSMake

--
Tim Haynes
Product Development Consultant
OpenLink Software
<http://www.openlinksw.com/>

Reply via email to