From do-not-reply at jboss.org Wed Mar 31 12:47:35 2010
Content-Type: multipart/mixed; boundary="===============7161531426508718359=="
MIME-Version: 1.0
From: do-not-reply at jboss.org
To: hornetq-commits at lists.jboss.org
Subject: [hornetq-commits] JBoss hornetq SVN: r9034 -
branches/HnetQ_323_cn/docs/user-manual/zh.
Date: Wed, 31 Mar 2010 12:47:34 -0400
Message-ID: <201003311647.o2VGlYbg029245@svn01.web.mwc.hst.phx2.redhat.com>
--===============7161531426508718359==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: gaohoward
Date: 2010-03-31 12:47:34 -0400 (Wed, 31 Mar 2010)
New Revision: 9034
Modified:
branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml
Log:
another chapter
Modified: branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml 2010-03-31 16=
:04:11 UTC (rev 9033)
+++ branches/HnetQ_323_cn/docs/user-manual/zh/persistence.xml 2010-03-31 16=
:47:34 UTC (rev 9034)
@@ -17,273 +17,195 @@
- Persistence
- In this chapter we will describe how persistence works with Horn=
etQ and how to configure
- it.
- HornetQ ships with a high performance journal. Since HornetQ han=
dles its own persistence,
- rather than relying on a database or other 3rd party persistence e=
ngine it is very highly
- optimised for the specific messaging use cases.
- A HornetQ journal is an append only journal=
. It consists of a set of
- files on disk. Each file is pre-created to a fixed size and initia=
lly filled with padding.
- As operations are performed on the server, e.g. add message, updat=
e message, delete message,
- records are appended to the journal. When one journal file is full=
we move to the next
- one.
- Because records are only appended, i.e. added to the end of the =
journal we minimise disk
- head movement, i.e. we minimise random access operations which is =
typically the slowest
- operation on a disk.
- Making the file size configurable means that an optimal size can=
be chosen, i.e. making
- each file fit on a disk cylinder. Modern disk topologies are compl=
ex and we are not in
- control over which cylinder(s) the file is mapped onto so this is =
not an exact science. But
- by minimising the number of disk cylinders the file is using, we c=
an minimise the amount of
- disk head movement, since an entire disk cylinder is accessible si=
mply by the disk rotating
- - the head does not have to move.
- As delete records are added to the journal, HornetQ has a sophis=
ticated file garbage
- collection algorithm which can determine if a particular journal f=
ile is needed any more -
- i.e. has all it's data been deleted in the same or other files. If=
so, the file can be
- reclaimed and re-used.
- HornetQ also has a compaction algorithm which removes dead space=
from the journal and
- compresses up the data so it takes up less files on disk.
- The journal also fully supports transactional operation if requi=
red, supporting both local
- and XA transactions.
- The majority of the journal is written in Java, however we abstr=
act out the interaction
- with the actual file system to allow different pluggable implement=
ations. HornetQ ships with
- two implementations:
+ =E6=8C=81=E4=B9=85=E5=8C=96
+ =E6=9C=AC=E7=AB=A0=E6=88=91=E4=BB=AC=E5=B0=86=E6=8F=8F=E8=BF=B0H=
ornetQ=E7=9A=84=E6=8C=81=E4=B9=85=E5=8C=96=E6=8A=80=E6=9C=AF=EF=BC=8C=E5=8C=
=85=E6=8B=AC=E6=8C=81=E4=B9=85=E5=8C=96=E7=9A=84=E5=B7=A5=E4=BD=9C=E5=8E=9F=
=E7=90=86=E5=92=8C=E9=85=8D=E7=BD=AE=E6=96=B9=E6=B3=95=E3=80=82
+ HornetQ=E6=8B=A5=E6=9C=89=E4=B8=80=E4=B8=AA=E9=AB=98=E6=80=A7=E8=
=83=BD=E7=9A=84=E6=97=A5=E5=BF=97=EF=BC=88journal=EF=BC=89=E6=A8=A1=E5=9D=
=97=E6=9D=A5=E5=A4=84=E7=90=86=E6=8C=81=E4=B9=85=E5=8C=96=E3=80=82=E5=9B=A0=
=E6=AD=A4=E5=AE=83=E5=B9=B6=E4=B8=8D=E4=BE=9D=E8=B5=96=E4=B8=80=E4=B8=AA=E5=
=A4=96=E9=83=A8=E7=9A=84=E6=95=B0=E6=8D=AE=E5=BA=93=E6=88=96=E7=AC=AC=E4=B8=
=89=E6=96=B9=E6=8C=81=E4=B9=85=E5=8C=96=E4=BA=A7=E5=93=81=E3=80=82=E8=BF=99=
=E4=B8=AA
+ =E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97=E9=92=88=E5=AF=B9=E6=B6=88=E6=
=81=AF=E7=9A=84=E5=A4=84=E7=90=86=E8=BF=9B=E8=A1=8C=E4=BA=86=E9=AB=98=E5=BA=
=A6=E7=9A=84=E4=BC=98=E5=8C=96=E3=80=82
+ =E6=89=80=E8=B0=93HornetQ=E6=97=A5=E5=BF=97=E6=98=AF=E4=B8=80=E4=
=B8=AA=E5=8F=AA=E6=B7=BB=E5=8A=A0=E7=B3=BB=E7=BB=9F=E3=
=80=82=E5=AE=83=E7=94=B1=E4=B8=80=E7=BB=84=E7=A3=81=E7=9B=98=E6=96=87=E4=BB=
=B6=E6=9E=84=E6=88=90=E3=80=82=E6=AF=8F=E4=B8=AA=E6=96=87=E4=BB=B6=E9=83=BD=
=E6=98=AF=E9=A2=84=E5=85=88=E5=88=9B=E5=BB=BA=E5=A5=BD=E7=9A=84=E5=B9=B6=E4=
=B8=94
+ =E5=A4=A7=E5=B0=8F=E6=98=AF=E5=9B=BA=E5=AE=9A=E7=9A=84=E3=80=82=E6=
=96=87=E4=BB=B6=E5=9C=A8=E5=88=9B=E5=BB=BA=E6=97=B6=E9=83=BD=E8=BF=9B=E8=A1=
=8C=E4=BA=86=E6=A0=BC=E5=BC=8F=E5=8C=96=E3=80=82=E9=9A=8F=E7=9D=80HornetQ=
=E4=B8=8D=E6=96=AD=E5=9C=B0=E5=A4=84=E7=90=86=E6=B6=88=E6=81=AF=EF=BC=8C=E5=
=A6=82=E6=B6=88=E6=81=AF=E7=9A=84=E5=A2=9E=E5=8A=A0=E3=80=81=E6=9B=B4=E6=96=
=B0=E3=80=81=E5=88=A0=E9=99=A4=E7=AD=89=EF=BC=8C=E4=B8=80=E4=B8=AA=E4=B8=AA=
=E8=AE=B0=E5=BD=95=E8=A2=AB=E6=B7=BB=E5=8A=A0
+ =E5=88=B0=E6=97=A5=E5=BF=97=E4=B8=AD=E3=80=82=E5=BD=93=E4=B8=80=E4=
=B8=AA=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E5=86=99=E6=BB=A1=E6=97=B6=EF=BC=
=8C=E6=96=B0=E8=AE=B0=E5=BD=95=E5=B0=B1=E4=BC=9A=E5=86=99=E5=88=B0=E4=B8=8B=
=E4=B8=80=E4=B8=AA=E6=96=87=E4=BB=B6=E3=80=82
+ =E7=94=B1=E4=BA=8E=E5=AF=B9=E6=97=A5=E5=BF=97=E7=9A=84=E5=86=99=
=E5=85=A5=E5=8F=AA=E6=98=AF=E5=AF=B9=E6=96=87=E4=BB=B6=E7=9A=84=E6=B7=BB=E5=
=8A=A0=EF=BC=8C=E8=BF=99=E6=A0=B7=E6=9C=89=E6=95=88=E5=87=8F=E5=B0=91=E4=BA=
=86=E9=9A=8F=E6=9C=BA=E5=AF=BB=E9=81=93=E7=9A=84=E6=93=8D=E4=BD=9C=E3=80=82=
=E8=80=8C=E9=9A=8F=E6=9C=BA=E5=AF=BB=E9=81=93=E7=9A=84=E6=93=8D=E4=BD=9C=E6=
=98=AF=E7=A3=81=E7=9B=98=E6=93=8D=E4=BD=9C=E4=B8=AD=E6=9C=80=E8=80=97=E6=97=
=B6=E7=9A=84=E6=93=8D=E4=BD=9C=E3=80=82
+ =E6=89=80=E4=BB=A5=E8=BF=99=E7=A7=8D=E8=AE=BE=E8=AE=A1=E5=8F=AF=E4=
=BB=A5=E4=BD=BF=E7=A3=81=E5=A4=B4=E7=9A=84=E8=BF=90=E5=8A=A8=E9=99=8D=E5=88=
=B0=E6=9C=80=E4=BD=8E=EF=BC=8C=E6=95=88=E7=8E=87=E6=9C=80=E9=AB=98=E3=80=82=
+ =E8=80=8C=E6=96=87=E4=BB=B6=E7=9A=84=E5=A4=A7=E5=B0=8F=E6=98=AF=
=E5=8F=AF=E4=BB=A5=E9=85=8D=E7=BD=AE=E7=9A=84=E3=80=82=E8=BF=99=E4=BD=BF=E6=
=88=91=E4=BB=AC=E5=8F=AF=E4=BB=A5=E5=B0=86=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=
=8F=E9=85=8D=E7=BD=AE=E4=B8=BA=E5=88=9A=E5=A5=BD=E5=8D=A0=E6=BB=A1=E4=B8=80=
=E4=B8=AA=E7=A3=81=E7=9B=98=E6=9F=B1=E9=9D=A2=E3=80=82=E4=B8=8D=E8=BF=87=E7=
=8E=B0=E4=BB=A3=E7=9A=84=E7=A3=81=E7=9B=98=E6=8A=80=E6=9C=AF=E6=98=AF=E5=A4=
=8D=E6=9D=82=E5=A4=9A=E6=A0=B7=E7=9A=84=EF=BC=8C
+ =E6=88=91=E4=BB=AC=E5=B9=B6=E4=B8=8D=E8=83=BD=E6=8E=A7=E5=88=B6=E6=
=96=87=E4=BB=B6=E4=B8=8E=E7=A3=81=E7=9B=98=E6=9F=B1=E9=9D=A2=E7=9A=84=E5=AF=
=B9=E5=BA=94=E5=85=B3=E7=B3=BB=E3=80=82=E5=B0=BD=E7=AE=A1=E5=A6=82=E6=AD=A4=
=EF=BC=8C=E6=88=91=E4=BB=AC=E9=80=9A=E8=BF=87=E6=9C=80=E5=A4=A7=E9=99=90=E5=
=BA=A6=E5=9C=B0=E9=99=8D=E4=BD=8E=E6=96=87=E4=BB=B6=E5=AF=B9=E7=A3=81=E7=9B=
=98=E6=9F=B1=E9=9D=A2=E7=9A=84=E5=8D=A0=E7=94=A8=EF=BC=8C=E6=9D=A5=E9=99=8D=
=E4=BD=8E=E7=A3=81=E5=A4=B4=E7=9A=84=E8=BF=90=E5=8A=A8=E3=80=82
+ =E8=BF=99=E6=98=AF=E5=9B=A0=E4=B8=BA=E5=9C=A8=E5=90=8C=E4=B8=80=E4=
=B8=AA=E6=9F=B1=E9=9D=A2=E7=9A=84=E5=AD=98=E5=8F=96=E5=8F=AA=E9=9C=80=E8=A6=
=81=E7=9B=98=E9=9D=A2=E7=9A=84=E8=BD=AC=E5=8A=A8=E8=80=8C=E4=B8=8D=E9=9C=80=
=E8=A6=81=E7=A3=81=E5=A4=B4=E7=9A=84=E8=BF=90=E5=8A=A8=E3=80=82
+ =E5=BD=93=E8=A2=AB=E5=88=A0=E9=99=A4=E7=9A=84=E8=AE=B0=E5=BD=95=
=E8=B6=8A=E6=9D=A5=E8=B6=8A=E5=A4=9A=E6=97=B6=EF=BC=8C=E6=9C=89=E7=9A=84=E6=
=96=87=E4=BB=B6=E6=9C=80=E7=B5=82=E4=BC=9A=E5=8F=98=E6=88=90=E4=B8=80=E4=B8=
=AA=E6=B2=A1=E6=9C=89=E6=9C=89=E6=95=88=E8=AE=B0=E5=BD=95=E7=9A=84=E6=96=87=
=E4=BB=B6=E3=80=82=E8=BF=99=E6=A0=B7=E7=9A=84=E6=96=87=E4=BB=B6=E5=B0=B1=E5=
=8F=AF=E4=BB=A5=E5=9B=9E=E6=94=B6=E5=86=8D=E5=88=A9=E7=94=A8=E3=80=82Hornet=
Q=E6=9C=89
+ =E4=B8=80=E5=A5=97=E5=A4=8D=E6=9D=82=E7=9A=84=E6=96=87=E4=BB=B6=E5=
=9B=9E=E6=94=B6=E7=AE=97=E6=B3=95=E6=9D=A5=E5=88=A4=E6=96=AD=E4=B8=80=E4=B8=
=AA=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E6=98=AF=E5=90=A6=E5=8F=AF=E4=BB=A5=
=E8=A2=AB=E5=9B=9E=E6=94=B6=E3=80=82
+ HornetQ=E8=BF=98=E6=9C=89=E4=B8=80=E5=A5=97=E6=96=87=E4=BB=B6=E6=
=95=B4=E7=90=86=E7=9A=84=E7=AE=97=E6=B3=95=EF=BC=8C=E5=AE=83=E7=94=A8=E6=9D=
=A5=E5=B0=86=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E4=B8=AD=E4=B8=8D=E7=94=A8=
=E7=9A=84=E7=A9=BA=E9=9A=99=E7=A7=BB=E9=99=A4=E4=BB=A5=E8=BE=BE=E5=88=B0=E6=
=9B=B4=E9=AB=98=E7=9A=84=E5=AD=98=E8=B4=AE=E6=95=88=E7=8E=87=E3=80=82
+ =E8=BF=99=E4=B8=AA=E6=97=A5=E5=BF=97=E7=B3=BB=E7=BB=9F=E5=85=A8=
=E9=9D=A2=E6=94=AF=E6=8C=81=E4=BA=8B=E5=8A=A1=E5=8A=9F=E8=83=BD=E3=80=82=E6=
=A0=B9=E6=8D=AE=E9=9C=80=E8=A6=81=E5=AE=83=E5=8F=AF=E4=BB=A5=E6=94=AF=E6=8C=
=81=E6=9C=AC=E5=9C=B0=E4=BA=8B=E5=8A=A1=E6=88=96XA=E5=9E=8B=E4=BA=8B=E5=8A=
=A1=E3=80=82
+ =E6=97=A5=E5=BF=97=E7=B3=BB=E7=BB=9F=E7=9A=84=E5=A4=A7=E9=83=A8=
=E5=88=86=E6=98=AF=E7=94=A8Java=E5=AE=9E=E7=8E=B0=E7=9A=84=EF=BC=8C=E4=BD=
=86=E6=98=AFHornetQ=E5=9C=A8=E5=85=B6=E4=B8=AD=E5=AE=9E=E7=8E=B0=E4=BA=86=
=E4=B8=80=E5=B1=82=E6=8A=BD=E8=B1=A1=E7=9A=84=E6=96=87=E4=BB=B6=E7=B3=BB=E7=
=BB=9F=EF=BC=8C=E8=BF=99=E6=A0=B7=E5=B0=B1=E4=BD=BF=E5=BE=97=E5=85=B6=E5=AE=
=83=E7=9A=84=E8=AF=AD=E8=A8=80=E5=AE=9E=E7=8E=B0=E8=83=BD
+ =E6=96=B9=E4=BE=BF=E5=9C=B0=E2=80=9C=E6=8F=92=E5=85=A5=E2=80=9D=E5=
=88=B0=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97=E4=B8=AD=E3=80=82=E5=AE=9E=E9=99=
=85=E4=B8=8AHornetQ=E8=87=AA=E5=B8=A6=E6=9C=89=E4=B8=A4=E7=A7=8D=E5=AE=9E=
=E7=8E=B0=EF=BC=9A
- Java NIO.
- The first implementation uses standard Java NIO to inter=
face with the file system.
- This provides extremely good performance and runs on any p=
latform where there's a
- Java 5+ runtime.
+ Java NIO=E3=80=82
+ =E7=AC=AC=E4=B8=80=E7=A7=8D=E9=87=87=E7=94=A8=E7=9A=84=
=E6=98=AF=E6=A0=87=E5=87=86=E7=9A=84Java NIO=E6=8E=A5=E5=8F=A3=E6=9D=A5=E8=
=BF=9B=E8=A1=8C=E6=96=87=E4=BB=B6=E7=9A=84=E6=93=8D=E4=BD=9C=E3=80=82=E5=AE=
=83=E5=8F=AF=E4=BB=A5=E5=9C=A8=E4=BB=BB=E4=BD=95=E5=AE=89=E8=A3=85=E6=9C=89=
Java 1.5=E6=88=96=E4=BB=A5=E4=B8=8A=E7=9A=84=E7=B3=BB=E7=BB=9F=E4=B8=AD=E8=
=BF=90=E8=A1=8C=E3=80=82
+ NIO=E7=9A=84=E6=80=A7=E8=83=BD=E6=98=AF=E5=BE=88=E9=AB=98=
=E7=9A=84=E3=80=82
- Linux Asynchronous IO
- The second implementation uses a thin native code wrappe=
r to talk to the Linux
- asynchronous IO library (AIO). With AIO, HornetQ will be c=
alled back when the data
- has made it to disk, allowing us to avoid explicit syncs a=
ltogether and simply send
- back confirmation of completion when AIO informs us that t=
he data has been
- persisted.
- Using AIO will typically provide even better performance=
than using Java
- NIO.
- The AIO journal is only available when running Linux ker=
nel 2.6 or later and after
- having installed libaio (if it's not already installed). F=
or instructions on how to
- install libaio please see .
- For more information on libaio please see .
- libaio is part of the kernel project.
+ Linux =E5=BC=82=E6=AD=A5IO =EF=BC=88Asynchronous IO=EF=
=BC=89
+ =E7=AC=AC=E4=BA=8C=E7=A7=8D=E6=98=AF=E9=87=87=E7=94=A8=
=E7=9A=84Linux=E7=B3=BB=E7=BB=9F=E4=B8=AD=E7=9A=84=E5=BC=82=E6=AD=A5IO=E6=
=8A=80=E6=9C=AF=EF=BC=88AIO=EF=BC=89=E3=80=82=E5=AE=83=E5=8C=85=E6=8B=AC=E4=
=BA=86=E5=B0=91=E9=87=8F=E7=9A=84=E5=B9=B3=E5=8F=B0=E7=9B=B8=E5=85=B3=E7=9A=
=84=E4=BB=A3=E7=A0=81=EF=BC=88native code)=E6=9D=A5
+=E3=80=80=E3=80=80=E3=80=80=E3=80=80=E3=80=80=E3=80=80=E3=80=80=E3=80=80=
=E3=80=80=E3=80=80=E8=B0=83=E7=94=A8AIO=E7=9A=84=E6=8E=A5=E5=8F=A3=E3=80=82=
=E5=BD=93=E6=95=B0=E6=8D=AE=E8=A2=AB=E4=BF=9D=E5=AD=98=E5=88=B0=E7=A3=81=E7=
=9B=98=E4=B8=8A=E5=90=8E=EF=BC=8CAIO=E4=BC=9A=E5=9B=9E=E8=B0=83HornetQ=E8=
=BF=9B=E8=A1=8C=E9=80=9A=E7=9F=A5=E3=80=82=E8=BF=99=E6=A0=B7=EF=BC=8CHornet=
Q=E5=B0=B1=E9=81=BF=E5=85=8D=E4=BA=86=E7=A3=81=E7=9B=98=E5=86=99
+ =E7=9A=84=E5=90=8C=E6=AD=A5=E6=93=8D=E4=BD=9C=E3=80=82
+ =E4=BD=BF=E7=94=A8AIO=E9=80=9A=E5=B8=B8=E5=8F=AF=E4=BB=
=A5=E6=9C=89=E6=AF=94NIO=E6=9B=B4=E9=AB=98=E7=9A=84=E6=80=A7=E8=83=BD=E3=80=
=82
+ =E9=87=87=E7=94=A8AIO=E7=9A=84=E6=97=A5=E5=BF=97=E5=8F=
=AA=E8=83=BD=E5=9C=A8=E8=BF=90=E8=A1=8C Linux kernel 2.6 =E6=88=96=E4=BB=A5=
=E4=B8=8A=E7=89=88=E6=9C=AC=E7=9A=84=E5=86=85=E6=A0=B8=E7=9A=84=E7=B3=BB=E7=
=BB=9F=E4=B8=AD=E6=89=8D=E6=9C=89=E3=80=82=E5=8F=A6=E5=A4=96=E4=BD=A0=E9=9C=
=80=E8=A6=81=E5=AE=89=E8=A3=85libaio=E3=80=82
+ =E6=9C=89=E5=85=B3=E5=A6=82=E4=BD=95=E5=AE=89=E8=A3=85liba=
io=E8=AF=B7=E5=8F=82=E8=A7=81 =E3=80=82=
para>
+ =E6=9C=89=E5=85=B3libaio=E7=9A=84=E6=9B=B4=E5=A4=9A=E4=
=BB=8B=E7=BB=8D=E5=8F=82=E8=A7=81 =E3=80=82
+ libaio=E6=98=AFLinux=E5=86=85=E6=A0=B8=E9=A1=B9=E7=9B=AE=
=E7=9A=84=E4=B8=80=E9=83=A8=E5=88=86=E3=80=82
- The standard HornetQ core server uses two instances of the journ=
al:
+ =E6=A0=87=E5=87=86=E7=9A=84HornetQ=E6=A0=B8=E5=BF=83=E6=9C=8D=E5=
=8A=A1=E5=99=A8=E4=BD=BF=E7=94=A8=E4=BA=86=E4=B8=A4=E7=A7=8D=E6=97=A5=E5=BF=
=97=EF=BC=9A
- Bindings journal.
- This journal is used to store bindings related data. Tha=
t includes the set of
- queues that are deployed on the server and their attribute=
s. It also stores data
- such as id sequence counters.
- The bindings journal is always a NIO journal as it is ty=
pically low throughput
- compared to the message journal.
+ =E7=BB=91=E5=AE=9A=E6=97=A5=E5=BF=97
+ =E8=BF=99=E4=B8=AA=E6=97=A5=E5=BF=97=E7=94=A8=E6=9D=A5=
=E4=BF=9D=E5=AD=98=E4=B8=8E=E7=BB=91=E5=AE=9A=E6=9C=89=E5=85=B3=E7=9A=84=E6=
=95=B0=E6=8D=AE=E3=80=82=E5=85=B6=E4=B8=AD=E5=8C=85=E6=8B=AC=E5=9C=A8Hornet=
Q=E4=B8=8A=E9=83=A8=E7=BD=B2=E7=9A=84=E9=98=9F=E5=88=97=E5=8F=8A=E5=85=B6=
=E5=B1=9E=E6=80=A7=EF=BC=8C=E8=BF=98=E6=9C=89ID=E5=BA=8F=E5=88=97=E8=AE=A1=
=E6=95=B0=E5=99=A8=E3=80=82
+ =E7=BB=91=E5=AE=9A=E6=97=A5=E5=BF=97=E6=98=AF=E4=B8=80=
=E4=B8=AANIO=E5=9E=8B=E6=97=A5=E5=BF=97=E3=80=82=E4=B8=8E=E6=B6=88=E6=81=AF=
=E6=97=A5=E5=BF=97=E7=9B=B8=E6=AF=94=E5=AE=83=E7=9A=84=E5=91=91=E5=90=90=E9=
=87=8F=E6=98=AF=E6=AF=94=E8=BE=83=E4=BD=8E=E7=9A=84=E3=80=82
- Message journal.
- This journal instance stores all message related data, i=
ncluding the message
- themselves and also duplicate-id caches.
- By default HornetQ will try and use an AIO journal. If A=
IO is not available, e.g.
- the platform is not Linux with the correct kernel version =
or AIO has not been
- installed then it will automatically fall back to using Ja=
va NIO which is available
- on any Java platform.
+ =E6=B6=88=E6=81=AF=E6=97=A5=E5=BF=97
+ =E8=BF=99=E4=B8=AA=E6=97=A5=E5=BF=97=E7=94=A8=E6=9D=A5=
=E5=AD=98=E8=B4=AE=E6=89=80=E6=9C=89=E6=B6=88=E6=81=AF=E7=9B=B8=E5=85=B3=E7=
=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E5=8C=85=E6=8B=AC=E6=B6=88=E6=81=AF=E6=9C=
=AC=E8=BA=AB=E5=92=8C=E9=87=8D=E5=A4=8DID=E7=BC=93=E5=AD=98=E3=80=82
+ =E9=BB=98=E8=AE=A4=E6=83=85=E5=86=B5=E4=B8=8BHornetQ=E6=
=80=BB=E6=98=AF=E4=BC=98=E5=85=88=E4=BD=BF=E7=94=A8AIO=E5=9E=8B=E6=97=A5=E5=
=BF=97=E3=80=82=E5=A6=82=E6=9E=9CAIO=E5=9E=8B=E6=97=A5=E5=BF=97=E4=B8=8D=E5=
=8F=AF=E7=94=A8=EF=BC=88=E6=AF=94=E5=A6=82=E5=9C=A8=E9=9D=9ELinux=E5=B9=B3=
=E5=8F=B0=E4=B8=8A=E8=BF=90=E8=A1=8C=EF=BC=8C=E6=88=96=E7=B3=BB=E7=BB=9F=E5=
=86=85=E6=A0=B8=E7=89=88=E6=9C=AC=E4=B8=8D=E5=90=8C=EF=BC=89
+ =E5=AE=83=E5=B0=86=E8=87=AA=E5=8A=A8=E4=BD=BF=E7=94=A8NIO=
=E5=9E=8B=E6=97=A5=E5=BF=97=E3=80=82
- For large messages, HornetQ persists them outside the message jo=
urnal. This is discussed
- in .
- HornetQ can also be configured to page messages to disk in low m=
emory situations. This is
- discussed in .
- If no persistence is required at all, HornetQ can also be config=
ured not to persist any
- data at all to storage as discussed in .
+ =E5=AF=B9=E4=BA=8E=E8=B6=85=E5=A4=A7=E6=B6=88=E6=81=AF=EF=BC=8CH=
ornet=E5=B0=86=E5=AE=83=E4=BB=AC=E4=BF=9D=E5=AD=98=E5=9C=A8=E6=B6=88=E6=81=
=AF=E6=97=A5=E5=BF=97=E4=B9=8B=E5=A4=96=E7=9A=84=E5=9C=B0=E6=96=B9=E3=80=82=
=E8=AF=A6=E8=A7=81.
+ HornetQ=E8=BF=98=E5=8F=AF=E4=BB=A5=E5=9C=A8=E5=86=85=E5=AD=98=E4=
=B8=8D=E5=A4=9F=E7=94=A8=E6=97=B6=E5=B0=86=E6=B6=88=E6=81=AF=E6=9A=82=E5=AD=
=98=E5=88=B0=E7=A3=81=E7=9B=98=E4=B8=8A=E3=80=82=E7=9B=B8=E5=85=B3=E7=9A=84=
=E9=85=8D=E7=BD=AE=E5=92=8C=E8=AF=B4=E6=98=8E=E5=8F=82=E8=A7=81=E3=80=82
+ =E5=A6=82=E6=9E=9C=E4=B8=8D=E9=9C=80=E8=A6=81=E6=8C=81=E4=B9=85=
=E5=8A=9F=E8=83=BD=EF=BC=8CHornetQ=E8=BF=98=E5=8F=AF=E4=BB=A5=E9=85=8D=E7=
=BD=AE=E6=88=90=E9=9D=9E=E6=8C=81=E4=B9=85=E7=9A=84=E6=B6=88=E6=81=AF=E7=B3=
=BB=E7=BB=9F=E3=80=82=E5=8F=82=E8=A7=81=E3=80=82
- Configuring the bindings journal
- The bindings journal is configured using the following attri=
butes in hornetq-configuration.xml
+ =E9=85=8D=E7=BD=AE=E7=BB=91=E5=AE=9A=E6=97=A5=E5=BF=97
+ =E7=BB=91=E5=AE=9A=E6=97=A5=E5=BF=97=E7=9A=84=E9=85=8D=E7=BD=
=AE=E5=8F=82=E6=95=B0=E5=9C=A8 hornetq-configuration.xml=E6=96=87=E4=BB=B6=E4=
=B8=AD=E3=80=82
bindings-directory
- This is the directory in which the bindings journal =
lives. The default value
- is data/bindings.
+ =E8=BF=99=E6=98=AF=E7=BB=91=E5=AE=9A=E6=97=A5=E5=BF=
=97=E7=9A=84=E4=BD=8D=E7=BD=AE=E3=80=82=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF=
data/bindings=E3=80=82
create-bindings-dir
- If this is set to true then the b=
indings directory will be
- automatically created at the location specified in bindings-directory if it does not alrea=
dy exist. The default
- value is true
+ =E5=A6=82=E6=9E=9C=E8=AE=BE=E7=BD=AE=E4=B8=BAtrue=EF=BC=8C=E9=82=A3=E4=B9=88=E5=9C=A8 bindings-directory =E6=89=80=E8=AE=BE=
=E5=AE=9A=E7=9A=84=E4=BD=8D=E7=BD=AE=E4=B8=8D=E5=AD=98=E5=9C=A8=E7=9A=84=E6=
=83=85=E5=86=B5=E4=B8=8B=E4=BC=9A=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA=E5=AE=
=83=E3=80=82=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AFtrue=E3=
=80=82
- Configuring the message journal
- The message journal is configured using the following attrib=
utes in hornetq-configuration.xml
+ =E9=85=8D=E7=BD=AE=E6=B6=88=E6=81=AF=E6=97=A5=E5=BF=97
+ =E6=B6=88=E6=81=AF=E6=97=A5=E5=BF=97=E7=9A=84=E9=85=8D=E7=BD=
=AE=E5=9C=A8hornetq-configuration.xml=E6=96=87=E4=BB=B6=E4=B8=AD=E3=
=80=82
journal-directory
- This is the directory in which the message journal l=
ives. The default value is
- data/journal.
- For the best performance, we recommend the journal i=
s located on its own
- physical volume in order to minimise disk head movemen=
t. If the journal is on a
- volume which is shared with other processes which migh=
t be writing other files
- (e.g. bindings journal, database, or transaction coord=
inator) then the disk head
- may well be moving rapidly between these files as it w=
rites them, thus
- drastically reducing performance.
- When the message journal is stored on a SAN we recom=
mend each journal instance
- that is stored on the SAN is given its own LUN (logica=
l unit).
+ =E8=BF=99=E6=98=AF=E6=B6=88=E6=81=AF=E6=97=A5=E5=BF=
=97=E6=96=87=E4=BB=B6=E6=89=80=E5=9C=A8=E7=9A=84=E7=9B=AE=E5=BD=95=E3=80=82=
=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF
+ data/journal=E3=80=82
+ =E4=B8=BA=E4=BB=A5=E8=BE=BE=E5=88=B0=E6=9C=80=E4=BD=
=B3=E6=80=A7=E8=83=BD=EF=BC=8C=E6=88=91=E4=BB=AC=E5=BB=BA=E8=AE=AE=E5=B0=86=
=E6=97=A5=E5=BF=97=E8=AE=BE=E5=AE=9A=E5=88=B0=E5=B1=9E=E4=BA=8E=E5=AE=83=E8=
=87=AA=E5=B7=B1=E7=9A=84=E7=89=A9=E7=90=86=E5=8D=B7=E4=B8=AD=E4=BB=A5=E5=87=
=8F=E5=B0=91=E7=A3=81=E5=A4=B4=E8=BF=90=E5=8A=A8=E3=80=82=E5=A6=82=E6=9E=9C=
=E6=97=A5=E5=BF=97=E7=9A=84=E4=BD=8D=E7=BD=AE=E4=B8=8E
+ =E5=85=B6=E5=AE=83=E8=BF=9B=E7=A8=8B=E5=85=B1=E7=94=A8=
=EF=BC=88=E5=A6=82=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C=E7=BB=91=E5=AE=9A=E6=
=97=A5=E5=BF=97=E6=88=96=E4=BA=8B=E5=8A=A1=E7=9A=84=E6=97=A5=E5=BF=97=E7=AD=
=89=EF=BC=89=E5=88=99=E7=A3=81=E5=A4=B4=E7=9A=84=E8=BF=90=E5=8A=A8=E6=98=BE=
=E7=84=B6=E8=A6=81=E5=A2=9E=E5=8A=A0=E5=BE=88=E5=A4=9A=E3=80=82=E6=80=A7=E8=
=83=BD=E4=B9=9F=E5=B0=B1=E6=B2=A1=E6=9C=89=E4=BF=9D=E8=AF=81=E4=BA=86=E3=80=
=82
+ =E5=A6=82=E6=9E=9C=E6=B6=88=E6=81=AF=E6=97=A5=E5=BF=
=97=E6=98=AF=E8=B4=AE=E5=AD=98=E5=9C=A8SAN=E4=B8=AD=EF=BC=8C=E6=88=91=E4=BB=
=AC=E5=BB=BA=E8=AE=AE=E6=AF=8F=E4=B8=AA=E6=97=A5=E5=BF=97=E9=83=BD=E6=8B=A5=
=E6=9C=89=E8=87=AA=E5=B7=B1=E7=9A=84LUN=EF=BC=88=E9=80=BB=E8=BE=91=E5=8D=95=
=E5=85=83=EF=BC=89=E3=80=82
create-journal-dir
- If this is set to true then the j=
ournal directory will be
- automatically created at the location specified in journal-directory if it does not alread=
y exist. The default value
- is true
+ =E5=A6=82=E6=9E=9C=E8=AE=BE=E4=B8=BAtrue=EF=BC=8C=E5=88=99=E5=BD=93journal-directory=E6=89=80=E6=8C=87=E5=
=AE=9A=E7=9A=84=E6=97=A5=E5=BF=97=E7=9B=AE=E5=BD=95=E4=B8=8D=E5=AD=98=E5=9C=
=A8=E6=97=B6=EF=BC=8C=E4=BC=9A=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA=E5=AE=83=
=E3=80=82=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AFtrue=E3=80=
=82
journal-type
- Valid values are NIO or =
ASYNCIO.
+ =E6=9C=89=E6=95=88=E5=80=BC=E6=98=AFNIO =E6=88=96=E8=80=85 ASYNCIO=E3=80=82
Choosing NIO chooses the Java NIO=
journal. Choosing
- AIO chooses the Linux asynchron=
ous IO journal. If you
- choose AIO but are not running Linu=
x or you do not have
- libaio installed then HornetQ will detect this and aut=
omatically fall back to
- using NIO.
+ AIO =E9=80=89=E6=8B=A9=E4=BD=9C=
=E7=94=A8=E5=BC=82=E6=AD=A5IO=E5=9E=8B=E6=97=A5=E5=BF=97=E3=80=82=E5=A6=82=
=E6=9E=9C=E4=BD=A0=E7=9A=84=E5=B9=B3=E5=8F=B0=E4=B8=8D=E6=98=AFLinux=E6=88=
=96=E8=80=85=E4=BD=A0=E6=B2=A1=E6=9C=89=E5=AE=89=E8=A3=85
+ libaio=EF=BC=8CHornetQ=E4=BC=9A=E8=87=AA=E5=8A=A8=E6=
=A3=80=E6=B5=8B=E5=88=B0=E5=B9=B6=E4=BD=BF=E7=94=A8NIO=
=E3=80=82
journal-sync-transactional
- If this is set to true then HornetQ will make sure a=
ll transaction data is
- flushed to disk on transaction boundaries (commit, pre=
pare and rollback). The
- default value is true.
+ =E5=A6=82=E6=9E=9C=E8=AE=BE=E4=B8=BAtrue=EF=BC=8CHor=
netQ=E4=BC=9A=E4=BF=9D=E8=AF=81=E5=9C=A8=E4=BA=8B=E5=8A=A1=E7=9A=84=E8=BE=
=B9=E7=95=8C=E6=93=8D=E4=BD=9C=E6=97=B6=EF=BC=88commit, prepare=E5=92=8Crol=
lback=EF=BC=89=E5=B0=86=E4=BA=8B=E5=8A=A1=E6=95=B0=E6=8D=AE
+ =E5=86=99=E5=88=B0=E7=A3=81=E7=9B=98=E4=B8=8A=E3=80=82=
=E9=BB=98=E8=AE=A4=E7=9A=84=E5=80=BC=E6=98=AF true=E3=80=
=82
journal-sync-non-transactional
- If this is set to true then HornetQ will make sure n=
on transactional message
- data (sends and acknowledgements) are flushed to disk =
each time. The default
- value for this is true.
+ =E5=A6=82=E6=9E=9C=E8=AE=BE=E4=B8=BAtrue HornetQ=E5=
=B0=86=E4=BF=9D=E8=AF=81=E6=AF=8F=E6=AC=A1=E9=83=BD=E5=B0=86=E9=9D=9E=E4=BA=
=8B=E5=8A=A1=E6=80=A7=E6=B6=88=E6=81=AF=E6=95=B0=E6=8D=AE=EF=BC=88=E5=8F=91=
=E9=80=81=E5=92=8C=E9=80=9A=E7=9F=A5=EF=BC=89=E4=BF=9D=E5=AD=98=E5=88=B0=E7=
=A3=81=E7=9B=98=E4=B8=8A=E3=80=82=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF true=E3=80=82
journal-file-size
- The size of each journal file in bytes. The default =
value for this is 10485760 bytes (10MiB).
+ =E6=AF=8F=E4=B8=AA=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=
=B6=E7=9A=84=E5=A4=A7=E4=BA=8E=E3=80=82=E5=8D=95=E4=BD=8D=E4=B8=BA=E5=AD=97=
=E8=8A=82=E3=80=82=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF 10485760 bytes (10MiB)=E3=80=82
journal-min-files
- The minimum number of files the journal will maintai=
n. When HornetQ starts and
- there is no initial message data, HornetQ will pre-cre=
ate journal-min-files number of files.
- Creating journal files and filling them with padding=
is a fairly expensive
- operation and we want to minimise doing this at run-ti=
me as files get filled. By
- precreating files, as one is filled the journal can im=
mediately resume with the
- next one without pausing to create it.
- Depending on how much data you expect your queues to=
contain at steady state
- you should tune this number of files to match that tot=
al amount of data.
+ =E6=9C=80=E5=B0=91=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=
=B6=E6=95=B0=E3=80=82=E5=BD=93HornetQ=E5=90=AF=E5=8A=A8=E6=97=B6=E4=BC=9A=
=E5=88=9B=E5=BB=BA=E8=BF=99=E4=B8=80=E6=95=B0=E9=87=8F=E7=9A=84=E6=96=87=E4=
=BB=B6=E3=80=82
+ =E5=88=9B=E5=BB=BA=E5=B9=B6=E5=88=9D=E5=A7=8B=E5=8C=
=96=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E6=98=AF=E4=B8=80=E9=A1=B9=E8=B4=B9=
=E6=97=B6=E7=9A=84=E6=93=8D=E4=BD=9C=EF=BC=8C=E9=80=9A=E5=B8=B8=E4=B8=8D=E5=
=B8=8C=E6=9C=9B=E8=BF=99=E4=BA=9B=E6=93=8D=E4=BD=9C=E5=9C=A8=E6=9C=8D=E5=8A=
=A1=E8=BF=90=E8=A1=8C=E6=97=B6=E6=89=A7=E8=A1=8C=E3=80=82=E9=A2=84=E5=85=88=
=E5=88=9B=E5=BB=BA=E5=B9=B6=E5=88=9D=E5=A7=8B=E5=8C=96=E8=BF=99=E4=BA=9B
+ =E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E5=B0=86=E4=BC=9A=
=E4=BD=BFHornetQ=E5=9C=A8=E5=B7=A5=E4=BD=9C=E6=97=B6=E9=81=BF=E5=85=8D=E6=
=B5=AA=E8=B4=B9=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E6=97=B6=E9=97=B4=E3=80=
=82
+ =E6=A0=B9=E6=8D=AE=E4=BD=A0=E7=9A=84=E5=BA=94=E7=94=
=A8=E4=B8=AD=E9=98=9F=E5=88=97=E4=B8=AD=E6=B6=88=E6=81=AF=E9=87=8F=E7=9A=84=
=E5=AE=9E=E9=99=85=E8=A6=81=E6=B1=82=E5=8F=AF=E4=BB=A5=E9=80=82=E5=BD=93=E8=
=B0=83=E8=8A=82=E8=BF=99=E4=B8=80=E5=8F=82=E6=95=B0=E3=80=82
journal-max-io
- Write requests are queued up before being submitted =
to the system for
- execution. This parameter controls the maximum number =
of write requests that can
- be in the IO queue at any one time. If the queue becom=
es full then writes will
- block until space is freed up.
- When using NIO, this value should always be equal to=
1
- When using AIO, the default should be 500=
literal>.
- The system maintains different defaults for this par=
ameter depening on whether
- it's NIO or AIO (default for NIO is 1, default for AIO=
is 500)
- There is a limit and the total max AIO can't be high=
er than what is configured
- at the OS level (/proc/sys/fs/aio-max-nr) usually at 6=
5536.
+ =E5=86=99=E8=AF=B7=E6=B1=82=E8=A2=AB=E6=94=BE=E5=88=
=B0=E4=B8=80=E4=B8=AA=E9=98=9F=E5=88=97=E4=B8=AD=EF=BC=8C=E7=84=B6=E5=90=8E=
=E5=86=8D=E8=A2=AB=E5=8F=91=E9=80=81=E5=88=B0=E7=B3=BB=E7=BB=9F=E4=B8=AD=E6=
=89=A7=E8=A1=8C=E3=80=82=E8=BF=99=E4=B8=AA=E5=8F=82=E6=95=B0=E9=99=90=E5=88=
=B6=E4=BA=86=E5=9C=A8=E4=BB=BB=E4=B8=80=E6=97=B6=E9=97=B4=E9=98=9F=E5=88=97=
=E4=B8=AD=E5=8F=AF=E4=BB=A5=E5=AD=98=E6=94=BE=E7=9A=84=E6=9C=80=E5=A4=A7=E6=
=95=B0=E9=87=8F
+ =E7=9A=84=E5=86=99=E8=AF=B7=E6=B1=82=E3=80=82=E5=A6=82=
=E6=9E=9C=E9=98=9F=E5=88=97=E8=BE=BE=E5=88=B0=E8=BF=99=E4=B8=AA=E9=99=90=E5=
=88=B6=EF=BC=8C=E4=BB=BB=E4=BD=95=E6=96=B0=E7=9A=84=E5=86=99=E8=AF=B7=E6=B1=
=82=E9=83=BD=E5=B0=86=E8=A2=AB=E9=98=BB=E5=A1=9E=EF=BC=8C=E7=9B=B4=E5=88=B0=
=E9=98=9F=E5=88=97=E4=B8=AD=E6=9C=89=E7=A9=BA=E4=BD=8D=E4=B8=BA=E6=AD=A2=E3=
=80=82
+ =E5=BD=93=E4=BD=BF=E7=94=A8NIO=E6=97=B6=EF=BC=8C=E8=
=BF=99=E4=B8=AA=E5=8F=82=E6=95=B0=E5=BF=85=E9=A1=BB=E4=B8=BA 1=E3=80=82
+ =E5=BD=93=E4=BD=BF=E7=94=A8AIO=E6=97=B6=EF=BC=8C=E5=
=AE=83=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF500=
=E3=80=82
+ =E7=B3=BB=E7=BB=9F=E6=A0=B9=E6=8D=AE=E4=B8=8D=E5=90=
=8C=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=97=A5=E5=BF=97=E6=8F=90=E4=BE=9B=E4=B8=8D=
=E5=90=8C=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC=E3=80=82(NIO =E4=B8=BA 1, AI=
O =E4=B8=BA 500)=E3=80=82
+ =E5=A6=82=E6=9E=9C=E6=98=AFAIO=EF=BC=8C=E8=BF=99=E4=
=B8=AA=E5=8F=82=E6=95=B0=E7=9A=84=E4=B8=8A=E9=99=90=E4=B8=8D=E8=83=BD=E8=B6=
=85=E8=BF=87=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E7=9A=84=E9=99=90=E5=88=B6=
(/proc/sys/fs/aio-max-nr)=EF=BC=8C=E8=BF=99=E4=B8=AA=E5=80=BC=E9=80=9A=E5=
=B8=B8=E4=B8=BA65536.
journal-buffer-timeout
- Instead of flushing on every write that requires a f=
lush, we maintain an
- internal buffer, and flush the entire buffer either wh=
en it is full, or when a
- timeout expires, whichever is sooner. This is used for=
both NIO and AIO and
- allows the system to scale better with many concurrent=
writes that require
- flushing.
- This parameter controls the timeout at which the buf=
fer will be flushed if it
- hasn't filled already. AIO can typically cope with a h=
igher flush rate than NIO,
- so the system maintains different defaults for both NI=
O and AIO (default for NIO
- is 3333333 nanoseconds - 300 times per second, default=
for AIO is 500000
- nanoseconds - ie. 2000 times per second).
+ =E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97=E4=B8=AD=E6=9C=
=89=E4=B8=80=E4=B8=AA=E5=86=85=E9=83=A8=E7=BC=93=E5=86=B2=E3=80=82=E6=AF=8F=
=E6=AC=A1=E5=86=99=E7=9A=84=E5=86=85=E5=AE=B9=E5=B9=B6=E4=B8=8D=E6=98=AF=E9=
=83=BD=E7=AB=8B=E5=8D=B3=E5=86=99=E5=88=B0=E7=A3=81=E7=9B=98=E4=B8=8A=EF=BC=
=8C=E8=80=8C=E6=98=AF=E5=85=88=E6=94=BE=E5=88=B0=E8=BF=99=E4=B8=AA=E5=86=85=
=E9=83=A8=E7=BC=93=E5=AD=98=E4=B8=AD=E3=80=82=E5=BD=93=E8=BF=99=E4=B8=AA=E7=
=BC=93=E5=AD=98=E5=B7=B2=E6=BB=A1=E6=97=B6=EF=BC=8C=E6=88=96
+ =E8=80=85=E8=B6=85=E8=BF=87=E4=BA=86=E4=B8=80=E5=AE=9A=
=E7=9A=84=E6=97=B6=E9=97=B4=EF=BC=88timeout=EF=BC=89=EF=BC=8C=E6=89=8D=E5=
=B0=86=E7=BC=93=E5=AD=98=E7=9A=84=E6=95=B0=E6=8D=AE=E5=AD=98=E5=88=B0=E7=A1=
=AC=E7=9B=98=E4=B8=8A=E3=80=82NIO=E5=92=8CAIO=E9=83=BD=E6=9C=89=E8=BF=99=E4=
=B8=80=E7=89=B9=E7=82=B9=E3=80=82=E9=87=87=E7=94=A8=E7=BC=93=E5=AD=98=E7=9A=
=84=E6=96=B9=E5=BC=8F=E5=8F=AF=E4=BB=A5=E5=BE=88=E5=A5=BD=E5=9C=B0=E6=BB=A1=
=E8=B6=B3
+ =E5=A4=A7=E9=87=8F=E5=B9=B6=E5=8F=91=E5=86=99=E6=95=B0=
=E6=8D=AE=E7=9A=84=E9=9C=80=E8=A6=81=E3=80=82
+ =E8=BF=99=E4=B8=80=E5=8F=82=E6=95=B0=E8=A7=84=E5=AE=
=9A=E4=BA=86=E7=BC=93=E5=AD=98=E7=9A=84=E5=A4=B1=E6=95=88=E6=97=B6=E9=97=B4=
=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=BF=87=E4=BA=86=E8=BF=99=E4=B8=AA=E6=97=B6=E9=
=97=B4=EF=BC=8C=E5=8D=B3=E4=BD=BF=E7=BC=93=E5=AD=98=E8=BF=98=E6=B2=A1=E6=9C=
=89=E6=BB=A1=EF=BC=8C=E4=B9=9F=E5=B0=86=E6=95=B0=E6=8D=AE=E5=86=99=E5=85=A5=
=E7=A3=81=E7=9B=98=E4=B8=AD=E3=80=82AIO=E7=9A=84=E5=86=99=E5=85=A5
+ =E8=83=BD=E5=8A=9B=E9=80=9A=E5=B8=B8=E8=A6=81=E6=AF=94=
NIO=E5=BC=BA=E3=80=82=E5=9B=A0=E6=AD=A4=E7=B3=BB=E7=BB=9F=E5=AF=B9=E4=BA=8E=
=E4=B8=8D=E5=90=8C=E7=B1=BB=E5=9E=8B=E7=9A=84=E6=97=A5=E5=BF=97=E6=9C=89=E7=
=9D=80=E4=B8=8D=E5=90=8C=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC=E3=80=82=EF=BC=
=88 NIO=E7=9A=84=E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF 3333333 =E7=BA=B3=E7=
=A7=92=EF=BC=8C=E5=8D=B3=E6=AF=8F=E7=A7=92300=E6=AC=A1=E3=80=82
+ =E8=80=8CAIO=E5=88=99=E6=98=AF500000=E7=BA=B3=E7=A7=92=
=EF=BC=8C=E5=8D=B3=E6=AF=8F=E7=A7=922000=E6=AC=A1=E3=80=82=EF=BC=89
- By increasing the timeout, you may be able to in=
crease system throughput
- at the expense of latency, the default parameters =
are chosen to give a
- reasonable balance between throughput and latency.=
+ =E5=8A=A0=E5=9C=A8=E8=BF=99=E4=B8=AA=E5=8F=82=E6=
=95=B0=E6=9C=89=E5=8F=AF=E8=83=BD=E4=BC=9A=E5=A2=9E=E5=8A=A0=E7=B3=BB=E7=BB=
=9F=E7=9A=84=E5=91=91=E5=90=90=E9=87=8F=EF=BC=8C=E4=BD=86=E5=8F=AF=E8=83=BD=
=E4=BC=9A=E9=99=8D=E4=BD=8E=E7=B3=BB=E7=BB=9F=E7=9A=84=E5=93=8D=E5=BA=94=E8=
=83=BD=E5=8A=9B=E3=80=82=E9=80=9A=E5=B8=B8=E6=83=85=E5=86=B5=E4=B8=8B=E9=BB=
=98=E8=AE=A4=E5=80=BC=E5=BA=94=E8=AF=A5=E6=98=AF=E6=AF=94=E8=BE=83=E7=90=86=
=E6=83=B3=E7=9A=84=E6=8A=98=E4=B8=AD=E9=80=89=E6=8B=A9=E3=80=82
journal-buffer-size
- The size of the timed buffer on AIO. The default val=
ue is 490KiB.
+ AIO=E7=9A=84=E5=AE=9A=E6=97=B6=E7=BC=93=E5=86=B2=E7=
=9A=84=E5=A4=A7=E5=B0=8F=EF=BC=8C=E9=BB=98=E8=AE=A4=E5=80=BC=E4=B8=BA490KiB=E3=80=82
journal-compact-min-files
- The minimal number of files before we can consider c=
ompacting the journal. The
- compacting algorithm won't start until you have at lea=
st journal-compact-min-files
- The default for this parameter is 10
+ =E8=BF=9B=E8=A1=8C=E6=95=B4=E7=90=86=E5=8E=8B=E7=BC=
=A9=E6=97=A5=E5=BF=97=E6=93=8D=E4=BD=9C=E7=9A=84=E6=9C=80=E5=B0=91=E6=96=87=
=E4=BB=B6=E6=95=B0=E3=80=82=E5=BD=93=E6=97=A5=E5=BF=97=E6=96=87=E4=BB=B6=E5=
=B0=91=E4=BA=8E=E8=BF=99=E4=B8=AA=E6=95=B0=E6=97=B6=EF=BC=8C=E7=B3=BB=E7=BB=
=9F=E4=B8=8D=E4=BC=9A=E8=BF=9B=E8=A1=8C=E6=96=87=E4=BB=B6=E7=9A=84=E6=95=B4=
=E7=90=86=E5=8E=8B=E7=BC=A9=E3=80=82
+ =E9=BB=98=E8=AE=A4=E5=80=BC=E6=98=AF 10=E3=80=82
journal-compact-percentage
- The threshold to start compacting. When less than th=
is percentage is
- considered live data, we start compacting. Note also t=
hat compacting won't kick
- in until you have at least journal-compact-mi=
n-files data
- files on the journal
- The default for this parameter is 30
+ =E5=BC=80=E5=A7=8B=E6=95=B4=E7=90=86=E5=8E=8B=E7=BC=
=A9=E7=9A=84=E7=95=8C=E9=99=90=E5=80=BC=E3=80=82=E5=BD=93=E6=9C=89=E6=95=88=
=E6=95=B0=E6=8D=AE=E7=9A=84=E6=AF=94=E4=BE=8B=E5=B0=91=E4=BA=8E=E8=BF=99=E4=
=B8=AA=E5=80=BC=E6=97=B6=E7=B3=BB=E7=BB=9F=E5=BC=80=E5=A7=8B=E6=95=B4=E7=90=
=86=E5=8E=8B=E7=BC=A9=E6=97=A5=E5=BF=97=E3=80=82=E6=B3=A8=E6=84=8F=E6=98=AF=
=E5=90=A6=E8=BF=9B=E8=A1=8C=E5=8E=8B=E7=BC=A9=E8=BF=98=E8=A6=81
+ =E5=8F=97=E5=88=B0=E3=80=81journal-compact-mi=
n-files=E5=8F=82=E6=95=B0=E7=9A=84=E6=8E=A7=E5=88=B6=E3=80=82
+ =E8=BF=99=E4=B8=80=E5=8F=82=E6=95=B0=E7=9A=84=E9=BB=
=98=E8=AE=A4=E5=80=BC=E6=98=AF 30=E3=80=82
- An important note on disabling disk write cache.
+ =E5=85=B3=E4=BA=8E=E5=85=B3=E9=97=AD=E7=A3=81=E7=9B=98=E5=
=86=99=E7=BC=93=E5=86=B2=E7=9A=84=E9=87=8D=E8=A6=81=E8=AF=B4=E6=98=8E
- Most disks contain hardware write caches. A write cache =
can increase the apparent
- performance of the disk because writes just go into the ca=
che and are then lazily
- written to the disk later.
- This happens irrespective of whether you have executed a=
fsync() from the
- operating system or correctly synced data from inside a Ja=
va program!
- By default many systems ship with disk write cache enabl=
ed. This means that even
- after syncing from the operating system there is no guaran=
tee the data has actually
- made it to disk, so if a failure occurs, critical data can=
be lost.
- Some more expensive disks have non volatile or battery b=
acked write caches which
- won't necessarily lose data on event of failure, but you n=
eed to test them!
- If your disk does not have an expensive non volatile or =
battery backed cache and
- it's not part of some kind of redundant array (e.g. RAID),=
and you value your data
- integrity you need to make sure disk write cache is disabl=
ed.
- Be aware that disabling disk write cache can give you a =
nasty shock performance
- wise. If you've been used to using disks with write cache =
enabled in their default
- setting, unaware that your data integrity could be comprom=
ised, then disabling it
- will give you an idea of how fast your disk can perform wh=
en acting really
- reliably.
- On Linux you can inspect and/or change your disk's write=
cache settings using the
- tools hdparm (for IDE disks) or sdparm or
- sginfo (for SDSI/SATA disks)
- On Windows you can check / change the setting by right c=
licking on the disk and
- clicking properties.
+ =E5=A4=A7=E5=A4=9A=E6=95=B0=E7=A3=81=E7=9B=98=E4=BA=A7=
=E5=93=81=E9=83=BD=E6=9C=89=E7=A1=AC=E4=BB=B6=E7=9A=84=E5=86=99=E7=BC=93=E5=
=86=B2=E3=80=82=E5=86=99=E7=BC=93=E5=86=B2=E5=8F=AF=E4=BB=A5=E6=98=8E=E6=98=
=BE=E6=8F=90=E9=AB=98=E5=86=99=E7=9A=84=E6=95=88=E7=8E=87=E3=80=82
+ =E8=BF=99=E6=A0=B7=E7=9A=84=E5=86=99=E7=BC=93=E5=86=B2=
=E4=B8=8E=E8=B0=83=E7=94=A8fsync()=E8=BF=99=E6=A0=B7=E7=9A=84=E7=B3=BB=E7=
=BB=9F=E5=87=BD=E6=95=B0=E6=97=A0=E5=85=B3=EF=BC=8C=E4=B9=9F=E4=B8=8E=E5=9C=
=A8Java=E7=A8=8B=E5=BA=8F=E4=B8=AD=E8=BF=9B=E8=A1=8C=E7=9A=84=E5=90=8C=E6=
=AD=A5=E8=B0=83=E7=94=A8=E6=97=A0=E5=85=B3=EF=BC=81
+ =E9=BB=98=E8=AE=A4=E6=83=85=E5=86=B5=E4=B8=8B=E8=AE=B8=
=E5=A4=9A=E7=A3=81=E7=9B=98=E7=9A=84=E5=86=99=E7=BC=93=E5=86=B2=E6=98=AF=E6=
=89=93=E5=BC=80=E7=9A=84=E3=80=82=E8=BF=99=E6=A0=B7=E7=9A=84=E6=83=85=E5=86=
=B5=E4=B8=8B=EF=BC=8C=E5=8D=B3=E4=BD=BF=E4=BD=A0=E5=9C=A8=E7=A8=8B=E5=BA=8F=
=E4=B8=AD=E8=B0=83=E7=94=A8=E4=BA=86=E5=90=8C=E6=AD=A5=E6=93=8D=E4=BD=9C=E4=
=B9=9F=E4=B8=8D=E8=83=BD=E4=BF=9D=E8=AF=81=E4=BD=A0=E7=9A=84=E6=95=B0=E6=8D=
=AE
+ =E5=B0=B1=E7=9C=9F=E6=AD=A3=E5=86=99=E5=88=B0=E7=A3=81=E7=
=9B=98=E4=BB=8B=E8=B4=A8=E4=B8=AD=E4=BA=86=E3=80=82=E5=9B=A0=E6=AD=A4=E5=A6=
=82=E6=9E=9C=E6=95=85=E9=9A=9C=E5=8F=91=E7=94=9F=E6=97=B6=EF=BC=8C=E5=85=B3=
=E9=94=AE=E7=9A=84=E6=95=B0=E6=8D=AE=E6=98=AF=E6=9C=89=E5=8F=AF=E8=83=BD=E4=
=B8=A2=E5=A4=B1=E7=9A=84=E3=80=82
+ =E6=9C=89=E4=BA=9B=E6=98=82=E8=B4=B5=E7=9A=84=E7=A3=81=
=E7=9B=98=E9=87=87=E7=94=A8=E9=9D=9E=E6=8C=A5=E5=8F=91=E6=80=A7=E7=9A=84=E4=
=BB=8B=E8=B4=A8=E6=88=96=E6=9C=89=E7=94=B5=E6=BA=90=E7=9A=84=E7=BC=93=E5=86=
=B2=E6=9D=A5=E4=BF=9D=E8=AF=81=E6=95=85=E9=9A=9C=E6=83=85=E5=86=B5=E4=B8=8B=
=E4=B8=8D=E4=B8=A2=E5=A4=B1=E6=95=B0=E6=8D=AE=E3=80=82=E4=BD=86=E6=98=AF=E4=
=BD=A0=E4=BB=8D=E9=9C=80=E8=A6=81=E5=AF=B9=E8=BF=99=E4=BA=9B=E7=A1=AC=E7=9B=
=98=E8=BF=9B=E8=A1=8C=E6=B5=8B=E8=AF=95=EF=BC=81
+ =E5=A6=82=E6=9E=9C=E4=BD=A0=E7=9A=84=E7=A3=81=E7=9B=98=
=E6=B2=A1=E6=9C=89=E9=9D=9E=E6=8C=A5=E5=8F=91=E6=80=A7=E6=88=96=E6=9C=89=E7=
=94=B5=E6=BA=90=E7=9A=84=E7=BC=93=E5=AD=98=EF=BC=8C=E4=B9=9F=E4=B8=8D=E6=98=
=AF=E6=9F=90=E7=A7=8D=E5=86=97=E4=BD=99=E7=9B=98=E9=98=B5=EF=BC=88=E5=A6=82=
RAID=EF=BC=89=E3=80=82=E8=A6=81=E6=83=B3=E4=BF=9D=E8=AF=81=E5=85=B3=E9=94=
=AE=E6=95=B0=E6=8D=AE=E4=B8=8D=E4=B8=A2=E5=A4=B1=EF=BC=8C=E4=BD=A0=E9=9C=80=
=E8=A6=81
+ =E5=85=B3=E9=97=AD=E7=A3=81=E7=9B=98=E7=9A=84=E5=86=99=E7=
=BC=93=E5=86=B2=E3=80=82
+ =E9=9C=80=E8=A6=81=E7=9F=A5=E9=81=93=E7=9A=84=E6=98=AF=
=E5=85=B3=E9=97=AD=E7=A3=81=E7=9B=98=E7=9A=84=E5=86=99=E7=BC=93=E5=86=B2=E4=
=BC=9A=E6=98=BE=E8=91=97=E9=99=8D=E4=BD=8E=E7=A3=81=E7=9B=98=E7=9A=84=E6=80=
=A7=E8=83=BD=E3=80=82=E5=A6=82=E6=9E=9C=E5=B9=B3=E6=97=B6=E4=BD=A0=E5=9C=A8=
=E4=BD=BF=E7=94=A8=E7=A3=81=E7=9B=98=E6=97=B6=E9=83=BD=E6=89=93=E5=BC=80=E5=
=86=99=E7=BC=93=E5=86=B2=EF=BC=8C=E9=82=A3=E4=B9=88=E5=BD=93=E4=BD=A0=E4=B8=
=BA=E4=BA=86
+ =E4=BF=9D=E6=8A=A4=E4=BD=A0=E7=9A=84=E6=95=B0=E6=8D=AE=E8=
=80=8C=E5=85=B3=E9=97=AD=E5=AE=83=E6=97=B6=EF=BC=8C=E4=BD=A0=E5=8F=AF=E8=83=
=BD=E6=84=9F=E5=88=B0=E4=B8=A4=E7=A7=8D=E6=83=85=E5=86=B5=E4=B8=8B=E7=9A=84=
=E6=98=8E=E6=98=BE=E5=B7=AE=E5=BC=82=E3=80=82
+ Linux=E5=8F=AF=E4=BB=A5=E7=94=A8hdparm (IDE=E7=A1=AC=E7=9B=98) =E6=88=96 sdparm =E6=88=96
+ sginfo (SDSI/SATA =E7=A1=AC=E7=9B=
=98)=E5=B7=A5=E5=85=B7=E6=9D=A5=E6=9F=A5=E7=9C=8B=E5=B9=B6=E4=BF=AE=E6=94=
=B9=E7=A3=81=E7=9B=98=E7=9A=84=E5=86=99=E7=BC=93=E5=86=B2=E3=80=82
+ =E5=9C=A8Windows=E5=B9=B3=E5=8F=B0=E4=B8=8A=E4=BD=A0=E5=
=8F=AF=E4=BB=A5=E5=8F=B3=E9=94=AE=E7=82=B9=E5=87=BB=E7=A1=AC=E7=9B=98=E5=9B=
=BE=E6=A0=87=EF=BC=8C=E5=B9=B6=E9=80=89=E6=8B=A9=E2=80=9C=E5=B1=9E=E6=80=A7=
=E2=80=9D=E8=8F=9C=E5=8D=95=E9=A1=B9=E6=9D=A5=E6=93=8D=E4=BD=9C=E3=80=82
- Installing AIO
- The Java NIO journal gives great performance, but If you are=
running HornetQ using
- Linux Kernel 2.6 or later, we highly recommend you use the AIO
- journal for the very best persistence performance.
- It's not possible to use the AIO journal under other operati=
ng systems or earlier
- versions of the Linux kernel.
- If you are running Linux kernel 2.6 or later and don't alrea=
dy have libaio installed, you can easily install it usi=
ng the following
- steps:
- Using yum, (e.g. on Fedora or Red Hat Enterprise Linux):
+ =E5=AE=89=E8=A3=85AIO
+ Java NIO=E6=97=A5=E5=BF=97=E7=9A=84=E6=80=A7=E8=83=BD=E6=98=
=AF=E5=BE=88=E5=A5=BD=E7=9A=84=E3=80=82=E4=BD=86=E6=98=AF=E5=A6=82=E6=9E=9C=
=E4=BD=A0=E6=98=AF=E5=9C=A8Linux =E5=86=85=E6=A0=B82.6=E7=89=88=E6=9C=AC=E4=
=BB=A5=E4=B8=8A=E7=9A=84=E7=B3=BB=E7=BB=9F=E4=B8=AD=E8=BF=90=E8=A1=8CHornet=
Q=EF=BC=8C=E6=88=91=E4=BB=AC=E5=BC=BA=E7=83=88=E5=BB=BA=E8=AE=AE
+ =E4=BD=A0=E4=BD=BF=E7=94=A8 AIO=E6=97=A5=E5=
=BF=97=EF=BC=8C=E4=BB=A5=E8=8E=B7=E5=BE=97=E6=9B=B4=E4=BD=B3=E7=9A=84=E6=80=
=A7=E8=83=BD=E3=80=82
+ =E5=9C=A8=E6=97=A9=E6=9C=9F=E7=9A=84Linux=E7=89=88=E6=9C=AC=
=E4=B8=AD=E6=88=96=E5=85=B6=E5=AE=83=E6=93=8D=E4=BD=9C=E7=B3=BB=E7=BB=9F=E4=
=B8=AD=E4=B8=8D=E5=8F=AF=E4=BB=A5=E4=BD=BF=E7=94=A8 AIO=E6=97=A5=E5=BF=97=
=E3=80=82
+ =E5=A6=82=E6=9E=9C=E4=BD=A0=E7=9A=84Linux=E5=86=85=E6=A0=B8=
=E6=98=AF2.6=E7=89=88=E6=9C=AC=E6=88=96=E4=BB=A5=E4=B8=8A=E4=BD=86=E6=B2=A1=
=E6=9C=89=E5=AE=89=E8=A3=85 libaio=EF=BC=8C=E6=8C=89=E7=85=A7=E4=B8=8B=E5=
=88=97=E6=AD=A5=E9=AA=A4=E5=8F=AF=E4=BB=A5=E5=BE=88=E5=AE=B9=E6=98=93=E5=9C=
=B0=E5=AE=89=E8=A3=85=E5=AE=83=EF=BC=9A
+ =E4=BD=BF=E7=94=A8 yum=EF=BC=8C(=E5=A6=82 Fedora =E6=88=96 R=
ed Hat Enterprise Linux):
yum install libaio
- Using aptitude, (e.g. on Ubuntu or Debian system):
+ =E4=BD=BF=E7=94=A8 aptitude, (=E5=A6=82 Ubuntu =E6=88=96 Deb=
ian):
apt-get install libaio
- Configuring HornetQ for Zero Persistence
- In some situations, zero persistence is sometimes required f=
or a messaging system.
- Configuring HornetQ to perform zero persistence is straightfor=
ward. Simply set the
- parameter persistence-enabled in hornetq-configuration.xml to false.
- Please note that if you set this parameter to false, then zero
- persistence will occur. That means no bindings data, message d=
ata, large message data,
- duplicate id caches or paging data will be persisted.
+ =E9=85=8D=E7=BD=AEHornetQ=E4=B8=8D=E4=BD=BF=E7=94=A8=E6=8C=
=81=E4=B9=85=E5=8C=96
+ =E5=9C=A8=E4=B8=80=E4=BA=9B=E6=83=85=E5=86=B5=E4=B8=8B=E6=B6=
=88=E6=81=AF=E7=B3=BB=E7=BB=9F=E5=B9=B6=E4=B8=8D=E9=9C=80=E8=A6=81=E6=8C=81=
=E4=B9=85=E5=8C=96=E3=80=82=E8=BF=99=E6=97=B6=E5=8F=AF=E4=BB=A5=E9=85=8D=E7=
=BD=AEHornetQ=E4=B8=8D=E4=BD=BF=E7=94=A8=E6=8C=81=E4=B9=85=E5=B1=82=E3=80=
=82=E5=8F=AA=E8=A6=81=E5=B0=86hornetq-configuration.xml=E6=96=87=E4=BB=B6=E4=
=B8=AD=E7=9A=84persistence-enabled
+ =E5=8F=82=E6=95=B0=E8=AE=BE=E4=B8=BAfalse=
=E5=8D=B3=E5=8F=AF=E3=80=82
+ =E6=B3=A8=E6=84=8F=E5=A6=82=E6=9E=9C=E4=BD=A0=E5=B0=86=E8=AF=
=A5=E5=8F=82=E6=95=B0=E8=AE=BE=E4=B8=BA false=E6=9D=A5=E5=85=B3=E9=97=AD=E6=
=8C=81=E4=B9=85=E5=8C=96=EF=BC=8C=E5=B0=B1=E6=84=8F=E5=91=B3=E7=9D=80=E6=89=
=80=E6=9C=89=E7=9A=84=E7=BB=91=E5=AE=9A=E6=95=B0=E6=8D=AE=E3=80=81=E6=B6=88=
=E6=81=AF=E6=95=B0=E6=8D=AE=E3=80=81=E8=B6=85=E5=A4=A7=E6=B6=88=E6=81=AF=E6=
=95=B0=E6=8D=AE=E3=80=81=E9=87=8D=E5=A4=8DID=E7=BC=93=E5=86=B2=E4=BB=A5=E5=
=8F=8A=E8=BD=AC=E7=A7=BB=EF=BC=88paging=EF=BC=89=E6=95=B0=E6=8D=AE=E9=83=BD=
=E5=B0=86=E4=B8=8D=E4=BC=9A=E8=A2=AB=E6=8C=81=E4=B9=85=E3=80=82
--===============7161531426508718359==--