Поскольку все больше и больше компаний переходят на общедоступные облачные сервисы, мне любопытно, что вы, ребята, думаете о настройке TCP / IP в облаке. Стоит ли возиться? Учитывая, что у вас нет доступа к хост-серверу, вы несколько ограничены, я полагаю
Допустим, в качестве аргумента вы используете три сервера MongoDB в наборе реплик на FreeBSD или Linux, которые синхронизируются по внутренней сети.
Мне также было бы любопытно, проводил ли кто-нибудь реальные тесты производительности в поддержку своих аргументов. Я протестировал различные сетевые драйверы, доступные для KVM / Qemu. Вот, но мне любопытно, что здесь предлагают гуру для дальнейшей настройки.
Я начал немного поиграть с рекомендациями по настройке, как предлагалось выше. Вот, но, что интересно, я увидел снижение производительности, а не увеличение, но, возможно, я не полностью понял настройки.
Обновить: Я сделал еще несколько тестов и опубликовал результат Вот. К сожалению, результат оказался не таким, как я ожидал.
Я хотел бы отметить два момента, которые могут повлиять на ваши выводы.
1) просмотрите, что написано об автонастройке. Эта функция, которая, насколько я помню, впервые появилась в ядре Linux 2.6.18 и была улучшена в последующих ядрах. Проще говоря, это позволяет ядру динамически изменять те настройки tcp, к которым привыкли сетевые программисты. Google autotune linux. Также обратитесь к http://www.psc.edu/networking/projects/tcptune/?_sm_byp=iVVq2rrM1N2DqN0r#Linux
Краткая версия позволяет Linux настраивать параметры стека TCP за вас и не вмешиваться, так как это может ухудшить производительность.
Второй момент - это проверить версию KVM_QEMU, которую вы используете. Было много работы над производительностью, и в более ранних версиях VIRTIO_NET была ошибка, ограничивающая производительность в высокоскоростных сетях. Поскольку KVM_QEMU сейчас на 1.0, продолжайте.