Hello!

Since Java is a garbage-collected language, you can expect that there will
be some timeouts.

You should really be targeting 99th while having reasonably large timeout.

Regards,

-- 
Ilya Kasnacheev

2018-07-06 11:44 GMT+03:00 胡海麟 <h...@bulbit.jp>:

> Hi,
>
> Thank you for your advice.
>
> We are checking if we can modify the connection part of the client.
>
> Meanwhile, we still have timeout issue on ignite.
> Our write timeout setting is 20ms, but timeout happens several times 1
> minute.
> The workload is like "Atomic Put, Throughput 100 - 150 Ops/Sec".
>
> https://www.gridgain.com/resources/benchmarks/gridgain-benchmarks-results
> According the benchmark above, single digital ms per op is expected.
>
> Since we use golang redis client to communicate with ignite, does it
> mean a great overhead?
> Or any other client suggestion for golang?
>
> Thanks.
>
> On Fri, Jul 6, 2018 at 12:42 AM, Ilya Kasnacheev
> <ilya.kasnach...@gmail.com> wrote:
> > Hello!
> >
> > I have no idea why your node has lost zookeeper connection, but my bet
> will
> > be that you still failed to close some of connections, and they have
> clogged
> > each and every available socket on your machine (which are still only
> 63k).
> >
> > Please make extra sure that when you open a socket, you close it
> regardless
> > of errors, etc.
> >
> > Regards,
> >
> > --
> > Ilya Kasnacheev
> >
> > 2018-07-05 13:33 GMT+03:00 胡海麟 <h...@bulbit.jp>:
> >>
> >> Hi,
> >>
> >> Challenged again and I'm back :)
> >>
> >> One of the node stopped for SEGMENTATION.
> >> The Zookeeper is used by other services, too. It is supposed working
> >> all the time.
> >>
> >> I'm not sure if raising session timeout of zookeeper work or not. Ask
> >> for suggestions.
> >>
> >> Thanks.
> >>
> >> On Thu, Jul 5, 2018 at 6:24 PM, Ilya Kasnacheev
> >> <ilya.kasnach...@gmail.com> wrote:
> >> > Hello!
> >> >
> >> > The config looks correct. I'll check why ConnectorConfiguration
> doesn't
> >> > have
> >> > proper string representation, hence:
> >> > https://issues.apache.org/jira/browse/IGNITE-8935
> >> >
> >> > Regards,
> >> >
> >> > --
> >> > Ilya Kasnacheev
> >> >
> >> > 2018-07-05 9:21 GMT+03:00 胡海麟 <h...@bulbit.jp>:
> >> >>
> >> >> Hi,
> >> >>
> >> >> I added the config above. But I don't know whether it is applied.
> >> >>
> >> >>
> >> >>
> >> >> connectorCfg=org.apache.ignite.configuration.ConnectorConfiguration@
> 7d8704ef
> >> >>
> >> >> There is such a piece of relevant info but no detail. Is there any
> way
> >> >> to confirm the details?
> >> >>
> >> >> Thanks.
> >> >>
> >> >> On Wed, Jul 4, 2018 at 7:25 PM, Ilya Kasnacheev
> >> >> <ilya.kasnach...@gmail.com> wrote:
> >> >> > Hello!
> >> >> >
> >> >> > You should add it to config/default-config.xml in the form of
> >> >> >
> >> >> >       <property name="connectorConfiguration">
> >> >> >         <bean
> >> >> > class="org.apache.ignite.configuration.ConnectorConfiguration">
> >> >> >           <property name="threadPoolSize" value="64"/>
> >> >> >         </bean>
> >> >> >       </property>
> >> >> >
> >> >> > inside IgniteConfiguration bean.
> >> >> >
> >> >> > Come to think of it, maybe your slowdown is caused not by thread
> >> >> > starvation
> >> >> > but by genuine locking due to repeated usage of the same keys. Are
> >> >> > you
> >> >> > sure
> >> >> > that you are using a lot of different keys and not just a couple
> >> >> > which
> >> >> > you
> >> >> > over-write over and over?
> >> >> >
> >> >> > Makes sense to try both.
> >> >> >
> >> >> > Regards,
> >> >> >
> >> >> > --
> >> >> > Ilya Kasnacheev
> >> >> >
> >> >> > 2018-07-04 13:19 GMT+03:00 胡海麟 <h...@bulbit.jp>:
> >> >> >>
> >> >> >> Hi,
> >> >> >>
> >> >> >> After googling for 1 hour to get nothing, I'm back for some basic
> >> >> >> knowledges.
> >> >> >>
> >> >> >> igniteConfiguration.setConnectorConfiguration(new
> >> >> >> ConnectorConfiguration().setThreadPoolSize(64))
> >> >> >>
> >> >> >> I suppose this is a piece of java code but I don't know how and
> >> >> >> where
> >> >> >> to execute it.
> >> >> >> I started the cluster with `bin/ignite.sh
> config/default-config.xml`
> >> >> >> and use golang written program as a client.
> >> >> >>
> >> >> >> Am I missing something?
> >> >> >>
> >> >> >> Thanks.
> >> >> >>
> >> >> >> On Wed, Jul 4, 2018 at 6:22 PM, Ilya Kasnacheev
> >> >> >> <ilya.kasnach...@gmail.com> wrote:
> >> >> >> > Hello!
> >> >> >> >
> >> >> >> > You can try increasing number of threads in REST thread pool by
> >> >> >> > setting
> >> >> >> > igniteConfiguration.setConnectorConfiguration(new
> >> >> >> > ConnectorConfiguration().setThreadPoolSize(64))
> >> >> >> > Or the corresponding Spring XML.
> >> >> >> >
> >> >> >> > This is as per https://apacheignite.readme.io/docs/rest-api
> >> >> >> >
> >> >> >> > Regards,
> >> >> >> >
> >> >> >> > --
> >> >> >> > Ilya Kasnacheev
> >> >> >> >
> >> >> >> > 2018-07-04 12:04 GMT+03:00 胡海麟 <h...@bulbit.jp>:
> >> >> >> >>
> >> >> >> >> Hi,
> >> >> >> >>
> >> >> >> >> Here is the thread dump.
> >> >> >> >>
> >> >> >> >> Thank you.
> >> >> >> >>
> >> >> >> >> On Wed, Jul 4, 2018 at 5:52 PM, Ilya Kasnacheev
> >> >> >> >> <ilya.kasnach...@gmail.com> wrote:
> >> >> >> >> > Hello!
> >> >> >> >> >
> >> >> >> >> > Can you provide the thread dump collected when the system is
> >> >> >> >> > under
> >> >> >> >> > peak
> >> >> >> >> > load?
> >> >> >> >> >
> >> >> >> >> > I think it's some other thread pool, such as client pool or
> >> >> >> >> > management
> >> >> >> >> > pool,
> >> >> >> >> > but have to take a look at the thread dump to be sure.
> >> >> >> >> >
> >> >> >> >> > Regards,
> >> >> >> >> >
> >> >> >> >> > --
> >> >> >> >> > Ilya Kasnacheev
> >> >> >> >> >
> >> >> >> >> > 2018-07-04 11:33 GMT+03:00 胡海麟 <h...@bulbit.jp>:
> >> >> >> >> >>
> >> >> >> >> >> Hi,
> >> >> >> >> >>
> >> >> >> >> >> We use ignite as a redis server.
> >> >> >> >> >>
> >> >> >> >> >> The use case is
> >> >> >> >> >> a. Write timeout is 15ms on the client side.
> >> >> >> >> >> b. 2 server nodes. each is an EC2 r4.4xlarge instance.
> >> >> >> >> >> c. Write req/s is about 120,000. In another word, 60,000 for
> >> >> >> >> >> each
> >> >> >> >> >> node.
> >> >> >> >> >>
> >> >> >> >> >> The problem is that timeout happens frequently, several ones
> >> >> >> >> >> per
> >> >> >> >> >> second.
> >> >> >> >> >> A lower write req/s results less timeout. I guest we have
> >> >> >> >> >> bottleneck
> >> >> >> >> >> somewhere.
> >> >> >> >> >>
> >> >> >> >> >> ==========
> >> >> >> >> >> $ tail -f
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> /opt/apache-ignite-fabric-2.5.0-bin/work/log/ignite-
> ee4f25ed.0.log
> >> >> >> >> >> | grep pool
> >> >> >> >> >>     ^-- Public thread pool [active=0, idle=0, qSize=0]
> >> >> >> >> >>     ^-- System thread pool [active=0, idle=16, qSize=0]
> >> >> >> >> >> ==========
> >> >> >> >> >> system thread pool seems not busy at all.
> >> >> >> >> >>
> >> >> >> >> >> ==========
> >> >> >> >> >> $ tail -f
> >> >> >> >> >>
> >> >> >> >> >>
> >> >> >> >> >> /opt/apache-ignite-fabric-2.5.0-bin/work/log/ignite-
> ee4f25ed.0.log
> >> >> >> >> >> | grep "CPU "
> >> >> >> >> >>     ^-- CPU [cur=14.77%, avg=6.21%, GC=0%]
> >> >> >> >> >>     ^-- CPU [cur=13.43%, avg=6.23%, GC=0%]
> >> >> >> >> >> ==========
> >> >> >> >> >> CPU is not busy, either.
> >> >> >> >> >>
> >> >> >> >> >> We expected milli second level performance and we have too
> >> >> >> >> >> many
> >> >> >> >> >> timeout
> >> >> >> >> >> now.
> >> >> >> >> >> Any idea for optimizing the performance?
> >> >> >> >> >>
> >> >> >> >> >> Thanks.
> >> >> >> >> >
> >> >> >> >> >
> >> >> >> >
> >> >> >> >
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>

Reply via email to