В принципе Я хотел бы знать, можно ли ускорить мой сервер или нет с помощью кеширования, такого как squid, проверки возможных ошибок в конфигурации, оптимизации различных параметров серверного программного обеспечения и т. д.
Можно ли предсказать время для обслуживания, скажем, 1 МБ данных, если я знаю время пинга и тактовую частоту моего сервера, а также другие параметры оборудования.
например, в моем случае у меня AMD с тактовой частотой 1 ГГц и пингом 75 мс, и я получаю страницу 16 КБ, обслуживаемую из основной памяти за 0,6 с - могу ли я сделать это быстрее? - просто время для отображения страницы без нагрузки.
Существуют ли для этого какие-либо тесты / инструменты?
редактировать Я пробовал добавить squid, но никакого прироста производительности не получил.
Спасибо.
Когда вы имеете дело с Интернетом, обычно важна не скорость отдельного запроса, потому что это нереальный показатель того, как сервер будет работать под нагрузкой.
Вы действительно хотите знать может ли ваш сервер обслуживать страницы достаточно быстро, чтобы пользователи могли нормально работать в ожидаемых условиях нагрузки.
Чтобы ответить на этот вопрос, вы должны получить такой инструмент, как WCAT или JMeter и смоделируйте нагрузку на ваш сервер, а затем найдите узкое место (если оно есть).
Например, посмотрев на свою учетную запись Google Analytics или статистику, вы узнаете, что максимальное количество пользователей, которые у вас есть за день, составляет 500. Затем вы решаете, что хотите поддерживать максимальное количество пользователей в 750 человек в день. Если вы разберете это (в зависимости от того, используется ли ваш сайт 24x7 или 9x5), вы можете обнаружите, что максимальное количество одновременных запросов страниц, которые вам необходимо поддерживать составляет около 10.
Затем с помощью WCAT или Jmeter вы запускаете тест, в котором 10 пользователей одновременно используют сайт и выполняют различные операции. Если время отклика приемлемо (вы можете судить, но я бы сказал, что время загрузки страницы меньше 2 секунд), вы можете остановиться на этом или продолжить добавлять пользователей, чтобы увидеть, в какой момент производительность упадет.
Как только вы увидите, что производительность снизилась, вы соотнести это падение с тем, что происходит с вашим сервером в то время. Вы часто сталкиваетесь с жесткими ошибками страницы? Высокая загрузка ЦП? Ваша БД перегружена?
Как только вы обнаружите узкое место (если оно есть), вы можете найти способы уменьшить его. Например, если вы получаете жесткие сбои страницы и перегрузку диска, возможно, кеширование - это лучший способ.
Но все дело в том, чтобы знать, какие показатели вам нужно использовать, тестировать их, а также обнаруживать и устранять узкие места.
У вас здесь много концепций. Мощность процессора, память, кэширование, обратные прокси-серверы и пропускная способность сети - все это разные вещи, которые способствуют хорошему или плохому конечному результату производительности.
Чисто на сетевом уровне современный ПК или сервер может обрабатывать тысячи и тысячи запросов всего за миллисекунды. Но это до того, как вы добавите к нему приложение, которое «что-то делает». Части этого уравнения, которые имеют наибольшее значение:
Итак, если 1 и 2 уже хороши, и ваши страницы на самом деле создан и обслуживается очень быстро, тогда 3 может оказаться самым большим узким местом. Если 2 - это ужасно, то 1 тоже будет ужасным, даже если 3 - это хорошо. Если 1 является узким местом, то нет ничего, что можно было бы оптимизировать на 2 или 3, чтобы изменить ситуацию.