Код профилирования сильный>
Код: Выделить всё
#ifdef SEND_ASYNC_DEBUG
loge("SendNext, b4send, {}", tn.rdns()-starttime); // 4-150 max=1500ns
starttime = tn.rdns();
#endif
auto n = send(m_Socket, sendPtr, sendSize, MSG_NOSIGNAL);
#ifdef SEND_ASYNC_DEBUG
loge("SendNext, send, {}", tn.rdns()-starttime); // 3000-10000 max=20000ns
Код: Выделить всё
cd /opt/abc11 && ulimit -c unlimited && LD_PRELOAD="libvma.so /opt/omdc/libmimalloc.so.2.0" VMA_SPEC=latency VMA_MEM_ALLOC_TYPE=1 VMA_THREAD_MODE=1 VMA_RX_BYTES_MIN=2621440 VMA_RX_BUFS=2000000 VMA_INTERNAL_THREAD_AFFINITY=3 nice -n -20 /opt/abc11/abc /opt/abc11/abc.json
Код: Выделить всё
send(xxx,xxx,xxx,xxx)
вопроса
- Есть ли методы оптимизации для сокращения времени передачи сокета?
Я провел небольшое исследование, TCP/IP Отправка java.net.Socket займет около 5-7 мкс, я думал, что использование обхода ядра будет лучше (оптимизация производительности записи через сокет TCP/IP Java)
Подробнее здесь: https://stackoverflow.com/questions/792 ... timization
Мобильная версия