Реклама на сайте Advertise with us

Mysql грузит сервер?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 01/10/08 в 20:00       Ответить с цитатойцитата 

траффик порядка 5к в сутке
на индексе сайта выполняет порядка 5-6 селектов
из них 1 - емкий , пробегается по каталогу и подсчитывает кол-во items в категориях
ни кеша ни статики, все работает в динамике
вопрос, как определить какие процессы (запросы) грузят сервак, и грузят ли вообще, поскольку сомневаюсь в квалификации админа

крипта на ByBit

0
 



С нами с 08.02.03
Сообщения: 10558
Рейтинг: 5961


Передовик Master-X (01.06.2018) Передовик Master-X (16.06.2019) Передовик Master-X (01.04.2020) Передовик Master-X (16.04.2020) Передовик Master-X (16.10.2021) Ветеран трепа Master-X (01.11.2021)
Ссылка на сообщениеДобавлено: 01/10/08 в 20:44       Ответить с цитатойцитата 

Процесс глянь в phpadmin и погляди на индексы.......
Все что после where индекси ;)

8
 



С нами с 25.08.08
Сообщения: 18712
Рейтинг: 1251


Передовик Master-X (01.07.2020) Передовик Master-X (16.07.2020)
Ссылка на сообщениеДобавлено: 01/10/08 в 20:48       Ответить с цитатойцитата 

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

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

попробуй делать все обращения к базе через одну функцию, а в ней пропиши что то типа этого.

$stime = microtime(); //время перед запросом.

// обращаемся к базе
$mysql_eval_error="";
$mysql_eval_result = mysql_query($query, $database) or $mysql_eval_error = mysql_error();

$etime = microtime(); // время после запроса

if($etime - $stime > 0.05) // Отсекаем быстрые запросы и пишем только медленные.
{

// пишем в файл.
$fp = fopen("sql.txt", "a+");
flock($fp, 2);
fwrite($fp, "$query\n".mysql_num_rows($mysql_eval_result)."\n$etime-$stime=".($etime-$stime)."\n\n");
fclose($fp);
}

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

8
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 01/10/08 в 21:24       Ответить с цитатойцитата 

Sterx писал:
ни кеша ни статики, все работает в динамике

Как уже посоветовали необходимо поглядеть на индексы, но в данному случае я бы посоветовал всё-таки внедрить кеширование, особенно сюда
Sterx писал:
из них 1 - емкий , пробегается по каталогу и подсчитывает кол-во items в категориях
не думаю что количество итемов так уж часто меняется.

З.Ы. Да и вообще, чистая динамика мало где нужна ;)

True хостинг

8
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 01/10/08 в 22:04       Ответить с цитатойцитата 

taj писал:
Как уже посоветовали необходимо поглядеть на индексы, но в данному случае я бы посоветовал всё-таки внедрить кеширование, особенно сюда
не думаю что количество итемов так уж часто меняется.

до 300 в день добавляется, а будет еще больше
сейчас порядка 4000 items

кеширование мускуля или кеш страницы сделать на час к примеру?

крипта на ByBit

0
 

php наше всё :)

С нами с 26.07.04
Сообщения: 814
Рейтинг: 447

Ссылка на сообщениеДобавлено: 01/10/08 в 22:41       Ответить с цитатойцитата 

Sterx писал:

вопрос, как определить какие процессы (запросы) грузят сервак, и грузят ли вообще, поскольку сомневаюсь в квалификации админа

1. Поставь mytop - увидишь запросы в realtime и время их выполнения.
2. В конфиг мускуля впиши log-slow-queries и всё с этим связанное. Читать где-то здесь - http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

А так, правильно сказали - делай индексы, делай кеш (или обнолвение по крону, а в реалтайме только статику отдавай.. ). Если совсем тяжело будет - смотри в сторону memcached... Но думаю до этого не дойдут руки :))

8
 



С нами с 05.04.07
Сообщения: 1661
Рейтинг: 1090


Передовик Master-X (01.04.2011)
Ссылка на сообщениеДобавлено: 01/10/08 в 23:25       Ответить с цитатойцитата 

Sterx писал:
из них 1 - емкий , пробегается по каталогу и подсчитывает кол-во items в категориях

Перечитал и показалось мне что это вообще не запрос, а функция. Так? Потому-что у мускула каталогов нет,а count(*) много времени не съест.
Sterx писал:
до 300 в день добавляется, а будет еще больше
сейчас порядка 4000 items

кеширование мускуля или кеш страницы сделать на час к примеру?

Конечно кеширование всей страницы хотя бы на час даст хороший выигрыш, ведь не будет делаться ни одного запроса.
5к хитов сутки/24 * 6 запросов=1250 запросов в час экономии, но применимо только там где-динамики нет вообще.
Если всё-таки динамика нужна какая-то (разные баннеры/пикчи/тексты нужно подгружать,или просто тумбы в разном порядке) то можно кешировать результаты функций (запросов) которые за неё не отвечают, и обновлять кеш либо по устареванию, либо сбрасывать вручную когда данные кеша изменяются. Например, закешировать количество итемов в категории и назвать кеш ItemsCountCAT_ИДкатегории. Если добавляем итем в эту категорию то сбрасываем именно этот кеш. Такой подход имхо даёт отличный результат, потому что мы не будем принудительно перегенерировать кеш для не обновленных данных, хотя в твоём случае (большая интенсивность обновления) вариант с "отложенным" добавлением смотрится предпочтительнее.
В общем тут на месте разбираться нужно ))

True хостинг

8
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 02/10/08 в 01:54       Ответить с цитатойцитата 

проиндексил таблицу главную
вроде помогло, посмотрим дальше

крипта на ByBit

0
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 02/10/08 в 02:51       Ответить с цитатойцитата 

Sterx писал:
траффик порядка 5к в сутке
на индексе сайта выполняет порядка 5-6 селектов
из них 1 - емкий , пробегается по каталогу и подсчитывает кол-во items в категориях
ни кеша ни статики, все работает в динамике
вопрос, как определить какие процессы (запросы) грузят сервак, и грузят ли вообще, поскольку сомневаюсь в квалификации админа


откуда ты умозаключил что сервер вообще что-то грузит?
откуда ты умозаключил что сервер грузит mysql?

5к в сутки и 5-6 запросов это смешно просто, если у тебя таблица не в несколько миллионов записей.

p.s.
некоторым товарищам тут лучше вообще не писать,бредятина такая...

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 02/10/08 в 08:12       Ответить с цитатойцитата 

xreload писал:
откуда ты умозаключил что сервер вообще что-то грузит?
откуда ты умозаключил что сервер грузит mysql?

страницы с выборками отдавались по несколько секунд

слова админа

крипта на ByBit

0
 



С нами с 08.02.03
Сообщения: 10558
Рейтинг: 5961


Передовик Master-X (01.06.2018) Передовик Master-X (16.06.2019) Передовик Master-X (01.04.2020) Передовик Master-X (16.04.2020) Передовик Master-X (16.10.2021) Ветеран трепа Master-X (01.11.2021)
Ссылка на сообщениеДобавлено: 02/10/08 в 08:36       Ответить с цитатойцитата 

Давай структуру и запросы, щас все сделаем будет летать ;)
+1 вынести в крон кое чего....... раз в 5 мин
а тупить может и при 10 запросах в час, сам видел и исправлял ;)

Да и конфиг сервака или че там и my.cfg

Последний раз редактировалось: JM (02/10/08 в 08:43), всего редактировалось 1 раз

8
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 02/10/08 в 08:43       Ответить с цитатойцитата 

все в принципе и так уже летает
всем спасибо icon_smile.gif

крипта на ByBit

0
 



С нами с 17.03.08
Сообщения: 247
Рейтинг: 235

Ссылка на сообщениеДобавлено: 05/10/08 в 16:00       Ответить с цитатойцитата 

может у него конечно там запросы навороченные group by или куча связанных таблиц в запросе, вообще не о чем топик без самого select и остальной инфы типа- структура базы, кол-во записей, с чего вдруг решил что сервер грузит ну и конфиг сервера...

а так конечно mysql грузит, оптимизировать надо...

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »