Command Line Options

Each option must start with a dash or a double dash. The order of options is insignificant.

Table 5-1. Command Line Options
l (Log) Show query strings as they are requested by a client.
v (Verbose) Show progress of the background indexing thread in lazy mode. Will produce same output as with the reindex command when running Alkaline as a daemon.
sf=X (SleepFile=X) Force the reindex thread to sleep X seconds between two files being reindexed. X must be a positive integer or 0.
sr=X (SleepRoundtrip=X) Force the reindex thread to sleep X seconds after each indexing roundtrip. X must be a positive integer or 0.
No404 Skip pre-processing (verification of removed files). This option can be used when you know that no full sections, but at most individual documents have been removed from the site. The HTTP/404 verification step is necessary when a page foo.html references bar.html and the latter references dummy.html. Removing bar.html and dummy.html means that the link path to dummy.html is broken and the page will never be removed from the index as it cannot be reached any longer.
Reindex Force the Reindex=N flag in all configurations during background indexing.
Expire Force the expire option in the configuration files; treat all documents as out-of-date.
Once Perform background indexing only once upon daemon launch, newly runtime added groups into the equiv/equiv.struct will be reindexed once only as well.
NewOnly Force the NewOnly=Y option in the configuration files; index only those files that are not already in the index, this also allows to restart indexing from the interrupted point.
Ssi Enable server-side includes on Alkaline template pages.
Exv Track which urls are included or excluded, which pages are indexed or skipped and for what humanly readable reason.
Exx Dump html parser tags for tracking of html errors.
d (Daemon) Run Alkaline server as a true daemon, suppress all output; note that in this mode restarting the server is not possible (you need to kill it explicitly). This option will not detach Alkaline under Windows NT.
mt=X (Maxthreads=X) Specify X as the maximum amount of threads in the search thread pool; each thread executes a single search and will remain idle till a new search operation is requested. A thread that was inactive for a certain amount of time will die. If more requests than the maximum number of threads are made, they are queued and processed as a thread becomes available. Default value is 100.
mi=X (Maxindexthreads=X) Specify X as the maximum amount of threads in the index thread pool; each thread executes a single index operation and will remain idle till a new search operation is requested. Default value is 10.
ai=X (AcceptInterval=X) Specify X as the interval in milliseconds to sleep after each new connection is accepted. Heavily flooded servers have seen stability greatly improved with this option and values around 200-300 ms. The operating system maintains a list of incoming connections that have not been accepted yet. After accepting, Alkaline places the connection into a queue and a thread from the thread pool will pickup the connection and service it. Accepting connections more often than what the server can physically process will lead to a growing thread pool, more elements in the Alkaline's service queue and overall worse performance. Added 03-Jul-2000. Default value is 0.
EnablePing Enable the self ping thread that makes sure that the engine is still running every 15 seconds. If Alkaline dies, the ping thread will attempt to terminate the dead process. Replaced DisablePing in 1.31.0907.0.
EnableSwap[=filename] Enable the swap mechanism and use less physical memory. On a UNIX system, you can optionally specify a file name. For more information about the swap, please consult the Alkaline Virtual Memory and Swap section. This option replaced DisableSwap on 04-Aug-2000.

The THREAD_ options set the priority value for the background reindex thread on Windows NT. This value determines the thread's base priority level. The system uses the base priority level of all executable threads to determine which thread gets the next slice of CPU time. Threads are scheduled in a round-robin fashion at each priority level, and only when there are no executable threads at a higher level does scheduling of threads at a lower level take place.

When manipulating priorities, be very careful to ensure that a high-priority thread does not consume all of the available CPU time. Using REALTIME_PRIORITY_CLASS may cause disk caches to not flush, hang the mouse, and so on. Also using THREAD_TIME_CRITICAL may have the same disastrous effect.

Don't mix up class and process priorities. The class priority is the base priority of Alkaline and cannot be changed by Alkaline options. The process priority is relative to the class priority and is set for the background indexing thread using the THREAD set of options.

Table 5-2. Windows NT Specific Options
THREAD_BOOST When a thread is running in one of the dynamic priority classes, the system temporarily boosts the thread's priority when it is taken out of a wait state.
THREAD_NOBOOST Default behavior for thread priority boosting.
THREAD_ABOVE_NORMAL Indicates 1 point above normal priority.
THREAD_BELOW_NORMAL Indicates 1 point below normal priority.
THREAD_HIGHEST Indicates 2 points above normal priority.
THREAD_IDLE Indicates a normal priority unless Alkaline's priority class is manually changed. Alkaline's main thread always runs in NORMAL_PRIORITY_CLASS. You may change that using the Task Manager. IDLE indicates a base priority level of 1 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 16 for REALTIME_PRIORITY_CLASS processes.
THREAD_LOWEST Indicates 2 points below normal priority. We advise to use this option in general when you want Alkaline to work as little as possible when running on a general purpose web server.
THREAD_NORMAL Indicates normal priority.
THREAD_TIME_CRITICAL Indicates a base priority level of 15 for IDLE_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, or HIGH_PRIORITY_CLASS processes, and a base priority level of 31 for REALTIME_PRIORITY_CLASS processes.