- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Имеется сайт на wordpress с мостом на форум IP.Board.
Примерно раз в 8-10 дней повреждается таблица sessions форума, из-за чего становится недоступен и форум и сайт. Так же после аварийных перезагрузок сервера таблица sessions повреждается, в результате сайт и форум опять же недоступны.
Сейчас для таблицы sessions используется тип таблиц MyISAM, в среднем она занимает пару мб.
Индекс 339 КБ
Фрагментировано 401.9 КБ
Эффективность 446.7 КБ
Всего 848.6 КБ
Фрагментировано и Эффективность практически всегда примерно равны. Если я буду каждый день оптимизировать эту таблицу, тогда повреждений спустя 8-10 дней не будет, однако при аварийной перезагрузке сервера повреждения есть всегда.
Я пробовал установить тип таблиц MEMORY, но спустя сутки таблица стала занимать ~30 мб и ее нельзя оптимизировать (видимо из-за того что она в озу?)
Ну и, собственно, вопрос: Как бороться с этой проблемой?
таблицы обычно бьются от некорректных настроек mysql.
что говорит mysqltuner?
P.S. на сколько понял у вас впс/сервер.
таблицы обычно бьются от некорректных настроек mysql.
что говорит mysqltuner?
P.S. на сколько понял у вас впс/сервер.
mysqltuner использовал, все по его рекомендациям правил. Сейчас он выдает все как "ОК" кроме
Temporary tables created on disk: 35% (63K on disk / 181K total)
И пишет
Temporary table size is already large - reduce result set size
Reduce your SELECT DISTINCT queries without LIMIT clauses
У меня включен лог медленных запросов >1 сек - их по 1-2 шт в день и они никакую выборку не делают. Какие выборки у меня могут быть без указания лимита - я не знаю, в теме и плагинах такого нет.
Может таблицу sessions переделать в innodb? Прочитал что они более надежные. Или я ошибаюсь?
Temporary table size is already large - reduce result set size
Reduce your SELECT DISTINCT queries without LIMIT clauses
У меня включен лог медленных запросов >1 сек - их по 1-2 шт в день и они никакую выборку не делают. Какие выборки у меня могут быть без указания лимита - я не знаю, в теме и плагинах такого нет.
Может таблицу sessions переделать в innodb? Прочитал что они более надежные. Или я ошибаюсь?
дело не в медленных запросах, может быть, а в большом количестве быстрых?☝
таблицы обычно вылетают из-за большого количества обращений к ним.
посмотрите Ваши настройки query_cache_size, query_cache_limit.
но спустя сутки таблица стала занимать ~30 мб и ее нельзя оптимизировать (видимо из-за того что она в озу?)
Что значит оптимизировать? Данные в этой таблице живут столько сколько времени установлено для сессий. Больше 15 минут ставить не нужно. Таблицу переведите в innoDB. Настройте роботс чтобы боты не шарили по всему форуму и не плодили ненужных сессий. У вас достаточно памяти для работы форума и вп на сервере при текущей активности?
таблицы обычно вылетают из-за большого количества обращений к ним.
посмотрите Ваши настройки query_cache_size, query_cache_limit.
query_cache_size = 256M
query_cache_limit = 16M
phpmyadmin->sessions->
Используемое пространство
Данные 781.3 КБ
Индекс 455 КБ
Фрагментировано 582.2 КБ
Эффективность 654.1 КБ
Всего 1.2 МБ
Вот сейчас при типе таблицы MyISAM размер всего 1.2 МБ, а при типе таблицы MEMORY этот размер за сутки вырос до 30 МБ. и кнопки "Оптимизировать таблицу" не было.
Сейчас в настройках форума время жизни сессий стоит 60 мин.
Сессии плодятся от ботов даже если они заходят на сайт, т.к. стоит мост IPBWI. Роботс вроде нормально настроен и для форума и для сайта.
Памяти вроде как достаточно - 8 гб. Пока еще ниразу не заканчивалась :)
Оптимизировать таблицы в любом случае периодически надо, так что "самопадения" можно вылечить через cron. А вот повреждения таблицы после аварийного отключения - понятия не имею как лечить. Пока на ум приходит только сделать авто-оптимизацию таблиц каждый раз, когда сервер запускается. Хотя может и тип таблиц innodb поможет, попробуем.
Понятно, конечно, что лучше выявить причину повреждений, но это еще ниразу не получалось сделать, просто в один момент форум не может удалить какую-то из сессий и все, почему - черт его знает.
Я пробовал установить тип таблиц MEMORY, но спустя сутки таблица стала занимать ~30 мб и ее нельзя оптимизировать (видимо из-за того что она в озу?)
Зато из нее можно удалить. А разрушиться при рестарте сервера там просто нечему.
Зачем вам понадобился таймаут сессии в 60 минут ? Разве там не 15 минут было как у всех ?
Зачем вам понадобился таймаут сессии в 60 минут ? Разве там не 15 минут было как у всех ?
Не знаю. Изначально у меня вообще стояло около недели. Были проблемы с мостом - иногда с форума разлогинивалось, а с сайта нет (спустя сутки) Тогда я ставил длительность сессии около недели, думал что разлогинивается из-за того, что сессия истекает. Потом разобрался в чем была проблема и поставил длительность сессии в 1 час. Уже вернул на 15 минут, спасибо
Прошло больше месяца, проблема больше не повторялась.
Что помогло: сменил тип таблицы sessions на innodb