Friday, May 18, 2018

How can I be sure that an application is on right send/rcv flow?

Let's suppose the following (egress) flow:

[app (nginx)]-->[send_buffer(tcp_wmem)]-->(qdisc txqueuelen)-->[tx_ring]<--(dma)-->[nic]

For the tx_ring buffer I can use the driver script to ensure the affinity and for the qdisc I can use fq_codel but for the application (nginx) I do have cpu_worker_affinity but how I can make sure that the nginx worker N on CPU/core X is on the same (network) flow of X ?

Do the nginx worker N running on X always get the send/rcv buffer of X? (ensured by the kernel?)



No comments:

Post a Comment