Имеется сокращалка ссылок.
Пользователи выбирают чаще прямой переход через 301 редирект.
При одновременном переходе в >300 человек за 15-30 секунд ложится сайт.
Как такое можно наладить и что нужно, примерно хотя бы, сделать?
Я бы сначала определил какой именно сервис ложится.
Если это MySQL то смотрел бы в сторону оптимизации ее настроек, после если возможно оптимизировал бы запрос к БД. Если и этого мало, кешировал бы запрос на какое-то время и использовал бы информацию из кэша вместо обращения к БД. Хотя кэширование бы не помешало вам в любом случае.
Упрощайте запрос, и кешируйте ответ, чтобы он отдавался быстрее.
Увеличьте количество процессов PHP. Смотрите настройки php. Возможно есть смысл уменьшить время ожидания ответа и обрывать соединение с пользователем. Я не помню сейчас всех нюансов с настройками PHP. Да и проект скорее нужно знать, чтобы что-то советовать. Можно не выдавать ссылку сразу, а сделать паузу на ожидание, и после прошедшего времени только делать запрос. Минимальная защита от флуда)
Возможно все еще проще - не хватает ресурсов сервера :) Все равно, вам следует разбираться глубже в проблеме. PHP по какой причине не может обработать запрос, проблема опять же, может быть не в PHP а в запросе к БД, который начинает висеть. А PHP тут посредник.
Сергей Махленко, проблема в том что на сайте 2 вида ссылок. 1 это direct 2й это splash
И все делают direct. В этих ссылках нет ожидания и идет сразу редирект 301 на конечный ресурс. Вот здесь и затык происходит.