- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте! Подскажите пожалуйста у кого есть опыт:
пишу скрипты (PHP), оптимизирую оптимизирую оптимизирую...
Хотелось собственно узнать будет ли нагрузка на сервер в 1000 раз больше, если одновременно вызовут скрипт 1000 пользователей. Точнее время выполнения, например 0.021 сек. Если обратятся 1000 пользователей то будет 21 сек? Сдается мне, что это не так...
Если кто знает формулу, как расчитывать такие вещи, поделитесь пожалуйста.
Если 1000 запустятся одновременно, то сервер скорее всего упадет ;)
На практике количество процессов апача обычно ограничено сотнями. Причем это делается в расчете, что большинство процессов будут выполнять нересурсоемкие медленные запросы, например к статическим картинкам.
Но даже 10 одновременно выполняющихся скриптов означают нагрузку больше 100% даже для восьмиядерного сервера.
В реальности сервер не должен обрабатывать больше чем несколько скриптов одновременно. Он должен успевать выполнить один скрипт до того, как придет следующий запрос. Иначе количество активных процессов апача будет накапливаться как снежный ком, вызывая нестабильность системы.
fastcgi лишен этого недостатка. Обычно под ним запускается ограниченное число процессов. Пришедшие избыточные запросы будут ждать в очереди или же будут отфутболены.
Подсчет времени выполнения скрипта может иметь смысл для определенного промежутка времени. Например, один запрос выполняется за 0.021с, значит 1000 восполняются в сумме 21с, следовательно сервер может обработать ~50 запросов в секунду. А если у сервера 4 ядра, то ~200 запросов в секунду.
Но есть большое НО. Это все умозрительные вещи. На практике такие расчеты редко соответствуют истине. Например, если скрипт работает с файлами или с базой, то ни на какую линейность зависимости рассчитывать нельзя. Вполне может быть, что один скрипт выполнится за 0.02с, десять последовательных за 0.5с, а 10 одновременных - за 1с. А может и все наоборот...
Самое разумно, что можно делать - это тестировать производительность в условиях, приближенных к реальности. Хотя бы с помощью апачевской утилиты ab
Будет наглядно видно, как ведет себя скрипт при большой нагрузки и при разном числе одновременных запросов.
Понятно. Спасибо, про
подозревал. Почитаю про fastcgi
Как работать с нагрузкой сервера - сначала смотрим в top, какой % идет на пользовательские процессы
Если >80, поздравляю - включайте профилирование и доделывайте скрипты
Если <80, возможно на сервере не очень оптимальные настройки
А если вся нагрузка идет в idle, значит вы за свои деньги отапливаете ДЦ :)