Слияние кода завершено, страница обновится автоматически
**Создание высоконагруженного клиентского приложения, осуществляющего одновременные запросы к TCP-сокету: вариант использования для нагрузочного тестирования** **Установка:** * Без использования библиотеки jemalloc: * gcc -g -o test common.c config.c flog.c ngx_rbtree.c ngx_event_timer.c zmalloc.c test.c * С использованием библиотеки jemalloc: 1. Установка библиотеки jemalloc (на примере компиляции с Redis): * 1.1 Скачивание архива jemalloc-3.6.0.tar.bz2 в текущую директорию с помощью команды wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2. * 1.2 Распаковка архива командой tar xf jemalloc-3.6.0.tar.bz2; cd jemalloc. * 1.3 Настройка сборки с параметрами --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" командой ./configure. * 1.4 Сборка библиотеки командой make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a. 2. Компиляция программы с использованием библиотеки jemalloc и параметров компиляции: * gcc -DUSE_JEMALLOC -I./jemalloc/include/ -g -o test common.c config.c flog.c ngx_rbtree.c ngx_event_timer.c zmalloc.c test.c jemalloc/lib/libjemalloc.a -ldl -lpthread -lrt. **Высокопроизводительное клиентское приложение:** Использование epoll для асинхронного неблокирующего режима работы, реализация высокой производительности на одном потоке по аналогии с механизмом событий nginx с добавлением неблокирующих таймеров. **Примечание:** 1. Для удобства чтения и записи обрабатываются только запросы и ответы с протоколом 4-байтного заголовка и тела. Более сложные протоколы требуют индивидуальной реализации в соответствии с конкретными требованиями. 2. Тестовые данные запросов предварительно генерируются и загружаются в память для повышения эффективности. 3. Логическая проверка не выполняется, обработка содержимого возвращаемых значений не производится, и единичное тестирование не проводится. 4. Программа имеет простую и эффективную функциональность, которая может быть легко модифицирована для непосредственного использования или служить источником кода для вторичного развития.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )