Hello, I tried to recompile trafficserver, linking libhwloc on Debian Wheezy and faced following issue: https://issues.apache.org/jira/browse/TS-1842
Which, unfortunately, has been closed as duplicate. My solution is to add @hwloc_LIBS@ into few Makefile.am files as described in joined patch. Of course I would like to contribute my (very little) patch and wonder which is the best solution: 1. re-open TS-1842 2. open a new issue For the patch, I'll create a branch on my github fork a ask for PR Any advice appreciated, Jean-Baptiste On 15/06/2014 22:32, jtomo...@yahoo.com.INVALID wrote: > Hi Baptiste, sorry my late return for your issue. > > I suggest some environment and software settings, considering 4GB of RAM and > 4 CPU threads: > > 1- check if ATS is linked with libhwloc library (ldd bin/traffic_server | > grep libhwloc) if not, recompile using it > > 2- remove irqbalance (for Ubuntu distro: sudo apt-get purge irqbalance) > > 3- reserve the last core (CPU3) to disk IRQs. In this case, distribute > network IRQs among all cores and set ATS threads to use the first 3 cores > (CPU0, CPU1, CPU2). > > # set disk IRQs to CPU3 > for DEV in vmw_pvscsi ata_piix; do > for IRQ in $(grep $DEV /proc/interrupts | cut -d: -f1 | sed "s/ //g"); do > echo 08 > /proc/irq/$IRQ/smp_affinity > done > done > > # distribute network IRQs among CPU0-CPU3 > IRQ_NET_1=$(grep eth0-rxtx-1 /proc/interrupts | cut -d: -f1 | sed "s/ //g") > IRQ_NET_2=$(grep eth0-rxtx-2 /proc/interrupts | cut -d: -f1 | sed "s/ //g") > IRQ_NET_3=$(grep eth0-rxtx-3 /proc/interrupts | cut -d: -f1 | sed "s/ //g") > echo 02 > /proc/irq/$IRQ_NET_1/smp_affinity > echo 04 > /proc/irq/$IRQ_NET_2/smp_affinity > echo 08 > /proc/irq/$IRQ_NET_3/smp_affinity > > 4- set these values at records.config : > CONFIG proxy.config.cache.ram_cache.size INT 3G > CONFIG proxy.config.cache.ram_cache_cutoff INT 4M > CONFIG proxy.config.exec_thread.limit INT 3 > CONFIG proxy.config.cache.threads_per_disk INT 12 > CONFIG proxy.config.task_threads INT 6 > > 5- also consider set these disk tweaks : > > # set noop scheduler for storage disks > for DEV in sdb sdc sdd; do > echo 1024 > /sys/block/$DEV/queue/nr_requests > echo noop > /sys/block/$DEV/queue/scheduler > echo 8192 > /sys/block/$DEV/queue/read_ahead_kb > done > > Feel free to post here your iostats -x 1 results after set these changes > > Cheers > Jay Tomolek