Оптимизация nginx, php-fpm, postgresql под высокую нагрузку?

Приветствую всех!
Прошу дать совет по-поводу оптимальной настройки софта на серваке. Хотелось бы ничего не упустить при настройке и использовать сервак по-полной. Не нанимаем спеца, т.к. мне самому интересно вникать в детали (я кодер) :)

Железо:
Intel® Xeon® E5-2670v2 (2x)
20 Cores / 40 Threads
2.5 GHz (3.3 GHz Turbo)
256 GB DDR-3 ECC
500 GB SSD

Софт: nginx, php-fpm, postgresql, redis (в качестве кэша)

Объем БД очень маленький, самая большая таблица - 300к записей, остальные по несколько сотен записей. Посещаемость сайта - 500к. уников и 1 млн. просмотров в сутки. 99% всех записей в БД будут происходить в одну таблицу. Общее соотношение чтение/запись в БД примерно 20% на 80%.

На какие настройки нужно обратить внимание в первую очередь и что почитать по этой теме?

Большое спасибо!
  • Вопрос задан
  • 3503 просмотра
Пригласить эксперта
Ответы на вопрос 3
@eoffsock
Кодер (Rails)
По postgresql есть хорошая вещь: postgresql.leopard.in.ua

По остальному есть вот материал: ruhighload.com/server
Там постольку поскольку, конечно, но может найтись полезное.

По php я думаю тут еще подскажут, тут я не спец.
Ответ написан
Комментировать
nowfine
@nowfine
сисадмин 30+ левел
основное это количество воркеров nginx и php-fpm
и настройки по использованию памяти ими. подробностей не помню, но все в обычных мануалах есть
Ответ написан
Комментировать
@andreyvlru
менеджер-программист
Каждый компонент вашей системы требует отдельного анализа.
В целом при простой грамотной настройке у вас более чем достаточно ресурсов для обслуживания указанного трафика, если только вы на ходу не будете сложные группировки или вложенные запросы делать.

Тот сервер что вы привели он скорее всего даже избыточен, зачем вам столько памяти если БД совсем небольшая?

Выделяйте достаточное количество памяти на mysql, redis.
Проверьте сетевые настройки чтобы они были настроены на высокое количество подключений
nginx, php-fpm - там все стандартно достаточно для вашей нагрузки.
В процессе работы вы сами увидите узкие места, но вообще железо у вас мощное и может простить довольно много ошибок
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы