qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith W <keith.w...@gmail.com>
Subject Re: Java Broker performance
Date Fri, 10 Nov 2017 14:41:47 GMT
Hi Tomas,

I'm testing with out of the box configuration.   I have tried your
configuration and still can't reproduce a slow down. I don't know your
ACL rules, but I added some.  The result was the same.
I'm curious to hear the answers to the questions I posed earlier.
Hopefully that will give us a clue.

Thanks Keith.


On 10 November 2017 at 13:51, Keith W <keith.wall@gmail.com> wrote:
> Hi Tomas,
>
> Nor can I reproduce any discernible difference in performance between
> 6.1.1 and the 7.0.0 RC with your Java code.  I have not tried the C++
> yet.
>
> Can you share with us:
>
> * details of the hardware (including the storage) you are using for the test.
> * the timings you seeing for your tests for both the 6.1.1 case and 7.0.0 RC
> * any extra JVM options you are passing either client or broker side.
> * size of java heap (client side) and heap and direct memory (broker)
>
> Can I suggest that you collect vmstat type information for both runs
> and compare?   My expectation is that CPU usage, disk I/O, and network
> utilisation should be approximately equal between the two runs.
>
> cheers, Keith
>
>
> On 10 November 2017 at 11:12, Rob Godfrey <rob.j.godfrey@gmail.com> wrote:
>> Hi Tomas,
>>
>> on the producing side I cannot reproduce this difference on my laptop
>> (MacBook Pro, running OS X), and I'm unaware of any changes that were made
>> to the broker that would cause such a significant slowdown (I haven't
>> looked at consuming yet).
>>
>> I presume you are running these tests on the same hardware, with the same
>> JMS client version, and such...?
>>
>> -- Rob
>>
>> On 10 November 2017 at 10:11, Rob Godfrey <rob.j.godfrey@gmail.com> wrote:
>>
>>> Thanks Tomas,
>>>
>>> we'll look into this
>>>
>>> -- Rob
>>>
>>> On 10 November 2017 at 09:59, Vavricka <vavricka.tomas@gmail.com> wrote:
>>>
>>>> C++ client code below
>>>>
>>>> #include <string>
>>>> #include <iostream>
>>>>
>>>> #include <proton/connection_options.hpp>
>>>> #include <proton/container.hpp>
>>>> #include <proton/default_container.hpp>
>>>> #include <proton/message.hpp>
>>>> #include <proton/message_id.hpp>
>>>> #include <proton/messaging_handler.hpp>
>>>> #include <proton/thread_safe.hpp>
>>>> #include <proton/tracker.hpp>
>>>> #include <proton/value.hpp>
>>>>
>>>> class Broadcaster : public proton::messaging_handler
>>>> {
>>>>
>>>>     private:
>>>>
>>>>         std::string _account;
>>>>         std::string _password;
>>>>         std::string _host;
>>>>         unsigned int _port;
>>>>         unsigned int _count;
>>>>         unsigned int _size;
>>>>         unsigned int _sent;
>>>>         unsigned int _confirmed;
>>>>         std::string _exchange;
>>>>         std::string _routingKey;
>>>>         proton::sender _sender;
>>>>
>>>>     public:
>>>>
>>>>     explicit Broadcaster(const std::string &account,
>>>>                          const std::string &password,
>>>>                          const std::string &host,
>>>>                          unsigned int port,
>>>>                          const std::string &exchange,
>>>>                          const std::string &routingKey,
>>>>                          unsigned int count,
>>>>                          unsigned int size)
>>>>         : _account(account)
>>>>         , _password(password)
>>>>         , _host(host)
>>>>         , _port(port)
>>>>         , _count(count)
>>>>         , _size(size)
>>>>         , _sent(0)
>>>>         , _confirmed(0)
>>>>         , _exchange(exchange)
>>>>         , _routingKey(routingKey)
>>>>     {
>>>>     }
>>>>
>>>>     void on_container_start(proton::container &c)
>>>>     {
>>>>         proton::connection_options connectionOptions;
>>>>         connectionOptions.sasl_allow_insecure_mechs(true);
>>>>         connectionOptions.sasl_allowed_mechs("PLAIN");
>>>>         c.client_connection_options(connectionOptions);
>>>>
>>>>         std::string url = "amqp://" + _account + ":" + _password + "@" +
>>>> _host + ":" + std::to_string(_port) + "/" + _exchange;
>>>>
>>>>         _sender = c.open_sender(url);
>>>>     }
>>>>
>>>>     void on_sendable(proton::sender &s)
>>>>     {
>>>>         while (s.credit() && _sent < _count)
>>>>         {
>>>>             proton::message msg;
>>>>             msg.id(_sent + 1);
>>>>             msg.subject(_routingKey);
>>>>             msg.body(std::string(_size, '*'));
>>>>             msg.durable(true);
>>>>             s.send(msg);
>>>>             _sent++;
>>>>             std::cout << "-I sent " << _sent << " of "
<< _count <<
>>>> std::endl;
>>>>         }
>>>>     }
>>>>
>>>>     void on_tracker_accept(proton::tracker &t)
>>>>     {
>>>>         _confirmed++;
>>>>         if (_confirmed == _count)
>>>>         {
>>>>             std::cout << "-I- All messages (" << _confirmed <<
")
>>>> confirmed"
>>>> << std::endl;
>>>>             t.connection().close();
>>>>         }
>>>>     }
>>>>
>>>>     void on_transport_close(proton::transport &t)
>>>>     {
>>>>         _sent = _confirmed;
>>>>     }
>>>>
>>>>     void run()
>>>>     {
>>>>         try
>>>>         {
>>>>             proton::default_container(*this).run();
>>>>         }
>>>>         catch (const std::exception &error)
>>>>         {
>>>>             std::cerr << "-E- Caught exception: " << error.what()
<<
>>>> std::endl;
>>>>             throw error;
>>>>         }
>>>>     }
>>>> };
>>>>
>>>> int main(void)
>>>> {
>>>>     Broadcaster("C7",
>>>>                 "C7",
>>>>                 "pc1wj611",
>>>>                 20001,
>>>>                 "broadcast",
>>>>                 "broadcast.C7_CashTransaction",
>>>>                 1000,
>>>>                 1024).run();
>>>>     return 0;
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936
>>>> .html
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
>>>> For additional commands, e-mail: users-help@qpid.apache.org
>>>>
>>>>
>>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message