- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Что то в последнее время стал сервак поднапрягаться. В частности - MySQL.
Сервак относительно скромный (4-х ядерник, 4 гиг памяти, винты SATAII).
Сайты грузят базу кучей запросов, которые кэшируют на диск временные таблицы. Это и нагружает сервак. Переписывать запросы просто нереально. Идексы все проставлены где только можно, но какой прок, когда куча связей "многое ко многим" и, как следстве, группировки. Ну и сортировки по текстовым полям тоже часто бывают.
Кто нибудь сталкивался и с подобным и как апгрейдил сервак? Вообще, кто может что посоветовать?
Объемные группировки обычно переделывают на субаггрегатные таблицы по старым данным + union новых горячих данных.
От сортировок текстов избавляются внутренним подзапросом c сортировкой без текстов и внешним запросом на выборку текстов. Можно еще tmpdir пересадить в tmpfs ( в freebsd 7.0 ), если действительно создаются файлы.
SATAII - это не показатель скорости винта для СУБД. Показатель - это число оборотов в минуту.
Да и переходите на линукс уже. Cпециальные сборки mysql - percona и outdelta выпускают только для linux. Оно вам надо патчить вручную?
а какая загрузка у вас дисковой подсистемы? нагрузку можно увидеть по iostat -x -c 5
Объемные группировки обычно переделывают на субаггрегатные таблицы по старым данным + union новых горячих данных.
От сортировок текстов избавляются внутренним подзапросом c сортировкой без текстов и внешним запросом на выборку текстов. Можно еще tmpdir пересадить в tmpfs ( в freebsd 7.0 ), если действительно создаются файлы.
SATAII - это не показатель скорости винта для СУБД. Показатель - это число оборотов в минуту.
Да и переходите на линукс уже. Cпециальные сборки mysql - percona и outdelta выпускают только для linux. Оно вам надо патчить вручную?
да я понимаю, что можно так со структурой извращаться, что будет всё летать. Но учитывая постоянную переделку и кучу костылей такой метод - это нечто нереальное.
Винты стоят самые обычные десктопные. 250гиг/7200об.мин.
Поэтому и ищу метод решения без кардинальной переделки базы. Самое узкое место - работа с временными таблицами. Их надо либо както писать в панять или увеличивать работу дисков.
Про tmpfs оссень интересна. Кто нибудь пробовал такое? Есть производительность?
вот както так.
запостите настройки mysql show global variables, вывод mysqlreport ( он красивее чистых счетчиков). счетчики show global status тоже запостите.
если используется innodb постите и show engine innodb status.
если все так плохо, то с точки зрения администратора-непрограммиста поможет только raid0 на этих ваших бытовых 7200 винтах и периодическое резервное копирование.
Можем помочь в данной проблеме, там не нужна кардинальная переделака базы, но запросы надо будет править. А так же оптимизировать настройки mysql и системы. Надо смотреть и детально обсуждать.
Можем помочь в данной проблеме, там не нужна кардинальная переделака базы, но запросы надо будет править. А так же оптимизировать настройки mysql и системы. Надо смотреть и детально обсуждать.
ээх. ну даже теоретически нельза оптимизировать запрос имеющий LIKE '%search%' по паре полей и в этом же запросе куча JOIN с парой связок "многое ко многим", полнотектовый доп. поиск и групировка с сортировкой по разным полям. И всё это ворочается в базе на несколько гигов общим объёмом и посещаеостью под 50к в сутки.
Уже наигрался с эксплэйном до тошноты Дальше некуда. Все индексы в памяти, всё, что можно кэшируется, сложные запросы обрабатываюся через очередь запросов с мониторингом общей нагрузки системы и т.д. Но несколько раз в день в пике всё-равно сервер "укапывается". Селяви.
Теперь, похоже, осталось только вываливание в память временных таблиц. Просто не ясно, а поможет ли?
NetBot, почему же. вместо like подключают полнотекстовой поиск
Upgrade way: Linux --> More RAM --> RAID
1) Под временные таблицы - tmpfs
2) memlock