The world's most popular open source database
Parameters are configured through the standard MySQL
my.cnf or my.ini file.
Parameters can be configured by specifying the parameter name and
the corresponding value, separated by a space. Memory values can
be specified in bytes, or with a number followed by
K, M or
G.
Table 13.4. mysqld Option/Variable Reference
| Name | Cmd-Line | Option file | System Var | Status Var | Var Scope | Dynamic |
|---|---|---|---|---|---|---|
| falcon_checkpoint_schedule | Yes | Yes | Yes | Global | Yes | |
| falcon_consistent_read | Yes | Yes | Yes | Both | Yes | |
| falcon_debug_mask | Yes | Yes | Yes | Global | Yes | |
| falcon_debug_server | Yes | Yes | Yes | Global | No | |
| falcon_disable_fsync | Yes | Yes | Yes | Global | Yes | |
| falcon_gopher_threads | Yes | Yes | Yes | Global | No | |
| falcon_index_chill_threshold | Yes | Yes | Yes | Global | Yes | |
| falcon_initial_allocation | Yes | Yes | Yes | Global | Yes | |
| falcon_io_threads | Yes | Yes | Yes | Global | Yes | |
| falcon_large_blob_threshold | Yes | Yes | Yes | Global | No | |
| falcon_lock_wait_timeout | Yes | Yes | Yes | Global | Yes | |
| falcon_max_transaction_backlog | Yes | Yes | Yes | Global | Yes | |
| falcon_page_cache_size | Yes | Yes | Yes | Global | No | |
| falcon_page_size | Yes | Yes | Yes | Global | No | |
| falcon_record_chill_threshold | Yes | Yes | Yes | Global | Yes | |
| falcon_record_memory_max | Yes | Yes | Yes | Global | Yes | |
| falcon_record_scavenge_floor | Yes | Yes | Yes | Global | Yes | |
| falcon_record_scavenge_threshold | Yes | Yes | Yes | Global | Yes | |
| falcon_scavenge_schedule | Yes | Yes | Yes | Global | No | |
| falcon_serial_log_buffers | Yes | Yes | Yes | Global | No | |
| falcon_serial_log_dir | Yes | Yes | Yes | Global | No | |
| falcon_serial_log_priority | Yes | Yes | Yes | Global | Yes |
You can obtain a list of variables relevant to
Falcon using SHOW
VARIABLES:
mysql> SHOW VARIABLES LIKE '%falcon%';
+----------------------------------+------------------------------+
| Variable_name | Value |
+----------------------------------+------------------------------+
| falcon_checkpoint_schedule | 7 * * * * * |
| falcon_checksums | ON |
| falcon_consistent_read | ON |
| falcon_debug_mask | 0 |
| falcon_debug_server | OFF |
| falcon_debug_trace | 0 |
| falcon_direct_io | 1 |
| falcon_gopher_threads | 5 |
| falcon_index_chill_threshold | 4194304 |
| falcon_io_threads | 2 |
| falcon_large_blob_threshold | 160000 |
| falcon_lock_wait_timeout | 50 |
| falcon_page_cache_size | 4194304 |
| falcon_page_size | 4096 |
| falcon_record_chill_threshold | 5242880 |
| falcon_record_memory_max | 262144000 |
| falcon_record_scavenge_floor | 50 |
| falcon_record_scavenge_threshold | 67 |
| falcon_scavenge_schedule | 15,45 * * * * * |
| falcon_serial_log_block_size | 0 |
| falcon_serial_log_buffers | 20 |
| falcon_serial_log_dir | /home/jon/bin/mysql-6.0/var/ |
| falcon_serial_log_file_size | 10485760 |
| falcon_serial_log_priority | 1 |
| falcon_support_xa | OFF |
| falcon_use_deferred_index_hash | OFF |
| falcon_use_sectorcache | OFF |
| falcon_use_supernodes | ON |
+----------------------------------+------------------------------+
falcon_checkpoint_schedule — the
checkpoint schedule (the frequency with which
fsync() is called to synchronize the
in-memory and disk data). Specification is in the form of a
crontab-style series of values, separated
by spaces. Each specification has six fields, identical to
crontab, but with the addition of seconds.
Within the specification, from left to right these are:
seconds (0-59)
minutes (0-59)
hours (0-23)
day of month (1-31)
month (1-12)
day of week (0-7, where 0 and 7 are Sunday)
The values specified can either be absolute, or you can specify a range or comma-separated list of matching values. For example, the specification:
7,37 * * * * *
Would checkpoint every 7 and 37 seconds of every minute, of every hour of ever day. The following specification would checkpoint only during 6am and 6pm each day at 0 and 30 seconds of every minute.
0,30 * 6-17 * * *
The default setting is every minute, seven seconds past the minute, i.e.:
7 * * * * *
This option was added in MySQL 6.0.3.
falcon_consistent_read — sets the
repeatable read transaction isolation level. Set to On,
repeatable read transactions are truly consistent-read.
Changes made by younger transactions will not be exposed and
newer records cannot be read or written within a repeatable
read transaction. Set to Off, Falcon works
in read-committed transaction isolation level.
If the currently selected transaction isolation level is
read_committed and you set the
transaction isolation level to
serializable when using a
Falcon table then the transaction level
will default to repeatable read, ignoring both the new and
previous settings.
The falcon_consistent_read variable has
only local scope. You can set the global value, using
SET
GLOBAL, but this affects only the current local
scope and all new connections made after the global variable
was set.
Default is On.
This option was added in MySQL 6.0.4.
falcon_debug_mask — (formerly
falcon_log_mask) sets the log information
that is output to the standard output of
mysqld in the event of an error. The value
is a bit mask; you must combine values to enables different
combinations of error message types. The supported values are:
| Value | Name | Description |
|---|---|---|
| 1 | LogLog | Outputs minor errors, index, record and other faults. |
| 2 | LogDebug | Outputs detailed status and progress information for the purposes of debugging errors. |
| 4 | LogInfo | Generates general information and status messages |
| 8 | Unused | Currently unused. |
| 16 | Unused | Currently unused. |
| 32 | LogGG | |
| 64 | LogPanic | |
| 128 | LogScrub | |
| 256 | LogException | Logs exceptions and SQL errors. |
| 512 | LogScavenge | Reports record scavenger statistics. |
falcon_debug_server — specifies
whether the debug server should be enabled.
The default value is OFF.
falcon_disable_fsync — if true, the
periodic fsync operation to synchronize
data on disk is disabled. Setting this value to true may lead
to data loss, but may increase performance.
Default value is false (fsync is enabled).
falcon_gopher_threads — number of
threads that process committed changes in the serial log to
the database.
The default value is 5 gopher threads.
This option was added in MySQL 6.0.4.
falcon_index_chill_threshold — the
number of megabytes of pending index data that should be
stored during a large transaction before the index changes are
flushed to the serial log. If the index is unique, or the
transaction regularly re-reads the index data, then the index
data is stored in memory (for faster access). The flushing of
the index data to the serial log is called chilling. Chilling
pending indexes helps Falcon to load large
data sets in a single transaction without exhausting memory.
The minimum accepted value is 1, the maximum is 1024 and the default value is 4.
This configuration option is available within mysqld as a server variable.
falcon_initial_allocation — the
amount of space, in MB, that should be preallocated on disk
when a new Falcon tablespace file is
created.
The default value is 0 (no preallocation). The minimum value is 10.
falcon_io_threads — the number of
asynchronous threads to be used when performing writes to
disk.
The default value is 2 threads.
This option was added in MySQL 6.0.4.
falcon_max_transaction_backlog — the
maximum number of pending transactions that will be active
before the update process is blocked until the number of
pending transactions reduces.
The default value is 150.
falcon_large_blob_threshold — BLOB
data below this threshold is stored in data pages, instead of
BLOB pages. This can improve performance for smaller blobs
because only the serial log needs to be flushed at the end of
a transaction, and not the serial log and the blob pages.
falcon_lock_wait_timeout — the period
(in seconds) that a Falcon transaction will
wait for another transaction to complete when both
transactions need access to a locked table. A value 0
indicates that Falcon will wait
indefinitely for another transaction to complete.
The default value is 50.
This variable was added in MySQL 6.0.4. (Previously, in 6.0.3,
there was a variable named
falcon_lock_timeout which was measured in
milliseconds and had a default of 0.)
falcon_page_cache_size — (Page Cache
Size) sets the amount of memory that will be allocated for
caching pages from the tablespace file.
The default value is 4MB.
falcon_page_size — (Page Size)
controls the size of the pages used to store information
within the tablespace. Valid sizes are 1, 2, 4, 8, 16 and 32
KB.
The specified page size also affects the maximum index key lengths supported. The table below shows the relationship between the page size and the maximum index key length.
| Page Size | Maximum Index Key Length |
|---|---|
| 1K | 255 |
| 2K | 540 |
| 4K | 1100 |
| 8K | 2200 |
| 16K | 4500 |
| 32K | 9000 |
The default is 4KB.
falcon_record_chill_threshold — the
number of Mbytes of pending record data that
Falcon will keep in memory during a large
transaction before flushing these records to the serial log.
This flushing is called chilling since it makes the data not
immediately available. If chilled records are accessed again
during the transaction, they are immediately restored (thawed)
from the serial log. Chilling pending records helps
Falcon to accomplish very large
transactions without running out of memory.
The minimum accepted value is 1, the maximum is 1024 and the default value is 5.
falcon_record_memory_max — sets the
maximum amount of memory that will be allocated for caching
record data.
The default is 20MB.
falcon_record_scavenge_floor — the
percentage of
falcon_record_scavenge_threshold that will
be retained in the record cache after the scavenger thread has
completed execution.
You can determine the minimum size of the record cache using this formula:
min(falcon_record_memory_max
* (falcon_record_scavenge_threshold/100)
* (falcon_record_scavenge_floor/100))
The default value is 50. The minimum accepted value is 10, and the maximum is 90.
falcon_record_scavenge_threshold —
the percentage of falcon_record_memory_max
that will cause the scavenger thread to start removing old
generations of records from the record cache.
Default value is 67. The minimum accepted value is 10, and the maximum is 100.
falcon_scavenge_schedule — the record
scavenging schedule, specified as a crontab
style schedule. See
falcon_checkpoint_schedule.
falcon_serial_log_buffers — the
number of memory windows allocated for the
Falcon serial log. Each window is 1 MByte
in size. Formerly falcon_log_windows.
The minimum accepted value is 10, the maximum is 32768 and the default value is 10.
falcon_serial_log_dir — (Log file
location) sets the directory for storing the serial log. The
filenames used by the serial log (two files are create for
storing serial data) are allocated according to the name of
the tablespace. The default location is in the same directory
as the tablespace file. Formerly
falcon_log_dir.
falcon_support_xa — specifies whether
Falcon should support two-phase commit.
When set to 0 (default), commits are single phase. When set to
1, Falcon reports itself as a two-phase
commit supporting engine and supports two-phase commits.
This option was added in MySQL 6.0.4.
The relationship between the record cache and the page cache is
driven by the information that is cached by each system. Whole
records that are in active use (being read or updated) are stored
within the record cache, however,
BLOB data is stored only within the
page cache.
The page cache is used to store database metadata,
BLOB data and table indexes.
Falcon parameters can be also be set on the
command-line to mysqld using the following
command-line options:
--falcon-max-record-memory=#
--falcon-min-record-memory=#
--falcon-page-cache-size=#
You can also enable and disable the Falcon
storage engine at startup by supplying these options to
mysqld, providing that the
mysqld binary includes the
Falcon Storage Engine.
--falcon enables the
Falcon storage engine.
--skip-falcon disables the
Falcon Storage Engine.


User Comments
Add your own comment.