You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by Jaln <va...@gmail.com> on 2014/08/26 17:27:09 UTC

how the latency is computed

Hi,
I'm running the bookkeeper benchmark on a single node,
The latency is about 2s using one disk.
I would like to know how this latency is calculated,
is the `latency' the time between "client sent the write msg" and the
"write is committed on the journal devices and the ack code is returned"?

Does the ledger device affect the latency? Assuming ledger and journal is on
different disk.

Best,
Jialin

Re: how the latency is computed

Posted by Jaln <va...@gmail.com>.
- what is your setup of your bookkeeper cluster? what is the configuration
of your bookies and clients?

I run bookkeeper on a single node.
OS is ubuntu 12.04, 16G memory, 1TB SATA disk, 120G sata SSD
Run ./bookkeeper localbookie 3 -c /conf/bk_server.conf
then ./benchmark  writes -entrysize 2048 -throttle 10000
Others are default configuration, only the journalDirectory
and ledgerDirectories are changed.

- how you configure writing journal file to memory?
using ramfs to allocate a folder and file in memory.

- how you profile to get the time of writing to journal & writing to ledger
file? if you made code change, please show us your code change.

write journal to ramfs and ledger to ssd, cost 1.6 ms latency
write journal to ramfs and ledger to hdd, cost 200 ms latency
Therefore, I woud say `the ledger to hdd' cost about 200ms

- what is the throughput (entries/sec) of your test? what is the
configuration?
Throughput is determined by the throttle, in this case, it's 9994 ops/sec


Best,
Jialin


On Tue, Aug 26, 2014 at 11:51 AM, Sijie Guo <gu...@gmail.com> wrote:

> It isn't clear to me at all on how you profile.. and in general, adding an
> entry will only write to ledger file's buffer, which if it takes 200+ms,
> there should be something wrong with your environment.
>
> could you explain following:
>
> - what is your setup of your bookkeeper cluster? what is the configuration
> of your bookies and clients?
> - how you configure writing journal file to memory?
> - how you profile to get the time of writing to journal & writing to ledger
> file? if you made code change, please show us your code change.
> - what is the throughput (entries/sec) of your test? what is the
> configuration?
>
> - Sijie
>
>
>
>
> On Tue, Aug 26, 2014 at 9:35 AM, Jaln <va...@gmail.com> wrote:
>
> > I write the journal file to memory, which cost 1.6ms, and the ledger file
> > to disk,
> > it cost 200+ ms.
> >
> >
> > On Tue, Aug 26, 2014 at 11:19 AM, Sijie Guo <gu...@gmail.com> wrote:
> >
> > > Could you explain how you profile the time? The ledger device isn't the
> > > dominated factor, The journal device is.
> > >
> > > - Sijie
> > >
> > >
> > > On Tue, Aug 26, 2014 at 9:13 AM, Jaln <va...@gmail.com> wrote:
> > >
> > > > Hi Sijie,
> > > > Thanks,
> > > > One of my result is
> > > > entrysize: 1k
> > > > Throttle: 10k
> > > > Latency is 1324.1137182178 ms
> > > > I also profile the time and find that the ledger device can
> contribute
> > > > 232 ms.
> > > >
> > > > I don't think the ledger device should cause any cost.
> > > >
> > > > Jialin
> > > >
> > > >
> > > > On Tue, Aug 26, 2014 at 10:59 AM, Sijie Guo <gu...@gmail.com>
> > wrote:
> > > >
> > > > > The latency I think is between the client added the message and
> > > received
> > > > > acknowledge from quorum of bookies. Journal device will
> significantly
> > > > > affect the latency, Ledger device might slightly affect but not too
> > > much
> > > > > (it depends). If you are using only one disk for both ledger &
> > journal
> > > > > devices, you will definitely get really bad disk behavior.
> > > > >
> > > > > At the mean time, your configuration on bookie journal (e.g. group
> > > commit
> > > > > interval, commit buffer) will also affect the latency.
> > > > >
> > > > > So for your case, please specify your environment and
> configuration,
> > we
> > > > > will figure out why it takes to 2s.
> > > > >
> > > > > - Sijie
> > > > >
> > > > >
> > > > > On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com>
> wrote:
> > > > >
> > > > > > Hi,
> > > > > > I'm running the bookkeeper benchmark on a single node,
> > > > > > The latency is about 2s using one disk.
> > > > > > I would like to know how this latency is calculated,
> > > > > > is the `latency' the time between "client sent the write msg" and
> > the
> > > > > > "write is committed on the journal devices and the ack code is
> > > > returned"?
> > > > > >
> > > > > > Does the ledger device affect the latency? Assuming ledger and
> > > journal
> > > > is
> > > > > > on
> > > > > > different disk.
> > > > > >
> > > > > > Best,
> > > > > > Jialin
> > > > > >
> > > > >
> > > >
> > >
> >
> >
> >
> > --
> >
> > Genius only means hard-working all one's life
> >
>



-- 

Genius only means hard-working all one's life

Re: how the latency is computed

Posted by Sijie Guo <gu...@gmail.com>.
It isn't clear to me at all on how you profile.. and in general, adding an
entry will only write to ledger file's buffer, which if it takes 200+ms,
there should be something wrong with your environment.

could you explain following:

- what is your setup of your bookkeeper cluster? what is the configuration
of your bookies and clients?
- how you configure writing journal file to memory?
- how you profile to get the time of writing to journal & writing to ledger
file? if you made code change, please show us your code change.
- what is the throughput (entries/sec) of your test? what is the
configuration?

- Sijie




On Tue, Aug 26, 2014 at 9:35 AM, Jaln <va...@gmail.com> wrote:

> I write the journal file to memory, which cost 1.6ms, and the ledger file
> to disk,
> it cost 200+ ms.
>
>
> On Tue, Aug 26, 2014 at 11:19 AM, Sijie Guo <gu...@gmail.com> wrote:
>
> > Could you explain how you profile the time? The ledger device isn't the
> > dominated factor, The journal device is.
> >
> > - Sijie
> >
> >
> > On Tue, Aug 26, 2014 at 9:13 AM, Jaln <va...@gmail.com> wrote:
> >
> > > Hi Sijie,
> > > Thanks,
> > > One of my result is
> > > entrysize: 1k
> > > Throttle: 10k
> > > Latency is 1324.1137182178 ms
> > > I also profile the time and find that the ledger device can contribute
> > > 232 ms.
> > >
> > > I don't think the ledger device should cause any cost.
> > >
> > > Jialin
> > >
> > >
> > > On Tue, Aug 26, 2014 at 10:59 AM, Sijie Guo <gu...@gmail.com>
> wrote:
> > >
> > > > The latency I think is between the client added the message and
> > received
> > > > acknowledge from quorum of bookies. Journal device will significantly
> > > > affect the latency, Ledger device might slightly affect but not too
> > much
> > > > (it depends). If you are using only one disk for both ledger &
> journal
> > > > devices, you will definitely get really bad disk behavior.
> > > >
> > > > At the mean time, your configuration on bookie journal (e.g. group
> > commit
> > > > interval, commit buffer) will also affect the latency.
> > > >
> > > > So for your case, please specify your environment and configuration,
> we
> > > > will figure out why it takes to 2s.
> > > >
> > > > - Sijie
> > > >
> > > >
> > > > On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com> wrote:
> > > >
> > > > > Hi,
> > > > > I'm running the bookkeeper benchmark on a single node,
> > > > > The latency is about 2s using one disk.
> > > > > I would like to know how this latency is calculated,
> > > > > is the `latency' the time between "client sent the write msg" and
> the
> > > > > "write is committed on the journal devices and the ack code is
> > > returned"?
> > > > >
> > > > > Does the ledger device affect the latency? Assuming ledger and
> > journal
> > > is
> > > > > on
> > > > > different disk.
> > > > >
> > > > > Best,
> > > > > Jialin
> > > > >
> > > >
> > >
> >
>
>
>
> --
>
> Genius only means hard-working all one's life
>

Re: how the latency is computed

Posted by Jaln <va...@gmail.com>.
I write the journal file to memory, which cost 1.6ms, and the ledger file
to disk,
it cost 200+ ms.


On Tue, Aug 26, 2014 at 11:19 AM, Sijie Guo <gu...@gmail.com> wrote:

> Could you explain how you profile the time? The ledger device isn't the
> dominated factor, The journal device is.
>
> - Sijie
>
>
> On Tue, Aug 26, 2014 at 9:13 AM, Jaln <va...@gmail.com> wrote:
>
> > Hi Sijie,
> > Thanks,
> > One of my result is
> > entrysize: 1k
> > Throttle: 10k
> > Latency is 1324.1137182178 ms
> > I also profile the time and find that the ledger device can contribute
> > 232 ms.
> >
> > I don't think the ledger device should cause any cost.
> >
> > Jialin
> >
> >
> > On Tue, Aug 26, 2014 at 10:59 AM, Sijie Guo <gu...@gmail.com> wrote:
> >
> > > The latency I think is between the client added the message and
> received
> > > acknowledge from quorum of bookies. Journal device will significantly
> > > affect the latency, Ledger device might slightly affect but not too
> much
> > > (it depends). If you are using only one disk for both ledger & journal
> > > devices, you will definitely get really bad disk behavior.
> > >
> > > At the mean time, your configuration on bookie journal (e.g. group
> commit
> > > interval, commit buffer) will also affect the latency.
> > >
> > > So for your case, please specify your environment and configuration, we
> > > will figure out why it takes to 2s.
> > >
> > > - Sijie
> > >
> > >
> > > On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com> wrote:
> > >
> > > > Hi,
> > > > I'm running the bookkeeper benchmark on a single node,
> > > > The latency is about 2s using one disk.
> > > > I would like to know how this latency is calculated,
> > > > is the `latency' the time between "client sent the write msg" and the
> > > > "write is committed on the journal devices and the ack code is
> > returned"?
> > > >
> > > > Does the ledger device affect the latency? Assuming ledger and
> journal
> > is
> > > > on
> > > > different disk.
> > > >
> > > > Best,
> > > > Jialin
> > > >
> > >
> >
>



-- 

Genius only means hard-working all one's life

Re: how the latency is computed

Posted by Sijie Guo <gu...@gmail.com>.
Could you explain how you profile the time? The ledger device isn't the
dominated factor, The journal device is.

- Sijie


On Tue, Aug 26, 2014 at 9:13 AM, Jaln <va...@gmail.com> wrote:

> Hi Sijie,
> Thanks,
> One of my result is
> entrysize: 1k
> Throttle: 10k
> Latency is 1324.1137182178 ms
> I also profile the time and find that the ledger device can contribute
> 232 ms.
>
> I don't think the ledger device should cause any cost.
>
> Jialin
>
>
> On Tue, Aug 26, 2014 at 10:59 AM, Sijie Guo <gu...@gmail.com> wrote:
>
> > The latency I think is between the client added the message and received
> > acknowledge from quorum of bookies. Journal device will significantly
> > affect the latency, Ledger device might slightly affect but not too much
> > (it depends). If you are using only one disk for both ledger & journal
> > devices, you will definitely get really bad disk behavior.
> >
> > At the mean time, your configuration on bookie journal (e.g. group commit
> > interval, commit buffer) will also affect the latency.
> >
> > So for your case, please specify your environment and configuration, we
> > will figure out why it takes to 2s.
> >
> > - Sijie
> >
> >
> > On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com> wrote:
> >
> > > Hi,
> > > I'm running the bookkeeper benchmark on a single node,
> > > The latency is about 2s using one disk.
> > > I would like to know how this latency is calculated,
> > > is the `latency' the time between "client sent the write msg" and the
> > > "write is committed on the journal devices and the ack code is
> returned"?
> > >
> > > Does the ledger device affect the latency? Assuming ledger and journal
> is
> > > on
> > > different disk.
> > >
> > > Best,
> > > Jialin
> > >
> >
>

Re: how the latency is computed

Posted by Jaln <va...@gmail.com>.
Hi Sijie,
Thanks,
One of my result is
entrysize: 1k
Throttle: 10k
Latency is 1324.1137182178 ms
I also profile the time and find that the ledger device can contribute
232 ms.

I don't think the ledger device should cause any cost.

Jialin


On Tue, Aug 26, 2014 at 10:59 AM, Sijie Guo <gu...@gmail.com> wrote:

> The latency I think is between the client added the message and received
> acknowledge from quorum of bookies. Journal device will significantly
> affect the latency, Ledger device might slightly affect but not too much
> (it depends). If you are using only one disk for both ledger & journal
> devices, you will definitely get really bad disk behavior.
>
> At the mean time, your configuration on bookie journal (e.g. group commit
> interval, commit buffer) will also affect the latency.
>
> So for your case, please specify your environment and configuration, we
> will figure out why it takes to 2s.
>
> - Sijie
>
>
> On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com> wrote:
>
> > Hi,
> > I'm running the bookkeeper benchmark on a single node,
> > The latency is about 2s using one disk.
> > I would like to know how this latency is calculated,
> > is the `latency' the time between "client sent the write msg" and the
> > "write is committed on the journal devices and the ack code is returned"?
> >
> > Does the ledger device affect the latency? Assuming ledger and journal is
> > on
> > different disk.
> >
> > Best,
> > Jialin
> >
>

Re: how the latency is computed

Posted by Sijie Guo <gu...@gmail.com>.
The latency I think is between the client added the message and received
acknowledge from quorum of bookies. Journal device will significantly
affect the latency, Ledger device might slightly affect but not too much
(it depends). If you are using only one disk for both ledger & journal
devices, you will definitely get really bad disk behavior.

At the mean time, your configuration on bookie journal (e.g. group commit
interval, commit buffer) will also affect the latency.

So for your case, please specify your environment and configuration, we
will figure out why it takes to 2s.

- Sijie


On Tue, Aug 26, 2014 at 8:27 AM, Jaln <va...@gmail.com> wrote:

> Hi,
> I'm running the bookkeeper benchmark on a single node,
> The latency is about 2s using one disk.
> I would like to know how this latency is calculated,
> is the `latency' the time between "client sent the write msg" and the
> "write is committed on the journal devices and the ack code is returned"?
>
> Does the ledger device affect the latency? Assuming ledger and journal is
> on
> different disk.
>
> Best,
> Jialin
>