Бенчмаркинг Apache с использованием ab

Я выполнял некоторые тесты производительности для Apache, используя ab. Apache в нашем случае работает только как балансировка балансировки нагрузки между двумя серверами Liferay.

Первоначально я тестировал 1000 запросов с 100 одновременными запросами. Тесты прошли хорошо.

Но когда я выполняю тесты для 500 одновременных пользователей с 1000 запросами, тесты не выполнялись.

$ ab -c 500 -n 1000 http://103.XXX/web/guest/statistics This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, Benchmarking (be patient) Completed 100 requests Completed 200 requests Completed 300 requests apr_socket_recv: Connection timed out (110) Total of 386 requests completed 

В ядре можно увидеть следующее сообщение.

 May 13 14:21:15 www kernel: possible SYN flooding on port 80. Sending cookies. 

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

 # echo "1024" > /proc/sys/net/core/somaxconn # echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_backlog 

У нас есть кампания, в которой мы ожидаем большое количество обращений к нашему серверу. Поскольку тесты были неудачными, мы несколько обеспокоены тем, сможет ли наш сервер загружать нагрузку. Мы ожидаем около 500-700 одновременных запросов за один день во время кампании.

Просьба предложить, как улучшить производительность сервера для загрузки.

One Solution collect form web for “Бенчмаркинг Apache с использованием ab”

для целей тестирования вам следует отключить syn_cookies:

 echo 0 > /proc/sys/net/ipv4/tcp_syncookies 

Но снова включите их, если все будет готово!

Если сервер не может взять нагрузку, вам нужно оптимизировать ваш webapp, настроить свою конфигурацию, использовать какое-то кэширование или использовать более одного сервера, на котором работает loadbalancer. Я не могу больше говорить о деталях, потому что это сильно зависит от вашего приложения и рабочей нагрузки, которую вы ожидаете. Возможно, вам стоит взглянуть на такие проекты, как nginx или лак. Есть ли база данных в вашем бэкэнде? Может быть, это может быть и сапожка …

  • Как я могу настроить систему, не отвечающую на эхо-запросы ICMPv6, отправленные на широковещательный адрес
  • Как ограничить диапазон портов в Ubuntu 14.04?
  • Восстановить часть пакета, который был случайно удален
  • Параметры настройки ядра Linux +
  • Как отменить настройки ядра?
  • Почему перезагрузка / proc / sys не является глобальной или не сохраняется в пространстве имен в сети внутри LXC
  • Просмотр текущих параметров ядра?
  • Почему я не могу подключить `strace` к процессу kworker?
  • не может прочитать ключ «net.ipv6.conf.all.stable_secret» в sysctl?
  • отключить прозрачные огромные страницы
  • Кукольная проблема с sysctl
  • Interesting Posts

    Что означает пара круглых скобок после строкового литерала?

    Вставка разделителя в файл

    Существует ли крючковая система для оболочки?

    Возможно ли иметь несколько виртуальных машин с одним и тем же (гостевым) ip на одном хосте?

    не может удалить файл, начинающийся с символа '-'

    lofiadm: пароль через скрипт

    Как изменить (увеличить) количество строк на экране?

    overcommit_memory и overcommit_ration

    Почему переменная видима в подоболочке?

    Замените файл с разделителями-запятыми на канал, но не удаляйте запятую или кавычки и т. Д. В поле определения текста, однако удалите спецификатор текста!

    Как узнать свободное пространство на LVM PV в человекообразном формате?

    Есть ли атрибут udev / что-то, определяющее, является ли устройство USB-накопителем или нет?

    KSH – встроенный метод getopts неизвестный параметр

    Невозможно прокрутить терминал в CLI Fedora

    Распределение Linux для начинающего пользователя Windows 7 с хорошей совместимостью

    Linux и Unix - лучшая ОС в мире.