Re: Nessus scripts and Moore's Law

Michel Arboi <[email protected]> Sun, 14 Nov 2004 13:05:00 +0100
Newsgroups gmane.comp.security.nessus.devel
Message-ID <[email protected]>
On Sun Nov 14 2004 at 12:36, Renaud Deraison wrote:

> I don't have exact figures - it worked fine for me but Michel attempted to
> strangle me because it slowed down his laptop to its knees during an
> audit, so I disabled it for now and I'm thinking of a better approach.

As memory is more a militing factor than CPU today, I think that any
kind of optimization should not cost a single byte more.
Otherwise, you will not be able to run more process in parallel: 
RAM will be the limit.

> No, but the kernel has to actually read the file from disk - and this is
> slow.

Unless we have enough memory and the scripts are kept in the file
system cache. The scripts directory weight 27 MB, not that big.

> When I had the plugin-server running (one process loading all the
> plugins in memory and "handing them out" to other processes)

IMHO, we should not attempt to do the buffer cache job. There are OS
when you can give "hints" to the VM manager. 
We could lock the files in RAM with mmap + mlock, but I'm not sure
this is a great idea. At least, this is easy to implement in a
separate process and probably more efficient than any "plugin server".

> (especially if we use a real VM, where the compilation of the scripts
> will probably be slower).

Once the scripts are compiled, we can store the byte code.

> That's done already, using buffered streams (recv_line() calls
> read_stream_connection_min() which reads big chunks of data and
> bufferizes them).

But only used for HTTP and a few other plugins?

-- 
[email protected]	http://arboi.da.ru
NASL2 reference manual http://michel.arboi.free.fr/nasl2ref/
_______________________________________________
Nessus-devel mailing list
[email protected]
http://mail.nessus.org/mailman/listinfo/nessus-devel