Category Archives: Тестирование работы

Настройка кеширования страниц в PHP: XCACHE

Значительного прироста производительности веб-сервера можно достичь, если использовать акселератор PHP-кода. Для его установки необходимо выполнить команду:

Настраиваем кеш: Файл настройки /etc/php5/apache2/conf.d/xcache.ini.

Также можно указать число ядер вашего процессора:

понятно, что это для 2-х процессоров.


Источник: http://help.ubuntu.ru/wiki/web-server

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

3D визуализация и интерьер

Разгоняем WordPress до скорости света

7337481781ba67dec1Скорость и отказоустойчивость – одни из тех факторов, что неизменно влияют на популярность вашего ресурса, ведь даже с лучшим в мире контентом медленно работающий сайт будет раздражать читателей и рано или поздно вы их потеряете. В этой статье мы будем оптимизировать самый популярный блоговый движок — WordPress, работающий на PHP. А заодно рассмотрим несколько общих моментов в оптимизации сайтов.

1 Тестируем текущую скорость

Чтобы узнать изменилось ли что-нибудь после нашей оптимизации, не помешает замерять для начала текущую скорость загрузки страниц блога, чтоб было с чем сравнивать. Есть несколько инструментов, которые помогут сделать это:

1.1 Pingdom

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

habr1Бенчмарк одного довольно известного ресурса.

1.2 YSlow

YSlow– плагин для Firefox, который встраивается в, пожалуй лучший плагин для веб разработчика, Firebug. Он анализирует более 20 факторов, которые влияют на скорость работы сайта и оценивает общую производительность по 100 бальной системе, а каждый отдельный элемент оценкой от A до F.

habr2

1.3 Количество запросов и время их выполнения

Вставив небольшой кусок PHP кода, можно вывести в футер количество запросов к БД и время, затраченное на их выполнение.

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.

 

2 Web Hosting

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

  • Shared Hosting – на одном сервере может хоститься в среднем около 100 человек;
  • VPS – на одном сервере может хоститься около 20 человек;
  • Dedicated – сервер будет использоваться только вами.

Чтоб просмотреть примерную нагрузку на сервер, залогиньтесь через ssh и введите в консоли команду top.

Это, конечно, не означает, что вы не сможете ускорить блог, работающий на виртуальном хостинге(Shared Hosting), однако стоит помнить – производительность тем выше, чем большие ресурсы мы имеем в своем распоряжении.

Не последнюю роль играет также и географическое положение сервера, потому всегда нужно примерно представлять свою целевую аудиторию. Например, если это русскоязычные пользователи – не стоит покупать американский хостинг и т.д.

3 Установка и настройка сервера

Удостоверьтесь, планируемая нагрузка соответствует мощности сервера и он сможет с ней справиться. В первую очередь это будет зависеть от объема оперативной памяти и процессора. Как правило, WordPress ставят на Apache, но много удачных решений существует и на базе других http серверов: nginx, lighttpd и т.д.

Не забудьте обновить до последней версии PHP и Apache.

3.1 Отключите неиспользуемые сервисы

Вы можете получить больше доступной оперативной памяти, отключив неиспользуемые службы и оптимизировав MySQL и Apache.

  • Удалите ClamD;
  • Настроить SpamD на использование только 1 дочернего процесса;
  • Удалите Mailman, если, конечно, вы не собираетесь запускать почтовый сервис.

 

3.2 MYSQL Query Cache

Поскольку стабильность и скорость WordPress довольно сильно зависит от работы БД, стоит убедиться, что настройки в my.cnf соответствуют возможностям сервера. В первую очередь следует установить настройки кэширования запросов, добавив в my.cnf следующие строки:

query_cache_type = 1
query_cache_limit = 2M
query_cache_size = 20M

Чтоб настройки вступили в силу придется перезапустить сервис MySQL сервис.

3.3 Кэш компилятора: XCache или Eaccelerator?

Кэш компилятора увеличивает производительность откомпилированных скриптов на сервере, кэшируя их – это поможет сократить время выполнения PHP скриптов. Стоит попробовать и то и другое решение, однако по результатам опытов увеличение производительности при использовании Xcache на 5% выше, чем с Eaccelerator.

3.4 Увеличьте максимальное число соединений на Apache

Увеличение максимального количества соединений в httpd.conf повысит производительность, т.к. сервер сможет обрабатывать большее количество подключений за раз. Однако, следует изменять этот параметр осторожно, дабы не исчерпать весь объем оперативной памяти и не замедлить работу сервера, потому всегда тестируйте новые настройки прежде чем запускать их в работу. Установим к примеру 150 коннектов:

max_connections = 150

Не забудьте рестартить сервис Apache, чтоб применить настройки.

4 Оптимизация кода и графики

Итак, сервер заработал и теперь настало самое время поиграть с кодом WordPress.

4.1 Отключите хотлинки

Каждый раз когда вы используете свой сервер для хранения изображений вы существенно больше используете его ресурсов. Довольно часто люди заимствуют ваши изображения, ставя хотлинки на своих серверах. Это не только занимает канал, но и создает определенную нагрузку на сервер.
Добавьте следующий код в .htaccess файл, заменив example.com на имя вашего домена, чтобы отключить использование хотлинков:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?example\.com/.*$ [NC]
RewriteRule .*\.(gif|jpg|png|ico)$ - [F,L]
</ifModule>

 

4.2 Используйте внешний хостинг для хранения изображений

Хостинг изображений на внешних серверах поможет значительно снизить нагрузку на сервер. В примере ниже вы можете видеть снижение объема используемой оперативной памяти на одном из блогов после переноса изображений на сервис Amazon S3.

amazons3images

4.3 Сжимайте java-скрипт код

Сжатие javascript довольно простая задача. Поскольку он выполняется при каждом просмотре страницы, вы можете уменьшить размер Javascript, удалив все незаполненное пространство. Вот простой инструмент, который поможет сделать это за вас — JavaScript Compressor.

4.4 Javascript в начале страницы

Часто случается так, что сайт начинает загружаться медленно или вообще останавливается, т.к. другой ресурс, с которого вызывается javascript(на пример Digg badges, Tweetmeme и т.д.), не доступен или оффлайн. Чтобы избежать этого вынесите весь javascript код в конец страницы, а то что по каким-то причинам вынести не удалось – попробуйте заключить в iFrame.

4.5 Используйте кэш браузера

Сам по себе кэш браузера, конечно не сделает ваш блог быстрее, однако поможет снизить нагрузку на сервер, кэшируя часто загружаемые объекты(стили, элементы интерфейса и т.п.).
Попробуйте вставить следующий код в .htaccess файл:

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>

 

4.6 Сжимайте статические данные

Вы можете уменьшить размер загружаемой страницы позволив браузеру принимать и передавать данные в сжатом виде. Это также снизит загрузку канала и количество загружаемых данных.
Следующий код в .htaccess может помочь вам в этом:

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

 

4.7 Используйте CDN для статических файлов

Если хранить все изображения на одном и том же домене, то браузер будет ожидать их загрузки одного за другим. Допустим на странице их у вас есть 12 штук, если вы разделите их между тремя поддоменами, они будут загружаться одновременно из трех «разных» источников вместо того, чтоб загружаться браузером по очереди из одного.
Можете попробовать перенести все css & javascript файлы на files.yoursite.com, а изображения и временные файлы на static.yoursite.com. Или же просто использовать CDN(Content Delivery Network) – большая сеть серверов, расположенных по всему миру, которые позволят не только хранить ваши файлы на разных поддоменах, а значит загружать их параллельно, но и доставлять пользователю данные с самого близкого к нему сервера. Все это позволит загружать данные намного быстрее.

5 WordPress

В этой части статьи мы рассмотрим приемы для улучшения производительности, которые можно применить непосредственно к WordPress.

5.1 Обновитесь до последней версии

Обновления до более новых версий позволяют не только устранять обнаруженные уязвимости, но и улучшают производительность. Для примера в wordpress 2.8 была существенно оптимизирована работа с БД.

5.2 Отключите Post Revisions

Во всех версиях wordpress, начиная с 2.6, редакции ваших статей каждый раз во время правки автоматически сохранялись. Это замедляет работу БД и увеличивает ее размер без особой надобности.
Чтоб отключить post revisions, добавьте следующую строку в wp-config.php:

define('WP_POST_REVISIONS', false);

Чтобы удалить сохраненные ранее ревизии текста, выполните следующий запрос в PHPmyadmin:

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

 

5.3 Сократите количество запросов

Уберите ненужные запросы, чтоб ускорить генерацию страницы. Например, следующий типичный код, встречающийся во всех темах для wordpress:

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />

Мы запросто можем переписать в:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Уже на два запроса меньше. Довольно просто, не правда ли?

6 WordPress Plugins

И на последок предлагаю вашему вниманию несколько плагинов, которые могут повысить производительность wordpress. Как только все, описанное выше, будет выполнено, эти плагины помогут добиться еще более высокой производительности.

WP Super Cache
Это, пожалуй, лучший плагин к WordPress. WP Super Cache создает статические html версии каждой страницы и загружает их каждый раз, обходясь тем самым без запросов к БД. Это значительно увеличивает скорость загрузки страниц и снижает нагрузку на сервер. Строго рекомендуется к установке.

PHP Speedy WP
Этот плагин решает другую проблему, обозначенную в этой статье – удаление незаполненного пространства в CSS & javascript. Однако есть некоторые проблемы совместимости этого плагина с WP Super Cache, кроме того он долгое время уже не обновлялся, потому используйте на свой страх и риск.

Optimize DB
Плагин позволяет оптимизировать таблицы MySQL без помощи PHPmyadmin.


Источник: http://habrahabr.ru/post/69046/

Разработка и создание сайтов, интернет-магазинов, веб-приложений, порталов, лэндингов, мобильных приложений (Киев)

Нагрузочный тест 1С8.2 и 1С8.3 Гилева

Предыстория

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

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

Большинство существующих методов оценки производительности основывается на том или ином типе тестирования.

Можно выделить два основных типа тестирования: компонентное и интегральное.

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

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

tcp4

Зеленый цвет графика в совокупности с некоторыми условно выбранными за эталоны показателями справа позволяет сделать кроссплатформенную обобщенную оценку «неплохой» производительности.

Как радоваться результатам теста

Вы получили в качестве результата некий индекс производительности (скорости). Не важно, хороший или плохой результат — это результат работы ПЛАТФОРМЫ на вашем «железе». В случае клиент — серверного варианта это результат сложной цепочки прохождения запросов по различным участкам. Вы получаете общий фактический результат, который определяется самым узким местом в системе. Узкое место есть всегда.

Другими словами, и настройки СУБД, и настройки ОС, и оборудование оказывают влияние на общий командный результат.

Какой сервер лучше

Данный тест, выполненный на конкретном сервере, дает результат по совокупности настроек hardware, операционной системы, субд и т.д. Тем не менее высокий результат на конкретном серверном оборудовании означает, что при соблюдении нормальных условий такой же результат будет на идентичном серверном оборудовании. Данный тест является бесплатной помощью в возможности сравнить установку 1С:Предприятие под Windows и Linux, три различных СУБД, поддерживаемых платформой 1С:Предприятие 8.

Безопасность теста

Тест абсолютно безопасен. Он не приводит к «падению» сервера (отсутствует «стресс»-алгоритм) и не требует предварительных мероприятий даже на «боевом» сервере. Конфиденциальных данных в результаты теста также не записываются. Собирается информация о параметрах CPU, RAM, HDD. Серийные номера устройств не собираются. Во всем этом можно легко убедиться — код теста 100% открыт. Никакой пересылки информации без вашего ведома невозможно.

Классификация TPC-A-local Throughput / TPC-1C-GILV-A

Тест относится к разделу универсальных интегральных кроссплатформенных тестов. Даже более того, он применим для файлового и клиент-серверного вариантов эксплуатации 1С:Предприятие. Тест работает для всех СУБД, поддерживаемых 1С.

Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы.

С другой стороны это означает, что для точных расчетов заказного проекта тест позволяет сделать предварительную оценку перед специализированным нагрузочным тестированием .

Скачать тест

Данный тест не является коммерческим  и его можно скачать бесплатно для 8.2  и бесплатно для 8.3

Технические подробности

Что происходит в тесте в рамках «одного» такта операции?

Пример исполнения sql-команд можно посмотреть в приложенном файле.

Особенности использования теста на субд PostgreSQL

Установите значение параметра standard_conforming_strings в конфигурационном файле postgresql.conf в значение ‘off’

Как замерить загруженность железа

Надо отметить, что сам по себе тест уже частично выполняет замер. Для более детальной картины рекомендую воспользоваться утилитой Марка Русиновича Process Explorer.

pe1На рисунке показан пример замера для файлового варианта.


Источник: http://www.gilev.ru/tpc1cgilv/

Услуги программирования в 1С. Киев

Дизайн интерьеров

Тестирование скорости сервера в Linux Ubuntu

Автор: Рудюк С . А.
https://corp2.net

E-Mail: rs@corp2.net

Заметил, что скорость на сервере все время маленькая — почему-то не превышает 10 Мбит/с, в то время, как должна достигать 100 МБит/с. Долго думал, что это из-за того, что у пользователей маленькая скорость, но… Вот у меня локальный интернет 80МБит/с и скорость все настолько же низкая: 0,8-2Мбит/с.

Начал искать причину. Протестировал локальный интернет на своем компьюетере с помощью сайта http://www.speedtest.net/.
Показатели, конечно, меньше 80МБит/с, но в целом — выше на порядок, чем между сервером и локальным компьютером: 20-40Мбит/с…

Как же протестировать сервер ?
Как оказалась, есть такая замечательная команда iperf.

Устанавливаем iperf на сервере:
apt-get install iperf

На клиентском компьютере, если он под Linux выполняем тоже данную команду. В случае же Windows ставим версию для Винды:
http://iperf.ru/wp-content/uploads/2009/07/jperf-2.0.0.zip

Теперь, запускаем на сервере сервис:
iperf -s

Выполняем на клиенте:
iperf -c НазваниеВашегоСервера -P 20
Расшифровка ключей.
-с — указывает на компьютер с которым происходит передача данными.
-P — указывает на количество потоков, которые используются при передаче данных (в нашем случае — 20 потоков).

————————————————————
Client connecting to corp2.net, TCP port 5001
TCP window size: 8.00 KByte (default)
————————————————————
[1760] local 192.168.0.99 port 27951 connected with 77.88.252.136 port 5001
[1696] local 192.168.0.99 port 27955 connected with 77.88.252.136 port 5001
[1664] local 192.168.0.99 port 27957 connected with 77.88.252.136 port 5001
[1808] local 192.168.0.99 port 27948 connected with 77.88.252.136 port 5001
[1792] local 192.168.0.99 port 27949 connected with 77.88.252.136 port 5001
[1632] local 192.168.0.99 port 27959 connected with 77.88.252.136 port 5001
[1840] local 192.168.0.99 port 27946 connected with 77.88.252.136 port 5001
[1776] local 192.168.0.99 port 27950 connected with 77.88.252.136 port 5001
[1600] local 192.168.0.99 port 27961 connected with 77.88.252.136 port 5001
[1552] local 192.168.0.99 port 27964 connected with 77.88.252.136 port 5001
[1728] local 192.168.0.99 port 27953 connected with 77.88.252.136 port 5001
[1568] local 192.168.0.99 port 27963 connected with 77.88.252.136 port 5001
[1744] local 192.168.0.99 port 27952 connected with 77.88.252.136 port 5001
[1712] local 192.168.0.99 port 27954 connected with 77.88.252.136 port 5001
[1680] local 192.168.0.99 port 27956 connected with 77.88.252.136 port 5001
[1648] local 192.168.0.99 port 27958 connected with 77.88.252.136 port 5001
[1616] local 192.168.0.99 port 27960 connected with 77.88.252.136 port 5001
[1856] local 192.168.0.99 port 27945 connected with 77.88.252.136 port 5001
[1824] local 192.168.0.99 port 27947 connected with 77.88.252.136 port 5001
[1584] local 192.168.0.99 port 27962 connected with 77.88.252.136 port 5001
[ ID] Interval       Transfer     Bandwidth
[1792]  0.0-10.0 sec   120 KBytes  98.1 Kbits/sec
[1824]  0.0-10.0 sec   360 KBytes   294 Kbits/sec
[1696]  0.0-10.1 sec   184 KBytes   149 Kbits/sec
[1664]  0.0-10.2 sec   152 KBytes   123 Kbits/sec
[1712]  0.0-10.2 sec  48.0 KBytes  38.6 Kbits/sec
[1808]  0.0-10.3 sec   696 KBytes   556 Kbits/sec
[1616]  0.0-10.3 sec  40.0 KBytes  31.8 Kbits/sec
[1760]  0.0-10.7 sec   448 KBytes   342 Kbits/sec
[1584]  0.0-10.7 sec   320 KBytes   245 Kbits/sec
[1776]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec
[1600]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec
[1840]  0.0-14.2 sec  48.0 KBytes  27.8 Kbits/sec
[1552]  0.0-14.1 sec  32.0 KBytes  18.5 Kbits/sec
[1632]  0.0-15.2 sec  56.0 KBytes  30.3 Kbits/sec
[1648]  0.0-18.1 sec  40.0 KBytes  18.2 Kbits/sec
[1568]  0.0-18.1 sec  32.0 KBytes  14.5 Kbits/sec
[1856]  0.0-18.1 sec  40.0 KBytes  18.1 Kbits/sec
[1680]  0.0-23.0 sec  40.0 KBytes  14.3 Kbits/sec
[1728]  0.0-23.1 sec  40.0 KBytes  14.2 Kbits/sec
[1744]  0.0-23.1 sec  40.0 KBytes  14.2 Kbits/sec
[ ID] Interval       Transfer     Bandwidth
[SUM]  0.0-23.1 sec  2.73 MBytes   993 Kbits/sec

Как видите, скорость и вправду далека от 100МБит/сек. и в нашем случае составила всего 993 КБит/сек…

После того, как обратились к провайдеру, оказалось, что «не правильно срабатывал шейпер». После снятия его, результаты кардинально улучшились:
————————————————————
Client connecting to srv1.corp2.net, TCP port 5001
TCP window size: 8.00 KByte (default)
————————————————————
[1824] local 192.168.0.99 port 28769 connected with 77.88.252.135 port 5001
[1552] local 192.168.0.99 port 28786 connected with 77.88.252.135 port 5001
[1840] local 192.168.0.99 port 28768 connected with 77.88.252.135 port 5001
[1856] local 192.168.0.99 port 28767 connected with 77.88.252.135 port 5001
[1808] local 192.168.0.99 port 28770 connected with 77.88.252.135 port 5001
[1632] local 192.168.0.99 port 28781 connected with 77.88.252.135 port 5001
[1776] local 192.168.0.99 port 28772 connected with 77.88.252.135 port 5001
[1760] local 192.168.0.99 port 28773 connected with 77.88.252.135 port 5001
[1744] local 192.168.0.99 port 28774 connected with 77.88.252.135 port 5001
[1792] local 192.168.0.99 port 28771 connected with 77.88.252.135 port 5001
[1712] local 192.168.0.99 port 28776 connected with 77.88.252.135 port 5001
[1728] local 192.168.0.99 port 28775 connected with 77.88.252.135 port 5001
[1696] local 192.168.0.99 port 28777 connected with 77.88.252.135 port 5001
[1664] local 192.168.0.99 port 28779 connected with 77.88.252.135 port 5001
[1600] local 192.168.0.99 port 28783 connected with 77.88.252.135 port 5001
[1680] local 192.168.0.99 port 28778 connected with 77.88.252.135 port 5001
[1648] local 192.168.0.99 port 28780 connected with 77.88.252.135 port 5001
[1568] local 192.168.0.99 port 28785 connected with 77.88.252.135 port 5001
[1616] local 192.168.0.99 port 28782 connected with 77.88.252.135 port 5001
[1584] local 192.168.0.99 port 28784 connected with 77.88.252.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[1568]  0.0-10.1 sec  1.77 MBytes  1.47 Mbits/sec
[1744]  0.0-10.1 sec  1.08 MBytes   893 Kbits/sec
[1616]  0.0-10.2 sec  1.55 MBytes  1.27 Mbits/sec
[1680]  0.0-10.2 sec   704 KBytes   564 Kbits/sec
[1584]  0.0-10.2 sec  1.91 MBytes  1.57 Mbits/sec
[1856]  0.0-10.2 sec  1.20 MBytes   981 Kbits/sec
[1552]  0.0-10.2 sec   904 KBytes   723 Kbits/sec
[1760]  0.0-10.2 sec  1.51 MBytes  1.24 Mbits/sec
[1792]  0.0-10.2 sec  1.26 MBytes  1.03 Mbits/sec
[1712]  0.0-10.2 sec  1.70 MBytes  1.39 Mbits/sec
[1776]  0.0-10.2 sec  1.26 MBytes  1.03 Mbits/sec
[1648]  0.0-10.2 sec  1.14 MBytes   938 Kbits/sec
[1728]  0.0-10.2 sec  1.32 MBytes  1.08 Mbits/sec
[1808]  0.0-10.2 sec  1.05 MBytes   858 Kbits/sec
[1824]  0.0-10.3 sec  1.51 MBytes  1.23 Mbits/sec
[1696]  0.0-10.3 sec  1.70 MBytes  1.39 Mbits/sec
[1600]  0.0-10.3 sec  1.75 MBytes  1.43 Mbits/sec
[1840]  0.0-10.3 sec  1.44 MBytes  1.17 Mbits/sec
[1664]  0.0-10.3 sec  1.34 MBytes  1.09 Mbits/sec
[1632]  0.0-11.4 sec  1.67 MBytes  1.23 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[SUM]  0.0-11.4 sec  27.7 MBytes  20.4 Mbits/sec

А между серверами внутри провайдера достигает практически максимум (раньше было до 2 МБит/с):

iperf -c srv1.corp2.net -P 20
————————————————————
Client connecting to srv1.corp2.net, TCP port 5001
TCP window size: 16.0 KByte (default)
————————————————————
[ 19] local 77.88.252.136 port 42503 connected with 77.88.252.135 port 5001
[  8] local 77.88.252.136 port 42485 connected with 77.88.252.135 port 5001
[  9] local 77.88.252.136 port 42484 connected with 77.88.252.135 port 5001
[  3] local 77.88.252.136 port 42487 connected with 77.88.252.135 port 5001
[  6] local 77.88.252.136 port 42486 connected with 77.88.252.135 port 5001
[  5] local 77.88.252.136 port 42488 connected with 77.88.252.135 port 5001
[  7] local 77.88.252.136 port 42489 connected with 77.88.252.135 port 5001
[ 10] local 77.88.252.136 port 42490 connected with 77.88.252.135 port 5001
[  4] local 77.88.252.136 port 42492 connected with 77.88.252.135 port 5001
[ 13] local 77.88.252.136 port 42491 connected with 77.88.252.135 port 5001
[ 11] local 77.88.252.136 port 42493 connected with 77.88.252.135 port 5001
[ 14] local 77.88.252.136 port 42494 connected with 77.88.252.135 port 5001
[ 12] local 77.88.252.136 port 42495 connected with 77.88.252.135 port 5001
[ 16] local 77.88.252.136 port 42496 connected with 77.88.252.135 port 5001
[ 15] local 77.88.252.136 port 42498 connected with 77.88.252.135 port 5001
[ 18] local 77.88.252.136 port 42497 connected with 77.88.252.135 port 5001
[ 17] local 77.88.252.136 port 42499 connected with 77.88.252.135 port 5001
[ 21] local 77.88.252.136 port 42500 connected with 77.88.252.135 port 5001
[ 22] local 77.88.252.136 port 42501 connected with 77.88.252.135 port 5001
[ 20] local 77.88.252.136 port 42502 connected with 77.88.252.135 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.0 sec  7.79 MBytes  6.53 Mbits/sec
[ 10]  0.0-10.0 sec  8.04 MBytes  6.73 Mbits/sec
[ 14]  0.0-10.0 sec  6.90 MBytes  5.77 Mbits/sec
[ 13]  0.0-10.0 sec  8.16 MBytes  6.81 Mbits/sec
[ 15]  0.0-10.0 sec  7.19 MBytes  6.00 Mbits/sec
[ 18]  0.0-10.1 sec  7.20 MBytes  6.00 Mbits/sec
[ 21]  0.0-10.1 sec  7.34 MBytes  6.12 Mbits/sec
[  7]  0.0-10.1 sec  2.73 MBytes  2.27 Mbits/sec
[ 11]  0.0-10.1 sec  7.27 MBytes  6.04 Mbits/sec
[  3]  0.0-10.1 sec  10.6 MBytes  8.83 Mbits/sec
[  5]  0.0-10.1 sec  2.95 MBytes  2.45 Mbits/sec
[ 17]  0.0-10.1 sec  7.20 MBytes  5.96 Mbits/sec
[  6]  0.0-10.2 sec  9.50 MBytes  7.85 Mbits/sec
[ 20]  0.0-10.2 sec  2.42 MBytes  1.99 Mbits/sec
[ 12]  0.0-10.2 sec  7.15 MBytes  5.88 Mbits/sec
[ 22]  0.0-10.2 sec  2.22 MBytes  1.82 Mbits/sec
[  8]  0.0-10.3 sec  2.37 MBytes  1.93 Mbits/sec
[  9]  0.0-10.3 sec  3.23 MBytes  2.62 Mbits/sec
[ 16]  0.0-10.4 sec  4.59 MBytes  3.69 Mbits/sec
[ 19]  0.0-10.4 sec  2.66 MBytes  2.13 Mbits/sec
[SUM]  0.0-10.4 sec    118 MBytes  94.4 Mbits/sec

94,4 Мбит/с — это отличный показатель!