- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день! На серваке крутится много фоновых тяжелых задач. Такие задачи обновляют таблицы MySQL, а также создают и изменяют изображения.
Есть мысль постепенно такие задачи уводить на другие сервера. Но для меня это абсолютно новая степь. Я так понимаю нужно делать репликацию MySQL? Можно ли реплицировать не всю БД, а некоторые таблицы? А как тогда передавать файлы на основной сервер? Поделитесь мыслями, у кого есть опыт!
Репликация это несколько другое.
Вы хотите просто MySQL на отдельный сервер перенести? А точнее несколько таблиц?
Репликация это полный аналог, и нагрузка на мастер равна нагрузка на слейв.
То есть если у вас в мастер выполнится 1000 запросов на запись/изменение, то все эти запросы выполнятся и на всех слейвах если у вас MySQL конечно. Реплики используются для чтения, например когда у вас идет 1000 запросов на чтение в секунду и 1 запрос на запись, тогда эту 1000 запросов можно раскидать на несколько серверов, задачи на запись не распарралелить в MySQL, у PostgreSQL репликация бинарная, там такое прокатит.
Вам надо смотреть и гуглить в сторону RabbitMQ
Есть скрипт, который делает много запросов к базе MySQL и сильно нагружает ее. Я думал как-то перенести его на другой сервак, но этот скрипт должен работать всегда со свежей инфой, которая на основном сервере. Также, результаты выполнения этого скрипта должны обновлять и базу на основном сервере. Получается, на двух серверах должны быть всегда актуальные данные.
---------- Добавлено 02.06.2017 в 16:02 ----------
А как же мне тогда быть? Фоновый скрипт дает основную нагрузку записью в таблицу, поэтому чтение медленнее происходит. Хотел вынести запись как раз. Получается надо крутое железо покупать?
Есть скрипт, который делает много запросов к базе MySQL и сильно нагружает ее. Я думал как-то перенести его на другой сервак, но этот скрипт должен работать всегда со свежей инфой, которая на основном сервере. Также, результаты выполнения этого скрипта должны обновлять и базу на основном сервере. Получается, на двух серверах должны быть всегда актуальные данные.
---------- Добавлено 02.06.2017 в 16:02 ----------
А как же мне тогда быть? Фоновый скрипт дает основную нагрузку записью в таблицу, поэтому чтение медленнее происходит. Хотел вынести запись как раз. Получается надо крутое железо покупать?
Чтож это за скрипт такой, а железку по мощнее? А оптимизировать структуру, оптимизировать запрос? Нагрузка при записи обычно создается за счет перестраивания индексов, побольше оперативки, потоньше настройки, отключить запись в лог и отдать это на откуп системе. Вообщем пошаманить и скрипт тормознуть, ну либо научить его работать с другой БД. Например NoSQL какой или с тем же Tarantool. То есть я к тому, что либо у вас железка слабая для такой задачи, либо инструменты не правильно подобраны, ну либо банально код кривой. Просто ложить MySQL это надо постараться)))
Чтож это за скрипт такой, а железку по мощнее? А оптимизировать структуру, оптимизировать запрос? Нагрузка при записи обычно создается за счет перестраивания индексов, побольше оперативки, потоньше настройки, отключить запись в лог и отдать это на откуп системе. Вообщем пошаманить и скрипт тормознуть, ну либо научить его работать с другой БД. Например NoSQL какой или с тем же Tarantool. То есть я к тому, что либо у вас железка слабая для такой задачи, либо инструменты не правильно подобраны, ну либо банально код кривой. Просто ложить MySQL это надо постараться)))
Спасибо, будем думать! Подскажите, а какой CPU лучше брать - с более высокой частотой или с большим количеством ядер?
Наиболее оптимально попробовать взять сначала SSD. Возможно этого будет достаточно.
Он дает серьезную прибавку в производительности.
Так же можно попробовать отдельный VPS или сервер исключительно для БД и подключаться к ней удаленно. Таким образом один сервер будет обрабатывать только мускл а второй все остальное.
Это из наиболее простых способов.
Наиболее оптимально попробовать взять сначала SSD. Возможно этого будет достаточно.
Он дает серьезную прибавку в производительности.
Так же можно попробовать отдельный VPS или сервер исключительно для БД и подключаться к ней удаленно. Таким образом один сервер будет обрабатывать только мускл а второй все остальное.
Это из наиболее простых способов.
Про отдельный сервер для базы хорошая мысль, спасибо! А на SSD рейды можно сделать?
если скрипт в 1 поток -то частота
если потоков много - то ядер больше.
но это в теории, там затык вообще не в этом может быть
Да разумеется. Чаще всего достаточно 1-го. 10-й особого прироста производительности не дает.
Рекомендую не горячится и не брать сразу дедик, а попробовать VPS. Там тоже чаще всего SSD и если там будет только БД - то проблем по идее, быть не должно. Вынесите БД на VPS и посмотрите нагрузку.
Опишите в общих чертах суть фоновой задачи.
Вполне вероятно что кто-то сходу увидит слабое место которое можно просто допилить.
Добавить/убрать индексы уже предлагали. Может блокировки тормозят.
Дисковая подсистема да, слабое место.
Но чую у вас что-то не так в консерватории.