- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, проблема такая: движок самописный, в конце марта добавлял данные на сайт и начала вылазить ошибка 504. Обратился в тех. поддержку хостинга с этой проблемой. Они мне ответили что есть два варианта исправления такой проблемы - оптимизировать запросы MySQL или проапгрэйдить сервер.
Далее я пересел на более мощный сервер, ошибка пропала, но страницы очень долго открываются. Начал искать следующий выход из этой ситуации и выяснил, что есть запрос который нагружает процессор сервера на 150% и его нужно оптимизировать или переписать.
Кто сможет помочь решить эту проблему или может кого посоветуете, пишите пожалуйста буду очень признателен.
С уважением, Александр.
Вы бы хоть сам запрос показали. А желательно еще и структуру базы (включая индексы).
Вот запрос который нагружает:
ads.*,
feautures.`hot` as f_hot ,
feautures.`color` as f_color ,
feautures.`fast` as f_fast ,
feautures.`up` as f_up ,
feautures.`addtime` as f_addtime ,
feautures.`addtime`+ads.expire as expire ,
feautures.`unlock` as f_unlock ,
cat.title as category ,
(SELECT COUNT(*) FROM adsFiles WHERE adsFiles.adsId=ads.id) AS images_count,
(SELECT dir FROM adsFiles WHERE adsFiles.adsId=ads.id limit 1) AS image ,extFields.* , CONCAT(
(SELECT `title` FROM car_models where car_models.`id`=extFields.`marka_model_1`) ,
' ',
(SELECT `title` FROM car_models where car_models.`id`=extFields.`marka_model_2`)
) as marka_model
FROM
`ads` as `ads`,
`feautures` as feautures,
`categories` as `cat`,
`extFields` where ( `categoryId`='3' ) AND `checked`='1' AND (
cat.id=ads.categoryId AND
extFields.adsId=ads.id AND
feautures.adsId=ads.id AND
cat.id=ads.categoryId AND
extFields.adsId=ads.id) and feautures.`addtime`+ads.expire>1334042376 GROUP by `adsId` ORDER BY (`date`+`feautures`.`up`) DESC$
Больше ничего показать не могу, только знаю где он формируется и всё...
Toppins, удалите вложенные запросы в select. Получайте данные частями, т.е. уходите от join (у вас псевдо-join), т.е. получили данные из основной таблицы, например, выбираете все categoryId - одним запросом (важно!) получаете данные о всех категориях.
Индекс на categoryId и checked.
Как можно нагрузить процессор на 150% ? Процессор что ли друга на помощь зовет.
Вам не sql запрос оптимизировать, а всю часть получения данных переделать. Через форум тут не помочь, надо смотреть структуру таблиц, что как сохраняется, как вызывается.
Если вопрос не очень срочный, то могу попробовать помочь. Просто пятница, потом пасха - не очень рабочее состояние.
Как можно нагрузить процессор на 150% ? Процессор что ли друга на помощь зовет.
Конечно, там не на 150%. Просто админ смотрит в программу top и видит 150%. Так уж эта программа показывает загрузку многоядерных процессоров.
ерез форум тут не помочь, надо смотреть структуру таблиц, что как сохраняется, как вызывается.
золотые слова..