- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В этот момент mysql решил использовать смонтированную в память папку mysql_tmp. И данных у него было 300 мб.
Попытается использовать 300мб. Сайт грохается и показывает ошибку error 500.
Как уже сказали, tmp_dir используется для сортировок и тд,но не для кеша запросов.
Видя, что не хватает памяти, он записывает не в mysql_tmp, а в какую то папку на диске. При этом посетитель сайта ошибки не замечает и всё для посетителя нормально работает?
Насколько мне известно, такого функционала нет.
В некоторых случаях mysql может делать паузу 10 секунд и ждать пока в tmpdir добавится место. Подробности в исходниках.
Как уже сказали, tmp_dir используется для сортировок и тд,но не для кеша запросов.
Только сейчас дошло , что tmp_dir не имеет отношения к кешу.
точно так же как и join_buffer_size.
вот блин, перепутал ... : )
кстати, на счёт join_buffer_size: Mysql его использует для сортировок и обработок больших таблиц в памяти, а если join_buffer_size меньше чем надо, то он дозаписывает свои данные во временную папку.
Но, так как мы временную папку tmp_dir смонтировали в оперативную память, он дозаписывает эти данные тоже в оперативную память.
верно?
а если join_buffer_size меньше чем надо, то он дозаписывает свои данные во временную папку.
нет. не нужно выдумывать. в документации написано какой буфер для чего.
Кажется я всё понял.
Всем спасибо за помощь!
знатки не подскажете почему не показывает состояние кеширование mysql?
с рутом выполняю команду mysql> show variables like 'query_cache%'; но нечего не показывает.
razer85, может так собрали любители собирать руками
что показывает show global variables like 'have_query%' ?
Не слишком надейтесь на кеш мискуля - делайте свой на уровне приложения
Очень полезное замечание. В высоко нагруженных проектах именно так и делали, сильно спасало. Основной гиморой возникает при работе с единым кешем приложения при множестве нитей, но и это все со временем решили.
P.S. Само собой в случае использования только PHP, особого прироста это не даст, но огромный прирост получали при написании части модулей на перле и последующей их компиляции. Про С понятно и говорить нечего, если есть возможность написать на нем механизм кеширования и извлечения из кеша, то это наилучший вариант.
что показывает show global variables like 'have_query%' ?
Выполняется запрос и нечего не показывает
razer85, ну значит кеша просто нет. разберитесь что это и как устанавливали. и больше так не делайте.
ну значит кеша просто нет. разберитесь что это и как устанавливали
Я прописал команду "query_cache_size=16M" в my.cnf в подразделе "mysqld" и перезапустил mysql но всеравно нечего не показывает.
А с командой для включения кеша "SET @@global.query_cache_size=16777216;"
пишет "command not found"
---------- Добавлено 21.08.2013 в 20:58 ----------
и больше так не делайте.
Не скажете почему?