X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> MySQL ошибка (Errcode: 17), ПОМОГИТЕ!
Axel
Axel
Topic Starter сообщение 21.12.2010, 20:19; Ответить: Axel
Сообщение #1


Псевдооптимизатор :)
*****

Группа: Active User
Сообщений: 911
Регистрация: 28.7.2007
Поблагодарили: 115 раз
Репутация:   20  


Последние два дня на сайте вот такая ошибка выскакиевает.

MySQL Error!
------------------------

The Error returned was:
Can't create/write to file '/tmp/#sql_3701_2.MYD' (Errcode: 17)

Error Number:
1

SELECT * FROM dle_post WHERE approve='1' AND lenta='1' ORDER BY RAND()


В то время, как она появилась хотер начал сильно ругаться на нагрузку сервака (превышала лимит в 8 раз). Думали или DDOS атака или же посещаемость увеличивается. Я думаю, что все же атака была.
Как решить проблему эту? Срашивал у хостера, он мне так постоянно отвечает:
Это ошибка в логике работы скриптов сайта. У Вас не предусмотрено проверки на уникальность имени создаваемого временного файла. Раньше, когда посещаемость была меньше, данная ошибка могла не возникать. Теперь вероятность совпадения имен временных файлов увеличилась и ошибка может возникать.


Вся надежда на вас!
Если что, моя ася 545894.
($)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 21.12.2010, 23:50; Ответить: webpavilion
Сообщение #2


сеошник на пенсии
*******

Группа: Active User
Сообщений: 2726
Регистрация: 28.4.2009
Из: МО
Поблагодарили: 1659 раз
Репутация:   171  


(Axel @ 21.12.2010, 19:19) *
SELECT * FROM dle_post WHERE approve='1' AND lenta='1' ORDER BY RAND()
откуда у людей такая тяга к ORDER BY RAND()? медленнее придумать сложно.

вариантов откуда взялась ошибка всего три либо tempdir настроена криво или место на разделе с tempdir кончилось. третий вариант более прозаичен хостер клал на вас большого и толстого установив лимиты.

то что отвечает хостер бред полнейших потому что ошибка в mysql и логика скрипта (несмотря на всю кривожопость dle) не причем!


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Axel
Axel
Topic Starter сообщение 22.12.2010, 0:12; Ответить: Axel
Сообщение #3


Псевдооптимизатор :)
*****

Группа: Active User
Сообщений: 911
Регистрация: 28.7.2007
Поблагодарили: 115 раз
Репутация:   20  


(webpavilion @ 21.12.2010, 20:50) *
откуда у людей такая тяга к ORDER BY RAND()? медленнее придумать сложно.

вариантов откуда взялась ошибка всего три либо tempdir настроена криво или место на разделе с tempdir кончилось. третий вариант более прозаичен хостер клал на вас большого и толстого установив лимиты.

то что отвечает хостер бред полнейших потому что ошибка в mysql и логика скрипта (несмотря на всю кривожопость dle) не причем!

показал хостеру сообщение. Его ответ был таков:

1. /tmp настроена правильно. Все права установлены корректно.
2. На разделе с /tmp места достаточно.
3. Никаких лимитов мы не устанавливали. Есть лимит только на оперативную память, и дисковая квота.


Есть мысли у вас. как решить проблему?
Сейчас попробую вырубить модуль на день, посмотрим, каков результат будет. сли дело в нем, то буду долбать разработчика.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 22.12.2010, 0:33; Ответить: webpavilion
Сообщение #4


сеошник на пенсии
*******

Группа: Active User
Сообщений: 2726
Регистрация: 28.4.2009
Из: МО
Поблагодарили: 1659 раз
Репутация:   171  


(Axel @ 21.12.2010, 23:12) *
Есть мысли у вас. как решить проблему?
как вы думаете зачем мне решать чужие проблемы?


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Axel
Axel
Topic Starter сообщение 22.12.2010, 0:35; Ответить: Axel
Сообщение #5


Псевдооптимизатор :)
*****

Группа: Active User
Сообщений: 911
Регистрация: 28.7.2007
Поблагодарили: 115 раз
Репутация:   20  


(webpavilion @ 21.12.2010, 21:33) *
как вы думаете зачем мне решать чужие проблемы?

Понял...
Лично я, если бы имел достаточно знаний в этом деле, помог бы человеку... nea.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jurgen
jurgen
сообщение 22.12.2010, 0:42; Ответить: jurgen
Сообщение #6


Завсегдатай
*****


Группа: Active User
Сообщений: 779
Регистрация: 19.12.2007
Поблагодарили: 150 раз
Репутация:   30  


портал большой? сколько людей ходит в сутки? Как насчет переехать?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webpavilion
webpavilion
сообщение 22.12.2010, 0:53; Ответить: webpavilion
Сообщение #7


сеошник на пенсии
*******

Группа: Active User
Сообщений: 2726
Регистрация: 28.4.2009
Из: МО
Поблагодарили: 1659 раз
Репутация:   171  


(Axel @ 21.12.2010, 23:35) *
Понял...
Лично я, если бы имел достаточно знаний в этом деле, помог бы человеку... nea.gif


помочь советом и сделать чью то работу, согласитесь, это разные вещи. я вам уже помог обозначив три самые вероятные причины они покрывают 80% случаев возникновения этой ошибки. если вы уверены в своем хостере... (я лично очень сомневаюсь) то проблема не имеет тривиального решения и отнимет много времени.


--------------------
Не ведитесь, cамопис это почти всегда плохо!

Делаю сайты на Drupal 7.x
(очень дорого)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Axel
Axel
Topic Starter сообщение 22.12.2010, 10:33; Ответить: Axel
Сообщение #8


Псевдооптимизатор :)
*****

Группа: Active User
Сообщений: 911
Регистрация: 28.7.2007
Поблагодарили: 115 раз
Репутация:   20  


(jurgen @ 21.12.2010, 20:42) *
портал большой? сколько людей ходит в сутки? Как насчет переехать?

На одном 7к стабильно, на другом (тот что глючит) 2,5-3к в сутки. Так постоянно было, но почему-то глючить начало только недавно и глючит только тот сайт, который меньше.
Хотя в воскресенье я заметил очень большое количество посетителей. Могло ли это создать небольшую нагрузку на сервак, в следствии которой нарушилась таблица и началась ошибка, создающая вообще большую нагрузку...? Может быть такое?

Сообщение отредактировал Axel - 22.12.2010, 10:36
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Maxim-KL
Maxim-KL
сообщение 22.12.2010, 10:42; Ответить: Maxim-KL
Сообщение #9


MaximGroups.net
******

Группа: Banned
Сообщений: 1423
Регистрация: 24.9.2010
Из: localhost
Поблагодарили: 436 раз
Репутация:   122  


Если не секрет что за хостер ? Возможно у него эта ошибка часто бывает и кто то с ней уже там сталкивался.


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
G_Market
G_Market
сообщение 22.12.2010, 16:18; Ответить: G_Market
Сообщение #10


Новичок
*

Группа: User
Сообщений: 45
Регистрация: 22.9.2010
Поблагодарили: 18 раз
Репутация:   5  


(Axel @ 21.12.2010, 19:19) *
SELECT * FROM dle_post WHERE approve='1' AND lenta='1' ORDER BY RAND()

Использование ORDER BY RAND не только медленно, но и сильно грузит сервер

Похоже что по этому запросу MySQL выбирает все строки из таблицы dle_post, записывает их во временную таблицу с дополнительным полем, в которое сохранаются результаты работы функции RAND (для каждой строки таблицы вычисляется случайное значение вида 0.00433708355234664), сортирует временную таблицу по добавленному полю и только после этого выбирает из временной таблицы строки, удовлетворяющие условию "WHERE approve='1' AND lenta='1'".

Это не очень долго, если в таблице десятки или сотни записей, а если там сотни тысяч или миллионы записей ?

Допустим что такой запрос выполняется 5 секунд (при достаточном объеме таблицы), тогда даже не нужно DDOS атаки, достаточно одного робота-индексатора.
Если он будет присылать 5 запросов в секунду, то уже к моменту завершения формирования ответа на первый запрос во временном каталоге будет 25 временных таблиц, по объему превышающих ту, к которой выполняется SQL-запрос. Это же так нагрузит сервер, что запрос уже не будет выполняться даже и за те 5 секунд, что нужны для еденичного запроса, что еще больше усугубит ситуацию и просто повесит сервер.

Axel, может у Вас действительно большая таблица dle_post ?

Или в момент проблем была не DDOS атака, а просто что-то похожее на частые запросы одной и той же страницы, на которой вызывается этот SQL-запрос (посмотрите в логах). Я встечал такое у себя в логах: с одного IP в течении десятков минут запрашивается одна страница с периодичностью 5-10 раз в секунду (тогда я посчитал это просто глюком в браузере посетителя).


--------------------
Товары и цены в магазинах Вашего города: Городской рынок
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыОшибка при создании шаблона страницы ВП
Нет картинок
5 semarg 685 9.12.2017, 15:36
автор: Nell
Открытая тема (нет новых ответов) Стабильный хостинг за 30р в месяц. GNU/Linux, PHP, MySQL, Perl, бэкапы. Помогу перенести сайт.
5 freeax 1533 10.11.2017, 13:15
автор: freeax
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
3 DFService 718 1.11.2017, 21:09
автор: DFService
Открытая тема (нет новых ответов) Ошибка карты сайта Sitemap. Помогите исправить, пожалуйста
8 July82 2928 22.10.2017, 10:00
автор: komarik_vlad
Открытая тема (нет новых ответов) Нужен совет! Ошибка 500
10 angli4anka 1405 16.10.2017, 19:25
автор: MetalMessiah


 



RSS Текстовая версия Сейчас: 12.12.2017, 12:55
Дизайн