Hi james;

In the beginning of my investigation I've set the all interfaces ring
buffer size max value of the ethernet cards ( which is 4078 by using
ethtool -g). And also I've increased the socket buffer size by using kernel
parameters as is below.
 net.core.rmem_default=536870912
net.core.wmem_default=536870912
net.core.rmem_max=536870912
net.core.wmem_max=536870912
net.ipv4.tcp_mem=268435456 268435456 268435456
net.ipv4.tcp_rmem=268435456 268435456 268435456
net.ipv4.tcp_wmem=268435456 268435456 268435456

I've increased the some of the queue size as is below:
net.core.netdev_max_backlog = 300000
net.core.somaxconn = 65535
net.ipv4.tcp_max_orphans = 268435456
net.ipv4.tcp_max_syn_backlog = 268435456

Also kernel shared memory size.

kernel.shmmax = 16000000000
kernel.shmall = 4000000000

After these setting I saw the increasing "segment retransmited" and
 "packets collapsed in receive queue due to low socket buffer" lines on the
"netstat -st" output.
I think there are timeout values or other parameter settings which triggers
the above failures.

Do you have any idea?
Best Regards,
Ergin


On Sat, Oct 25, 2014 at 1:46 AM, James Peach <jpe...@apache.org> wrote:

>
> > On Oct 24, 2014, at 12:52 AM, Ergin Ozekes <ergin.oze...@gmail.com>
> wrote:
> >
> > Hi All;
> >
> > My problem's solution is as below:
> >
> >
> ##############################################################################
> > # Buffer size
> >
> ##############################################################################
> > CONFIG proxy.config.net.sock_recv_buffer_size_in INT 10485760
> > CONFIG proxy.config.net.sock_recv_buffer_size_out INT 10485760
> > CONFIG proxy.config.net.sock_send_buffer_size_in INT 10485760
> > CONFIG proxy.config.net.sock_send_buffer_size_out INT 10485760
>
> Great! You might want to check the buffers on your network adaptors as
> well (ethtool -g IIRC)
>
> >
> > Best Regards,
> > Ergin
> >
> > On Thu, Oct 23, 2014 at 6:33 PM, Ergin Ozekes <ergin.oze...@gmail.com>
> > wrote:
> >
> >> Hi all;
> >>
> >> In according to my investigation on the ats read
> >> performance,NetHandler::mainNetEvent  is the top function. On my system
> >> lots of buffer over run is exist. In my system net input interface has
> 250
> >> Mbps traffic but on the client output only 125 Mbps is exist. Half of
> the
> >> downloaded content is returning to client.
> >>
> >> Does anyone knows the reason of this case?
> >> And how can I fixe it?
> >>
> >> This is the "perf top" output:
> >>  4.82%  libpcre.so.3.13.1        [.] match
> >>
> >>
> >>  3.27%  [kernel]                 [k] native_write_msr_safe
> >>
> >>
> >>  2.09%  [kernel]                 [k] ipt_do_table
> >>
> >>
> >>  1.60%  [kernel]                 [k] __schedule
> >>
> >>
> >>  1.57%  [kernel]                 [k] menu_select
> >>
> >>
> >>  1.43%  libc-2.13.so             [.] 0x00000000000e92b0
> >>
> >>
> >>  1.35%  [kernel]                 [k] find_busiest_group
> >>
> >>
> >>  1.16%  traffic_server           [.] EThread::execute()
> >>
> >>
> >>  1.12%  [kernel]                 [k] copy_user_generic_string
> >>
> >>
> >>  1.10%  [kernel]                 [k] nf_iterate
> >>
> >>
> >>  1.04%  [kernel]                 [k] _raw_spin_lock_irqsave
> >>
> >>
> >>  1.03%  [kernel]                 [k] int_sqrt
> >>
> >>
> >>  *1.02%  traffic_server           [.] NetHandler::mainNetEvent(int,
> >> Event*)*
> >>
> >>  0.96%  [bnx2x]                  [k] bnx2x_rx_int
> >>
> >>
> >>  0.93%  [kernel]                 [k] _raw_spin_lock
> >>
> >>
> >>  0.90%  [kernel]                 [k] htable_selective_cleanup
> >>
> >>
> >>  0.86%  [kernel]                 [k] cpuidle_enter_state
> >>
> >>
> >>  0.83%  [kernel]                 [k] enqueue_task_fair
> >>
> >>
> >>  0.83%  [kernel]                 [k] tcp_packet
> >>
> >>
> >>  0.76%  [kernel]                 [k] apic_timer_interrupt
> >>
> >>
> >>  0.76%  [kernel]                 [k] timerqueue_add
> >>
> >>
> >>  0.76%  [kernel]                 [k] idle_cpu
> >>
> >>
> >>  0.71%  [bnx2x]                  [k] bnx2x_start_xmit
> >>
> >>
> >>  0.67%  [kernel]                 [k] rb_erase
> >>
> >>
> >>  *0.64%  traffic_server           [.] read_from_net(NetHandler*,
> >> UnixNetVConnection*, EThread*)   *
> >>
> >>
> >>
> >> On Thu, Oct 23, 2014 at 12:33 PM, Ergin Ozekes <ergin.oze...@gmail.com>
> >> wrote:
> >>
> >>> Hi all;
> >>>
> >>> My current working network bandwidth is 350 Mbps.
> >>> My netstat -st output prints out below value increasingly.
> >>>
> >>>    1555903887 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555908175 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555912925 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555920054 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555929162 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555938162 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555945682 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555951783 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555959318 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555962474 packets collapsed in receive queue due to low socket
> buffer
> >>>    1555969574 packets collapsed in receive queue due to low socket
> buffer
> >>>
> >>> I've increased to socket buffer size, backlog queue size and memlock
> >>> value was set to unlimited for ats user. How can I fix it completely?
> >>> BTW, How can I increase read from socket(connection) performance of the
> >>> ATS?
> >>>
> >>>
> >>> Best Regards,
> >>> Ergin Ozekes
> >>>
> >>> On Thu, Oct 23, 2014 at 12:16 PM, Ergin Ozekes <ergin.oze...@gmail.com
> >
> >>> wrote:
> >>>
> >>>> Hi all;
> >>>>
> >>>> My current working network bandwidth is 350 Mbps.
> >>>> My netstat -st output prints out below value increasingly.
> >>>>
> >>>>    1555903887 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555908175 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555912925 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555920054 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555929162 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555938162 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555945682 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555951783 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555959318 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555962474 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>    1555969574 packets collapsed in receive queue due to low socket
> >>>> buffer
> >>>>
> >>>> I've increased to socket buffer size, backlog queue size and memlock
> >>>> value was set to unlimited for ats user. How can I fix it completely?
> >>>>
> >>>> Best Regards,
> >>>> Ergin Ozekes
> >>>>
> >>>
> >>>
> >>
>
>

Reply via email to