Curl's detection of low-speed transfers creates a flood of timeout calls which significantly slows large transfers and increases CPU usage. This is fixed in https://github.com/curl/curl/commit/cacdc27f52 which is unfortunately not present on EL7. This PR checks the curl version and only enables the low-speed detection when libcurl is new enough to have the fix. Trying this patch on a production EL7 xrootd server which handles TPC requests, there was a significant drop in xrootd CPU usage: from ~100% busy, down to ~5%. To see if the system is likely being affected, look for the function `Curl_speedcheck` appearing frequently in the gstack output for `xrootd`. You can view, comment on, or merge this pull request online at: https://github.com/xrootd/xrootd/pull/941 -- Commit Summary -- * [XrdTpc] Only use Curl's low-speed-limit with libcurl v7.38 and later -- File Changes -- M src/XrdTpc/XrdTpcState.cc (13) -- Patch Links -- https://github.com/xrootd/xrootd/pull/941.patch https://github.com/xrootd/xrootd/pull/941.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/pull/941 ######################################################################## Use REPLY-ALL to reply to list To unsubscribe from the XROOTD-DEV list, click the following link: https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1