ARTEMIS-5057 add docs for large-message-sync
This commit is contained in:
parent
65db6c60c9
commit
7abfbb40d0
|
@ -2,35 +2,70 @@
|
|||
:idprefix:
|
||||
:idseparator: -
|
||||
|
||||
Apache ActiveMQ Artemis can be configured to store messages as files when these messages are beyond a configured value.
|
||||
|
||||
Instead of keeping these messages in memory ActiveMQ Artemis will hold just a thin object on the queues with a reference to a file into a specific folder configured as large-messages-directory.
|
||||
Apache ActiveMQ Artemis can be configured to give special treatment to messages which are beyond a configured size.
|
||||
Instead of keeping the entire contents of these messages _in memory_ the broker will hold just a thin object on the queues with a reference to the content (e.g. in a file or a database table).
|
||||
|
||||
This is supported on Core Protocol and on the AMQP Protocol.
|
||||
|
||||
== Configuring the server
|
||||
|
||||
Large messages are stored on a disk directory on the server side, as configured on the main configuration file.
|
||||
|
||||
When using the xref:persistence.adoc#file-journal-default[file journal] large messages are stored on disk on the server.
|
||||
The configuration property `large-messages-directory` specifies where large messages are stored.
|
||||
For JDBC persistence the `large-message-table` should be configured.
|
||||
|
||||
[,xml]
|
||||
----
|
||||
<configuration xmlns="urn:activemq"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:activemq /schema/artemis-server.xsd">
|
||||
<core xmlns="urn:activemq:core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:activemq:core">
|
||||
<configuration...>
|
||||
<core...>
|
||||
...
|
||||
<large-messages-directory>/data/large-messages</large-messages-directory>
|
||||
<large-messages-directory>data/large-messages</large-messages-directory>
|
||||
...
|
||||
</core>
|
||||
</configuration>
|
||||
----
|
||||
|
||||
By default the large message directory is `data/largemessages` and `large-message-table` is configured as "LARGE_MESSAGE_TABLE".
|
||||
By default `large-messages-directory` is `data/largemessages`.
|
||||
|
||||
For the best performance we recommend using file store with large messages directory stored on a different physical volume to the message journal or paging directory.
|
||||
[NOTE]
|
||||
====
|
||||
For the best performance we recommend using the file journal with the large messages directory on a different physical volume to the message journal or paging directory.
|
||||
====
|
||||
|
||||
For xref:persistence.adoc#jdbc-persistence[JDBC persistence] the `large-message-table` should be configured.
|
||||
|
||||
[,xml]
|
||||
----
|
||||
<configuration...>
|
||||
<core...>
|
||||
...
|
||||
<store>
|
||||
<database-store>
|
||||
...
|
||||
<large-message-table-name>LARGE_MESSAGES_TABLE</large-message-table-name>
|
||||
...
|
||||
</database-store>
|
||||
</store>
|
||||
...
|
||||
</core>
|
||||
</configuration>
|
||||
----
|
||||
|
||||
By default `large-message-table` is `LARGE_MESSAGE_TABLE`.
|
||||
|
||||
By default when writing the final bytes to a large message all writes are synchronized to the storage medium.
|
||||
This can be configured via `large-message-sync`, e.g.:
|
||||
|
||||
[,xml]
|
||||
----
|
||||
<configuration...>
|
||||
<core...>
|
||||
...
|
||||
<large-message-sync>true</large-message-sync>
|
||||
...
|
||||
</core>
|
||||
</configuration>
|
||||
----
|
||||
|
||||
By default `large-message-sync` is `true`.
|
||||
|
||||
== Configuring the Core Client
|
||||
|
||||
|
|
|
@ -294,8 +294,6 @@ The Apache ActiveMQ Artemis JDBC persistence layer offers the ability to store b
|
|||
|
||||
[NOTE]
|
||||
====
|
||||
|
||||
|
||||
Using the ActiveMQ Artemis File Journal is the *recommended* configuration as it offers higher levels of performance and is more mature.
|
||||
Performance for both paging and large messages is especially diminished with JDBC.
|
||||
The JDBC persistence layer is targeted to those users who _must_ use a database e.g. due to internal company policy.
|
||||
|
|
Loading…
Reference in New Issue