Check out the docs here:

https://geode.apache.org/docs/guide/10/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html

Just make sure the socket buffer sizes match the sender and receiver.

Charlie

On Tue, Nov 28, 2017 at 12:03 PM Amit Pandey <[email protected]>
wrote:

> Okay Thanks... What are the parameters to tune socket buffer ?
>
> On Wed, Nov 29, 2017 at 1:06 AM, Charlie Black <[email protected]> wrote:
>
>> Socket Buffers - good catch.
>>
>> On Tue, Nov 28, 2017 at 11:33 AM Udo Kohlmeyer <[email protected]>
>> wrote:
>>
>>> Another thing to keep in mind.... putAll does have notion of
>>> micro-batching... which means... in a partitioned region, the client will
>>> try and use single-hop semantics and only send the entries relevant to a
>>> server to that server...
>>> But as everybody else has already stated... you'll have test what is
>>> your "optimal" batch size AND ... maybe tune your buffers to match ....
>>>
>>> --Udo
>>>
>>> On Tue, Nov 28, 2017 at 11:21 AM, Charlie Black <[email protected]>
>>> wrote:
>>>
>>>> Sure 50 to 1000 key/values in a putAll - just add metrics and see what
>>>> works best for your environment.   The thing to think when trying to
>>>> achieve best performance think about amortizing network overhead and
>>>> parallelizing the storage request (putAll).
>>>>
>>>> I would like to point out more threads isn't necessarily better.
>>>>  Geode does a great job on making sure its kind to the network and
>>>> shuffling the data to right nodes.   So we have to think about is there
>>>> enough cores/horsepower to perform the unit of work from the client to
>>>> servers.
>>>>
>>>> Regards,
>>>>
>>>> Charlie
>>>>
>>>> On Tue, Nov 28, 2017 at 10:06 AM Amit Pandey <[email protected]>
>>>> wrote:
>>>>
>>>>> Thanks guy. Much appreciated.
>>>>>
>>>>> Charlie do you mean batches of say 50-100 for putAlls ?
>>>>>
>>>>> Regards
>>>>>
>>>>> On Tue, Nov 28, 2017 at 11:15 PM, Charlie Black <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Both are correct and incorrect at the same time - it depends on
>>>>>> your application, domain model, workload and physical environment.   I
>>>>>> would recommend adding some metrics and follow what Akihiro mentioned and
>>>>>> use what works for your environment.
>>>>>>
>>>>>> As a side note: I would also recommend trying smaller batches in
>>>>>> your testing.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Charlie
>>>>>>
>>>>>> On Tue, Nov 28, 2017 at 8:32 AM Amit Pandey <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Hey Thanks for the answer. I guess I didn't explain it correctly. I
>>>>>>> am not trying to do single puts from threads.
>>>>>>>
>>>>>>> So my situation is :-
>>>>>>>
>>>>>>> I can do 500 inserts from 10 threads via putAll
>>>>>>>
>>>>>>> or I can just collect them ( 5000) and do a putAll.
>>>>>>>
>>>>>>> Which one is the correct approach ?
>>>>>>>
>>>>>>> On Mon, Nov 27, 2017 at 8:07 AM, Akihiro Kitada <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello Amit,
>>>>>>>>
>>>>>>>> >Now my question is will it be faster to do it on the individual
>>>>>>>> threads and just return that they have completed the task so that they 
>>>>>>>> can
>>>>>>>> be sent back to the caller or the way we do it now I,e collect all 
>>>>>>>> data and
>>>>>>>> insert is better ?
>>>>>>>>
>>>>>>>> It depends on the workload and cluster configuration (data size,
>>>>>>>> num of data, num of threads, num of members, region type and so on)
>>>>>>>> although putAll could be more efficient in terms of throughput per 
>>>>>>>> threads.
>>>>>>>>
>>>>>>>> I recommend you to try both ways based on the possible workload and
>>>>>>>> configuration.
>>>>>>>>
>>>>>>>> Thanks, regards.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Akihiro Kitada  |  Staff Customer Engineer |  +81 80 3716 3736
>>>>>>>> <+81%2080-3716-3736>
>>>>>>>> Support.Pivotal.io <http://support.pivotal.io/>  |  Mon-Fri
>>>>>>>> 9:00am to 5:30pm JST  |  1-877-477-2269 <(877)%20477-2269>
>>>>>>>> [image: support] <https://support.pivotal.io/> [image: twitter]
>>>>>>>> <https://twitter.com/pivotal> [image: linkedin]
>>>>>>>> <https://www.linkedin.com/company/3048967> [image: facebook]
>>>>>>>> <https://www.facebook.com/pivotalsoftware> [image: google plus]
>>>>>>>> <https://plus.google.com/+Pivotal> [image: youtube]
>>>>>>>> <https://www.youtube.com/playlist?list=PLAdzTan_eSPScpj2J50ErtzR9ANSzv3kl>
>>>>>>>>
>>>>>>>>
>>>>>>>> 2017-11-26 0:33 GMT+09:00 Amit Pandey <[email protected]>:
>>>>>>>>
>>>>>>>>> Hey Guys,
>>>>>>>>>
>>>>>>>>> I have a question. So I have a function which calls some threads
>>>>>>>>> to get data to be inserted into a region. It collects all the data 
>>>>>>>>> and then
>>>>>>>>> puts them into a region with putAll.
>>>>>>>>>
>>>>>>>>> Now my question is will it be faster to do it on the individual
>>>>>>>>> threads and just return that they have completed the task so that 
>>>>>>>>> they can
>>>>>>>>> be sent back to the caller or the way we do it now I,e collect all 
>>>>>>>>> data and
>>>>>>>>> insert is better ?
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> --
>>>>>> [email protected] | +1.858.480.9722 <(858)%20480-9722>
>>>>>>
>>>>>
>>>>> --
>>>> [email protected] | +1.858.480.9722 <+1%20858-480-9722>
>>>>
>>>
>>>
>>>
>>> --
>>> Kindest Regards
>>> -----------------------------
>>> *Udo Kohlmeyer* | *Pivotal*
>>> [email protected]
>>> <http://www.gopivotal.com/>
>>> www.pivotal.io
>>>
>> --
>> [email protected] | +1.858.480.9722 <(858)%20480-9722>
>>
>
> --
[email protected] | +1.858.480.9722

Reply via email to