Giter Site home page Giter Site logo

synca's People

Contributors

gridem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

synca's Issues

Рекомендации по конфигурированию тестовой среды

Согласно изложенному в статьях

https://habrahabr.ru/post/201826/
https://habrahabr.ru/company/yandex/blog/240525/

описанию работы проекта(плюс, естественно, сам код Synca) успешно скрестил синхронные сетевые интерфейсы нашей пользовательской библиотеки с другой нашей библиотекой асинхронного сетевого взаимодействия.

Tак как при работе условного сервера и множества(от нескольких сотен) условных клиентов на одной и той же машине упираемся в лимиты операционной системы(Ubuntu 14.04)

TCP: request_sock_TCP: Possible SYN flooding on port . Dropping request.  Check SNMP counters.

, то внезапно встал вопрос, при каких условиях было достигнуто значение в 30K RPS?

Cкладывается плохое ощущение что не помогают никакие тюнинги
net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_syncookies
net.core.somaxconn

Хотя судя по временным меткам сетевого дампа тех небольших успешных количеств запросов-ответов можно судить о том, что производительность в 30K RPS на одно ядро вполне себе реальна.

msvc 2013 need move ctor in Socket

While compilling on the msvc 2013, the following error occurs:
cl.exe /Zc:wchar_t /nologo /Wp64 /Ob0 /W3 /Gm /EHsc /Zi /GR /Gy /MDd /Fd".\snmp_intsd.pdb" /I "c:\Boost\include\boost-1_56" /I "..\include" /D _DEBUG /D AMD64 /D WIN32 /D _WINDOWS /D _WIN64 /D flagMSC /
_WIN32_WINNT=0x0501 /D BOOST_ASIO_HAS_MOVE /D _WINSOCK_DEPRECATED_NO_WARNINGS /c /Fo"Static_Debug\snmp_int\AMD64\network.obj" "network.cpp"
cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
network.cpp
c:\Boost\include\boost-1_56\boost/asio/detail/impl/socket_ops.ipp(1968) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
c:\Boost\include\boost-1_56\boost/asio/detail/impl/socket_ops.ipp(2172) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
c:\Boost\include\boost-1_56\boost/asio/basic_socket.hpp(1513) : error C2248: 'boost::asio::basic_io_object<SocketService,true>::basic_io_object' : cannot access private member declared in class 'boost::asio::basi
_io_object<SocketService,true>'
with
[
SocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
c:\Boost\include\boost-1_56\boost/asio/basic_io_object.hpp(230) : see declaration of 'boost::asio::basic_io_object<SocketService,true>::basic_io_object'
with
[
SocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
This diagnostic occurred in the compiler generated function 'boost::asio::basic_socket<Protocol,StreamSocketService>::basic_socket(const boost::asio::basic_socket<Protocol,StreamSocketService> &)'
with
[
Protocol=boost::asio::ip::tcp
, StreamSocketService=boost::asio::stream_socket_serviceboost::asio::ip::tcp
]
NMAKE : fatal error U1077: 'C:\sdk\msvc.13\VC\BIN\amd64\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\sdk\msvc.13\VC\BIN\amd64\nmake.exe' : return code '0x2'
Stop.

Error resolving, after adding moving Ctor:
Socket::Socket(Socket&& o) : socket(std::move(o.socket)) {}

Большое количество ошибок при некотором пороговом значении количества сопрограмм

Добрый день.

go([port] {

Если, к примеру, данный вызов go заменить на
for( int i = 130; i>0; --i ) { go([]{}, net ); }
то вывод valgrind будет содержать большое количество ошибок "Invalid write of size 8"(больше двухста)
Но при этом, при i==129 эти ошибки наблюдаться не будут.
Пороговое значение, конечно же, может отличаться в зависимости от машины, у меня 130 - на ubuntu 14.04 x86_64 gcc 5.4.1, чуть больше трёх тысяч на 17.10 x86_64 gcc 7.2.0.
В обоих случаях BOOST_LIB_VERSION "1_56"
Но остаётся непонятной причина такого поведения valgrind

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.