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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

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


(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


(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


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


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

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


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

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


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


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


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


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


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

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


(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


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


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


(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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1239 24.11.2023, 14:46
автор: alexey
Открытая тема (нет новых ответов) Web программирование на С/С++/PHP/MySQL/SQL, высоконагруженные проекты
Есть наработки в области бирж трафика, топов, тизеров, видео cj-тубов
4 DFService 3347 8.4.2020, 18:02
автор: DFService
Открытая тема (нет новых ответов) Верстка, php + mysql, недорого
3 devprojectlab 2654 28.10.2019, 18:53
автор: Mukis
Открытая тема (нет новых ответов) Нужен человек, который хорошо понимает php+mysql
Нужен человек, который хорошо понимает php+mysql
0 dsugar 2498 7.9.2018, 10:37
автор: dsugar
Открытая тема (нет новых ответов) Нуждаюсь в услугах вебмастера, знающего html, css, php, mysql
1 Bizota 2971 21.8.2018, 1:33
автор: kalm


 



RSS Текстовая версия Сейчас: 18.4.2024, 8:15
Дизайн