Как оптимизировать web server под большую БД mysql ?

Тема в разделе "Администрирование серверов", создана пользователем dandandan, 15 сен 2018.

Модераторы: mefish
  1. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    1.011
    Симпатии:
    272
    Всем привет.
    Есть вебсервер. Например 2 ядра х 2300 Мгц.
    ОЗУ 4 ГБ
    HDD 300 Гб.

    На сервере крутится 2 информационных сайта. У каждого база по 8+ ГБ. В каждой базе около 500 000 постов и более 10 млн комментариев. Получается, что оперативки уже не хватает под базу. В базу в сутки добавляется около 100 постов и 100+ комментариев. Посещалка около 1000 уников/сутки.

    mysqltuner все время предлагет увеличить кеш.
    Например:
    "Add RAM before increasing MySQL buffer variables
    innodb_buffer_pool_size (>= 28G) if possible."

    Если я, не глядя, поставлю размер буфера 28Гб, то как я понимаю, у меня все упадет сразу...

    Сколько гуглил в инете - везде разгоняют сайты с 1000 постов и 512 мб ОЗУ. Что можно почитать про более нагруженные сайты?
    Из каких соображений исходить в оптимизации mysql под большие базы?
     
  2. Stesh

    Stesh

    Регистр.:
    3 фев 2009
    Сообщения:
    261
    Симпатии:
    102
    Сначала купить адекватное запросам железо, с SSD и достаточным запасом оперативки, а уже только потом заикаться за оптимизацию.

    Он не предлагает увеличить кеш, он крутит пальцем у виска и предлагает увеличить RAM перед перед увеличением буфера.
     
  3. mefish

    mefish Support

    Moderator
    • Супермодератор
    Регистр.:
    30 авг 2007
    Сообщения:
    902
    Симпатии:
    638
    Вопрос - это все работает без напряга ? если да, то зачем его трогать ? а буфер он предлагает установить равным значению данных в innodb, ставь 70-80% , ну а если там еще апач, пых и сопутствующее ПО, то только подбирать, чтоб в своп не уходило.
     
  4. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    1.011
    Симпатии:
    272
    Работает с напрягом. Поэтому и задаю вопрос. Страница собирается примерно за 4-10 секунд. Стоит php-fpm, nginx, mysql. Временами забивается и ОЗУ и СВОП на все 100%. В этом случае на серваке резкие тормоза...

    p.s.
    Хочется именно научиться "правильно" настраивать сервер, а не поставить систему кеширования или проапгрейдить сервер.
     
    Последнее редактирование: 16 сен 2018
  5. PaHeTka1

    PaHeTka1 Создатель

    Регистр.:
    9 апр 2016
    Сообщения:
    11
    Симпатии:
    0
    Если такая бешенная нагрузка на сервак, то о какой оптимизации может идти речь. Нужно увеличивать ОЗУ, уменьшая нагрузку на своп, чтобы это все крутилось быстрее. Ну и с HDD на SSD, с такими запросами нужно бежать
     
  6. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    1.011
    Симпатии:
    272
    С улучшением железа все понятно, но не актуально. Кеширование тоже использую так, что страницы отдаются за тысячную долю секунды. Сейчас хочется поучиться именно оптимизации сервера на примерно таких вот нагрузках. Если есть идеи что в какую сторону покрутить - с удовольствием выслушаю и попробую.
     
  7. Stesh

    Stesh

    Регистр.:
    3 фев 2009
    Сообщения:
    261
    Симпатии:
    102
    Отдел фантастики этажом выше.