mhonarc-users

Re: MHonArc Performance Tips Document

2005-07-13 22:44:18
On July 13, 2005 at 20:44, saf wrote:

I have some question about performance. I read the document:
http://www.mhonarc.org/release/MHonArc/snapshot/doc/guides/performance.html#pagelayout

My question are the following:
FASTTEMPFILES:
To activate this option in mharc, can I simply add in config.sh the line:
# Uses fast temp files                                                    
                                                                       
M2H_FASTTEMPFILES=1

Then I do "make config" and all is fine?

Note, there is a mharc-users list for discussions specific to mharc.
I'll still respond since you also ask questions specific to MHonArc.

For mharc, there exists mhonarc resource files for controlling the
behavior of mhonarc.  config.sh is a mharc-specific thing, and mhonarc
has no knowledge about it.

If you have followed the customization
TIP mentioned in the mharc installation doc,
<http://www.mhonarc.org/mharc/doc/install.html#customizations>,
you would edit the file lib/default.mrc.in and add the following:

  <FastTempFiles>

to it, and then run,

  make configure

If you are not using the default.mrc.in tip, then you add the
resource setting to lib/common.mrc.in and run 'make configure'.

Why does he create temporary files? Why will not be the file simply in 
the memory in a string buffer of Perl?

The data is in memory.  Temporary files are mainly used for file
integrity (with security as a secondary role).  When mhonarc writes
a file, it first writes to a temporary file, and if no I/O errors
(or other error) occur, the file is renamed to the destination file.
This way, the original file (if it exists, which it commonly does when
editing message files and writing the database file) is left untouched
if a serious error occurs, allowing for easier recovery (if required).

Therefore, from a strictly I/O performance perspective after the
temporary file is created, there is no loss.  The rename operation is
fast, and atomic, so there should be no real performance concern there.

Where performance is hit is in the initial creating of the temporary
file (when FASTTEMPFILES is disabled, the default).  For security
reasons (see FASTTEMPFILES resource page for what the security reasons
are), a random filename must be created, and if File::Temp is
installed, some extra security checks are done.  Unfortunately,
this takes time, and it is noticable if dealing with high volume.

If your archive file permissions are configured in a manner where
the security risks are not an issue, FASTTEMPFILES can be enabled.
A simple filenaming algorithm is used avoiding the complexity of
generating a random filename along with skipping any File::Temp
security checks.

For the QUIET option:
How can I activate the quiet option in mharc? I don't find a line in the 
"config.sh" file to specify an extra command line?

The QUIET option is disabled automatically by mharc.

--ewh

<Prev in Thread] Current Thread [Next in Thread>