Перейти к содержанию
Форум поддержки пользователей VamShop

Пишется ошибка в mysql_db_error.log


Рекомендуемые сообщения

Всем привет!

В последнее время начала все чаще появляться ошибка в mysql_db_error.log:

19:06:55 | 1135 - Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug | connect | /zakaz.htm

и так далее только в конце адрес страницы меняется.

Версии 1.38 и 1.44 у сайтов

Хостер пишет что:

Сайт такой-то потребил большое количество ресурсов в результате чего был перегружен виртуальный сервер из-за нехватки памяти!

Прислал проблемные запросы.

Можно их как-то оптимизировать, или ненужное поотключать?

Запросы:

# Time: 090724 23:27:45

# User@Host: u_art[u_art] @ localhost []

# Query_time: 11  Lock_time: 0  Rows_sent: 10  Rows_examined: 5905

use art;

select p.products_fsk18,

                                  p.products_shippingtime,

                                  p.products_model,

                                  p.products_ean,

                                  pd.products_name,

                                  m.manufacturers_name,

                                  p.products_quantity,

                                  p.products_image,

                                  p.products_weight,

                                  pd.products_short_description,

                                  pd.products_description,

                                  p.products_id,

                                  p.manufacturers_id,

                                  p.products_price,

                                  p.products_vpe,

                                  p.products_vpe_status,

                                  p.products_vpe_value,

                                  p.products_discount_allowed,

                                  p.products_tax_class_id,

                                  p.customer_id

                                  from  products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id

                                  left join specials s on p.products_id = s.products_id

                                  where p.products_status = '1'

                                  and p.products_id = p2c.products_id

                                  and pd.products_id = p2c.products_id

                                  and pd.language_id = '1'

                                  and p2c.categories_id = '39' ORDER BY products_name asc  LIMIT 0, 10;

# Time: 090725  0:33:25

# User@Host: u_art[u_art] @ localhost []

# Query_time: 15  Lock_time: 0  Rows_sent: 5  Rows_examined: 7243

select p.products_fsk18,

                                  p.products_shippingtime,

                                  p.products_model,

                                  p.products_ean,

                                  pd.products_name,

                                  m.manufacturers_name,

                                  p.products_quantity,

                                  p.products_image,

                                  p.products_weight,

                                  pd.products_short_description,

                                  pd.products_description,

                                  p.products_id,

                                  p.manufacturers_id,

                                  p.products_price,

                                  p.products_vpe,

                                  p.products_vpe_status,

                                  p.products_vpe_value,

                                  p.products_discount_allowed,

                                  p.products_tax_class_id,

                                  p.customer_id

                                  from  products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id

                                  left join specials s on p.products_id = s.products_id

                                  where p.products_status = '1'

                                  and p.products_id = p2c.products_id

                                  and pd.products_id = p2c.products_id

                                  and pd.language_id = '1'

                                  and p2c.categories_id = '123' ORDER BY products_name asc  LIMIT 20, 10;

# Time: 090725  0:34:55

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 26  Lock_time: 0  Rows_sent: 10  Rows_examined: 5185

use base2;

select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from reviews r, reviews_description rd, products p, products_description pd where p.products_status = '1' and p.products_id = r.products_id  and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by r.reviews_id desc limit 10;

# Time: 090725  0:45:24

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 18  Lock_time: 1  Rows_sent: 10  Rows_examined: 5185

select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from reviews r, reviews_description rd, products p, products_description pd where p.products_status = '1' and p.products_id = r.products_id  and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by r.reviews_id desc limit 10;

# Time: 090725  0:45:25

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 20  Lock_time: 0  Rows_sent: 10  Rows_examined: 5185

select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from reviews r, reviews_description rd, products p, products_description pd where p.products_status = '1' and p.products_id = r.products_id  and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by r.reviews_id desc limit 10;

# Time: 090725  4:22:49

# User@Host: u_art[u_art] @ localhost []

# Query_time: 18  Lock_time: 0  Rows_sent: 10  Rows_examined: 6601

use art;

select p.products_fsk18,

                                  p.products_shippingtime,

                                  p.products_model,

                                  p.products_ean,

                                  pd.products_name,

                                  m.manufacturers_name,

                                  p.products_quantity,

                                  p.products_image,

                                  p.products_weight,

                                  pd.products_short_description,

                                  pd.products_description,

                                  p.products_id,

                                  p.manufacturers_id,

                                  p.products_price,

                                  p.products_vpe,

                                  p.products_vpe_status,

                                  p.products_vpe_value,

                                  p.products_discount_allowed,

                                  p.products_tax_class_id,

                                  p.customer_id

                                  from  products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.manufacturers_id

                                  left join specials s on p.products_id = s.products_id

                                  where p.products_status = '1'

                                  and p.products_id = p2c.products_id

                                  and pd.products_id = p2c.products_id

                                  and pd.language_id = '1'

                                  and p2c.categories_id = '95' ORDER BY products_name asc  LIMIT 0, 10;

# Time: 090725  4:33:34

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 13  Lock_time: 1  Rows_sent: 10  Rows_examined: 5185

use base2;

select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from reviews r, reviews_description rd, products p, products_description pd where p.products_status = '1' and p.products_id = r.products_id  and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by r.reviews_id desc limit 10;

# Time: 090725  7:03:44

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 12  Lock_time: 1  Rows_sent: 1  Rows_examined: 12

select count(*) as count from whos_online where session_id = '11cd46c8d213acaccc49c575eb9e8014';

Ссылка на сообщение
Поделиться на другие сайты

Да вроде никак эти запросы не оптимизируешь, это ж выборка товаров из категории, если я правильно понял.

Попробуйте в Админке - Настройки - Основные - Кэш включить кэш и sql кэш, время жизни поставить - неделя (в секундах)

Ссылка на сообщение
Поделиться на другие сайты

Кеш включен на одном из сайтов, но это не помогает и так много времени не получится на данном хостинге - там ограничение на количество файлов в папке - не более 10 тысяч, а у меня временами набиралось 50 тыс тысяч в папках кеша - пришлось отключить кеш после звонка админа хостинга. Сайты с посещаемостью 1к-3.5к в сутки сейчас летом. Может уже пора брать сервер? :) (сейчас VPS)

А этот запрос не получится отключить убрав отзывы:

# Time: 090725  4:33:34

# User@Host: u_base2[u_base2] @ localhost []

# Query_time: 13  Lock_time: 1  Rows_sent: 10  Rows_examined: 5185

use base2;

select r.reviews_id, r.reviews_rating, p.products_id, p.products_image, pd.products_name from reviews r, reviews_description rd, products p, products_description pd where p.products_status = '1' and p.products_id = r.products_id  and r.reviews_id = rd.reviews_id and rd.languages_id = '1' and p.products_id = pd.products_id and pd.language_id = '1' order by r.reviews_id desc limit 10;

Ссылка на сообщение
Поделиться на другие сайты
  • 4 months later...

Аналогичная проблема: перестал работать сайт, по странице отобразилась куча ошибок mySQL. Позле звонка хостеру, нам заявили, что наши SQL-запросы грузят их сервер и выслали такой список:

Проблемные SQL запросы, из за которых сервер сильно перегружен.

# Time: 091223 15:16:02

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 12  Lock_time: 1  Rows_sent: 0  Rows_examined: 4073 use petmarket; SELECT orders_id FROM orders WHERE customers_id = '' ORDER BY orders_id DESC LIMIT 1; # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 12  Lock_time: 1  Rows_sent: 0  Rows_examined: 4073 SELECT orders_id FROM orders WHERE customers_id = '' ORDER BY orders_id DESC LIMIT 1;

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 13  Lock_time: 0  Rows_sent: 31  Rows_examined: 6465 use petmarket; select p.products_fsk18,

                                 p.products_shippingtime,

                                 p.products_model,

                                 p.products_ean,

                                 pd.products_name,

                                 m.manufacturers_name,

                                 p.products_quantity,

                                 p.products_image,

                                 p.products_weight,

                                 pd.products_short_description,

                                 pd.products_description,

                                 p.products_id,

                                 p.manufacturers_id,

                                 p.products_price,

                                 p.products_vpe,

                                 p.products_vpe_status,

                                 p.products_vpe_value,                            

                                 p.products_discount_allowed,

                                 p.products_tax_class_id

                                 from  products_description pd, products_to_categories p2c, products p left join manufacturers m on p.manufacturers_id = m.man ufacturers_id

                                 left join specials s on p.products_id = s.products_id

                                 where p.products_status = '1'

                                 and p.products_id = p2c.products_id

                                 and pd.products_id = p2c.products_id

                                 

                                                             

                                 and pd.language_id = '1'

                                 and p2c.categories_id = '103' ORDER BY products_name asc  LIMIT 0, 100;

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 0  Rows_sent: 20  Rows_examined: 11180 use petmarket; select distinct

                                          p.products_id,

                                          pd.products_name,

                                          p.products_image,

                                          p.products_tax_class_id,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                          p.products_price

                                          from products p, products_description pd, products_to_categories p2c, categories c

                                          where p.products_status=1

                                          and p.products_id = p2c.products_id

                                          and pd.products_id = p.products_id

                                          and p.products_id !='0'

                                          and pd.language_id = '1'

                                          and c.categories_id = p2c.categories_id

                                         

                                         

                                          and c.categories_status=1 order by

                                          p.products_date_added desc limit 20; # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 4  Rows_sent: 20  Rows_examined: 11180 select distinct

                                          p.products_id,

                                          pd.products_name,

                                          p.products_image,

                                          p.products_tax_class_id,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                          p.products_price

                                          from products p, products_description pd, products_to_categories p2c, categories c

                                          where p.products_status=1

                                          and p.products_id = p2c.products_id

                                          and pd.products_id = p.products_id

                                          and p.products_id !='0'

                                          and pd.language_id = '1'

                                          and c.categories_id = p2c.categories_id

                                         

                                         

                                          and c.categories_status=1 order by

                                          p.products_date_added desc limit 20; # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 0  Rows_sent: 20  Rows_examined: 11180 select distinct

                                          p.products_id,

                                          pd.products_name,

                                          p.products_image,

                                          p.products_tax_class_id,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                          p.products_price

                                          from products p, products_description pd, products_to_categories p2c, categories c

                                          where p.products_status=1

                                          and p.products_id = p2c.products_id

                                          and pd.products_id = p.products_id

                                          and p.products_id !='0'

                                          and pd.language_id = '1'

                                          and c.categories_id = p2c.categories_id

                                         

                                         

                                          and c.categories_status=1 order by

                                          p.products_date_added desc limit 20;

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 0  Rows_sent: 1  Rows_examined: 2938 use petmarket; select count(p.products_id) as total from products_to_categories as ptc, products as p where ptc.categories_id = '130' and ptc.products_id=p.products_id and p.products_status='1'; # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 0  Rows_sent: 10  Rows_examined: 794 SELECT * FROM

                                               products p,

                                               products_description pd,

                                               products_to_categories p2c,

                                               categories c

                                               where c.categories_status='1'

                                               and p.products_id = p2c.products_id and p.products_id=pd.products_id

                                               and p2c.categories_id = c.categories_id

                                               

                                               

                                               and c.parent_id = '136'

                                               and p.products_status = '1' and pd.language_id = '1'

                                               order by p.products_date_added DESC limit 10;

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 0  Rows_sent: 20  Rows_examined: 11180 select distinct

                                          p.products_id,

                                          pd.products_name,

                                          p.products_image,

                                          p.products_tax_class_id,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                          p.products_price

                                          from products p, products_description pd, products_to_categories p2c, categories c

                                          where p.products_status=1

                                          and p.products_id = p2c.products_id

                                          and pd.products_id = p.products_id

                                          and p.products_id !='0'

                                          and pd.language_id = '1'

                                          and c.categories_id = p2c.categories_id

                                         

                                         

                                          and c.categories_status=1 order by

                                          p.products_date_added desc limit 20;

# User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 17  Lock_time: 4  Rows_sent: 106  Rows_examined: 4642 use petmarket; select distinct m.manufacturers_id, m.manufacturers_name from manufacturers as m, products as p where m.manufacturers_id=p.manufacturers_id order by m.manufacturers_name; # Time: 091222 22:58:11 # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 37  Lock_time: 4  Rows_sent: 5  Rows_examined: 5316 select distinct

                                               p.products_id,

                                               p.products_image,

                                               p.products_price,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                               p.products_tax_class_id,

                                               pd.products_name from products p, products_description pd

                                               where p.products_status = '1'

                                               

                                               and p.products_ordered > 0

                                               and p.products_id = pd.products_id

                                               and pd.language_id = '1'

                                               order by p.products_ordered desc limit 5; # Time: 091222 22:58:13 # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 39  Lock_time: 5  Rows_sent: 5  Rows_examined: 8087 select distinct

                                               p.products_id,

                                               p.products_price,

                                               p.products_tax_class_id,

                                               p.products_image,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                               pd.products_name from products p, products_description pd, products_to_categories p2c, categories c

                                               where p.products_status = '1'

                                               and c.categories_status = '1'

                                               and p.products_ordered > 0

                                               and p.products_id = pd.products_id

                                               and pd.language_id = '1'

                                               and p.products_id = p2c.products_id

                                               

                                               

                                               and p2c.categories_id = c.categories_id and '1'

                                               in (c.categories_id, c.parent_id)

                                               order by p.products_ordered desc limit 5; # User@Host: u_petmarket[u_petmarket] @ localhost [] # Query_time: 35  Lock_time: 1  Rows_sent: 5  Rows_examined: 5316 select distinct

                                               p.products_id,

                                               p.products_image,

                                               p.products_price,

                                          p.products_vpe,

                                                          p.products_vpe_status,

                                                          p.products_vpe_value,

                                               p.products_tax_class_id,

                                               pd.products_name from products p, products_description pd

                                               where p.products_status = '1'

                                               

                                               and p.products_ordered > 0

                                               and p.products_id = pd.products_id

                                               and pd.language_id = '1'

                                               order by p.products_ordered desc limit 5;

Не понимаю, чего вдруг мы им стали мешать, раньше все нормально работало?!

Включила кэш, но сайт все равно работает очень медленно, а в админке через раз вылазят ошибки mySQL:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/petmarket/petmarket.com.ua/inc/vam_db_fetch_array.inc.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at /var/www/petmarket/petmarket.com.ua/inc/vam_db_fetch_array.inc.php:41) in /var/www/petmarket/petmarket.com.ua/admin/includes/functions/general.php on line 131

Ссылка на сообщение
Поделиться на другие сайты

Да где ж его взять, этого идеального хостера? Это уже второй, всюду расхваливаемый как один из самых стабильных...

Саша, насколько я понимаю, в приведенном списке проблемой стал запрос к БД товаров? У нас их немногим меньше 2 тыс. Разве это может быть причиной зависания сервера?

В прикрепленном файле ошибки, которые появляются при загрузке страницы сайта. До my_sql_db_error.log не добраться - не могу даже на ftp зайти

123.txt

Ссылка на сообщение
Поделиться на другие сайты

Например здесь сверхе справа баннер.

Хороший хостер.

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

Ссылка на сообщение
Поделиться на другие сайты

Да и с этим полгода проблем особых не было, если что-то и случалось, как правило, ответ "залип апачи" или "загружен сервер", а тут вдруг виной всему оказались мы с большим количеством запросов к БД, это при том, что сегодня количество заходов на сайт, меньше, чем даже в выходные и в два раза меньше, чем обычно. Тех.поддрежка начала нам рассказывать о "качественных движках", которые и при 4 тыс. посещений нормально работают на эконом.тарифе.

Блин, аж обидно, вчера, да и все полгода все работало, а сегодня некачественным движком обозвали...

После 20-ти минутных заливаний, в конце-концов, что-то там у себя подкрутили, стало вдруг все работать. Иногда поражаешься людям...

Ссылка на сообщение
Поделиться на другие сайты

Вы просто не забывайте, что деньги Вы им платите, а не они Вам, зачем получать проблемы за свои же деньги.

Ссылка на сообщение
Поделиться на другие сайты

Я к выходу следующей версии VaM Shop чуть оптимизирую запросы в базе, их будет меньше, но всё равно, принципиально особо не изменится ничего, т.е. порядок примерно одинаковый будет.

Если у вас много товаров, можно попробовать всё лишнее из магазина убрать.

Например вот бокс Лучшие товары может запросов много давать если товаров много, отключите в Админке - Настройки - Боксы - Лучшие товары.

Отключить счётчик товаров можно в Админке - Настройки - Основные - Мой магзаин - Показыть количество товаров внутри категорий.

Там же если шаблон vamshop, можно попробовать меню поменять стандартное например взять из vamshop_table шаблона, меню там по проще, без настроек, но и запросов к базе делает меньше.

Можно просто взять файлы:

/templates/vamshop_table/source/boxes/categories.php

/templates/vamshop_table/box/box_categories.php

/templates/vamshop_table/source/inc/vam_show_category.inc.php

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, Саша

Версия магазина пока стоит 1.50 - никак не соберусь с обновлением, так смотрю, обновляться таки стОит?

Ссылка на сообщение
Поделиться на другие сайты

Смотрите сами, если есть возможность, обновитесь, если нет, всё настроено и работает, пусть работает.

Ссылка на сообщение
Поделиться на другие сайты

После вчерашних "зависаний" теперь нужно ошибки исправлять: при создании нового статуса покупателя появляется ошибка БД.

Запись в mysql_db_error.log:

24/12/2009 17:12:11 | 1050 - Table 'personal_offers_by_customers_status_10' already exists | create table personal_offers_by_customers_status_10 (price_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, products_id int NOT NULL, quantity int, personal_offer decimal(15,4)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_ci | /admin/customers_status.php?page=1&action=insert

Ссылка на сообщение
Поделиться на другие сайты

Пишет, что уже есть таблица personal_offers_by_customers_status_10

Нужно наверное удалить эту таблицу, а так же колонку group_permission_10 удалить в таблице products.

Ссылка на сообщение
Поделиться на другие сайты

Эх, Мирохост, Мирохост...

Пришлось мне взять сервер, так как 6 сайтов на Vamshop укладывали весь сервер, включая соседей по VPS, посещалка была до 10к в сутки

Кеш тоже не включиш на vps, так как больше 10 тыс файлов в одной папке нельзя.

helen, если есть возможность взять с друзьями, партнерами сервер за 675 грн\мес - то берите смело - хостинг довольно стабильный, нареканий пока нет, работаю  с ними 1,5 года

С наступающими :)

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, Matvey, взаимно :)

Так мы с Вами соседи - тоже на Мирохосте... Подумываем по поводу сервера, смотрели еще на Укртелекоме - там тарифы значительно ниже, а вот интересно насколько стабильно работает?...

Саша, при копировании товара вылазит ошибка:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/petmarket/petmarket.com.ua/inc/vam_db_fetch_array.inc.php on line 41

Warning: Cannot modify header information - headers already sent by (output started at /var/www/petmarket/petmarket.com.ua/inc/vam_db_fetch_array.inc.php:41) in /var/www/petmarket/petmarket.com.ua/admin/includes/functions/general.php on line 131

В /admin/mysql_db_error.log никаких записей по этому поводу

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

Пришлите доступ на ftp, ссылку на магазин, доступ в админку и ещё раз описание проблемы.

Попробую глянуть.

Ссылка на сообщение
Поделиться на другие сайты

Ну в принципи и к Хелен и к Матвею

"Кеш включен на одном из сайтов, но это не помогает и так много времени не получится на данном хостинге - там ограничение на количество файлов в папке - не более 10 тысяч, а у меня временами набиралось 50 тыс тысяч в папках кеша - пришлось отключить кеш после звонка админа хостинга. Сайты с посещаемостью 1к-3.5к в сутки сейчас летом. Может уже пора брать сервер?  (сейчас VPS)"

Что за хостинг с этим ограничением?

"Да где ж его взять, этого идеального хостера? Это уже второй, всюду расхваливаемый как один из самых стабильных..."

Если не затруднит поделитесь инфой про горе-хостинги

Ссылка на сообщение
Поделиться на другие сайты

Речь не о горе-хостинге, а о ресурсах потребляющим скриптом в неограниченных количествах.

Был на хостингах, которые начинали падать, когда я добавлял вручную товары.

Из всех указанных:

http://vamshop.ru/forum/index.php?topic=3834.0

Рекомендую только Мирохост (арендуемый сервер держит до 22000 человек/сутки) и РувебНет (правда при посещаемости более 200 чел/сутки не пробовал)

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...