|
|
|
| Днем сайт неслабо виснет(Страницы и файлы медлено открывает) , а ночью он просто "летает",
что и понятно.
Дневная статистика сервера через команду top показывает следующее:
last pid: 91166; load averages: 0.63, 0.49, 0.41 up 4+02:51:43 17:37:58
194 processes: 1 running, 193 sleeping
CPU states: 12.8% user, 0.0% nice, 15.4% system, 0.4% interrupt, 71.4% idle
Mem: 658M Active, 77M Inact, 214M Wired, 31M Cache, 111M Buf, 12M Free
Swap: 2048M Total, 120M Used, 1928M Free, 5% Inuse, 8K In
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
74357 mysql 13 20 0 467M 66584K kserel 94:17 8.69% mysqld
82960 www 1 96 0 20600K 8256K select 0:21 0.35% httpd
1115 www 1 4 0 22200K 9200K sbwait 4:15 0.14% httpd
1102 www 1 4 0 21096K 8232K sbwait 4:05 0.10% httpd
1094 www 1 4 0 21764K 8916K sbwait 3:59 0.5% httpd
1095 www 1 4 0 21068K 8284K sbwait 3:58 0.00% httpd
1096 www 1 4 0 21260K 8308K sbwait 3:53 0.00% httpd
1097 www 1 4 0 21092K 8324K sbwait 3:52 0.00% httpd
1110 www 1 4 0 22488K 9612K sbwait 3:48 0.00% httpd
|
Может ктонибуть обьяснить или показать на наличии проблемы такого подвисания ?,опираясь на то что показывает статистика. | |
|
|
|
|
|
|
|
для: tim333
(19.02.2008 в 17:43)
| | >0.63, 0.49, 0.41
У вас система свободна как никогда. Иногда пропускную способность на один процесс зажимают сверх нормы - и процесс вынужден ждать, когда ему в очередной раз квоту выделят, система летает, однако, apache не даёт процессам отдать данные за разумный период времени и всё начинает икусствено подтормаживаться. Вы модуль cband не используете?
PS Это одна из возможных причин, не обязательно, что в вашем случае механизм такой... У вас памяти 1 Gb? Сайт один на сервере? Сколько примерно хостов в сутки? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 00:09)
| | Памяти 1gb.
Cайтов вообще 3 но 1 рабочий а 2 других только с контентом(фотки , скриптов, станиц нету).
Хостов около 3к+
Хитов 110к+
Честно я незнаю что это за модуль cband, если вы скажите где можно посмотреть исопльзуеться он или нет .
Вроде он неиспользуеться:
Loaded Modules mod_php5, mod_setenvif, mod_so,
mod_unique_id, mod_log_forensic, mod_usertrack,
mod_headers, mod_expires, mod_cern_meta, mod_proxy,
mod_digest, mod_auth_db, mod_auth_anon, mod_auth,
mod_access, mod_rewrite, mod_alias, mod_userdir,
mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi,
mod_dir, mod_autoindex, mod_include, mod_info, mod_status,
mod_negotiation, mod_mime, mod_mime_magic, mod_log_config,
mod_env, mod_vhost_alias, mod_mmap_static, http_core
|
тут можно посмотреть phpinfo:
http://1zoom.ru/phpinfo.php | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 01:55)
| | Хм... в принципе летать всё должно, а my.ini настроен? Можете его прикрепить сюда?
Когда сервер начнёт тормозить, выполните команду uptime - как она выглядит? И кто жрёт в основном процессор mysqld? Можно памяти под MySQL попытаться побольше выполнить - чем быстрее будут отрабатываться запросы, тем быстрее вся система будет работать, если cband не используется, узким местом, как правило, становится MySQL, особенно если её не настраивали. | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 02:06)
| | my.ini Я ненашел, незнаю где его искать , папок куча, нашел my.cnf, может он нужен? | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 02:56)
| | Да, под FreeBSD конечно же my.cnf (my.ini используется в windows) - хм вполне корректный my.cnf - всё вроде адекватно настроено... | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 02:06)
| | my.ini Я ненашел, незнаю где его искать , папок куча, нашел my.cnf, может он нужен?
Команда Uptime выглядит сейчас так:
2:55AM up 3:52, 1 user, load averages: 0.04, 0.08, 0.09
|
Днем когда сервер адски виснет эти значение около 0.3-0.6
Как можно посмотреть кто жрет процессор mysqld? я просто незнаю....
Mysql может и вправду вяло настроена...хотя проде памяти под нее прилично выделено, но неуверен.
Я незнаю используеться ли cband или нет, незнаю как и где это посмотреть.В phpinfo нету его) | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 03:03)
| | Это мало... 7-8 обычно создаёт ощутимую нагрузку... когда top выполняете посмотрите сколько процентов жрут mysqld-процессы (столбец WCPU) и сколько вообще mysqld процессов в системе?
PS У вас phpMyAdmin имеется? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 03:23)
| | Mysql процессов всегда 1 , жрет 0-15% WcpU.
phpMyAdmin имееться, обычно висит до 20-40 процессов.
Хотите посмотреть переменные и настройки? , вот... | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 08:35)
| | 20-40? Любопытно, а что делают? Спят или работают? И сколько времени висят? Вы используете постоянные соединения или временные? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 13:12)
| | висят 20-40 в основном все в спящем состоянии , промелькает иногда 1-2 работающии, висят 0-10 сек в основном, бывает и дольше до 30-40-50сек.
Иногда поевлютсья процессы котрые вообще висят долго, все процессы которые висят больще 80 сек я убиваю командой kill, запускаемая через крон каждую минуты.
P.S были процессы которые висели вообще по минуте - часу, они накапливались , пришлось сделать крон для убийства слишком долгих.
Использую везде временое соединение. | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 14:42)
| | Т.е. pconnect нигде не используете, а процессы всё равно спят (дело в том, что спят они в 98% случаев только из-за pconnect, а когда спят, жрут оперативную память, которой у вас не много и вынуждают использовать медленный swap)? У вас форум phpBB имеется (если имеется он тоже настроен на временные, а не на постоянные соединения)? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 23:39)
| | Форума нету, постояных соединений нету, если бы были постояные соединения я бы их увидил в процессах.
swap может и подругим причинам использоваться.
Постоянных процессов нет. | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 23:39)
| | Ну может с количеством висяков я приувеличил, но до 10 частенько наблюдаю в спящем состоянии.
Может это из большого количесва команд? в минуту их 3-4к как пишит phpmyadmin.
Тоесть в сек штук 50-60 висят штук 5-10. Значит работают или уже отработали штучек около 50.
Может back_log как то влияет ?
Я уже незнаю что делать. Неделю мучаюсь в поисках. | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 23:39)
| | Сейчас ноч и сайт можно сказать прекрасно работает, количесво висяков 0-5.
Swap постепенно кушаеться гдето до 120мб если сайт дня 3 работает. | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 03:23)
| | состояние MySQL ? вот.. | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 08:36)
| | А у вас таблицы индексированы? Что-то у вас кэш индекса очень вяло используется, даже слишком вяло для такой значительной посещаемости.
PS Сколько в МБ занимает объём базы данных основного файла? И сколько занимает самая крупная таблица? | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 13:16)
| | Если честно я плохо понимаю что такое индексированые таблицы, вот пример одной таблицы:
Field | Type | Null | Key | Default | Extra |
+-----------+--------+------+-----+---------+----------------+
| id | int(7) | NO | PRI | NULL | auto_increment |
| login | text | YES | | NULL | |
| bal | int(6) | YES | | NULL | |
| golos | int(5) | YES | | NULL | |
| one | int(6) | YES | | NULL | |
| yes | int(6) | YES | | NULL | |
| two7 | int(6) | YES | | NULL | |
| two30 | int(6) | YES | | NULL | |
| allltim | int(7) | YES | | NULL | |
| ncoment | int(3) | YES | | NULL | |
| newcoment | int(3) | YES | | NULL | |
| date | text | YES | | NULL | |
| width | int(5) | YES | | NULL | |
| height | int(5) | YES | | NULL | |
| kb | float | YES | | NULL | |
| dir | int(4) | YES | | NULL | |
| 1d | int(6) | YES | | NULL | |
| 2d | int(6) | YES | | NULL | |
| 3d | int(6) | YES | | NULL | |
| 4d | int(6) | YES | | NULL | |
| 5d | int(6) | YES | | NULL | |
| 6d | int(6) | YES | | NULL | |
| 7d | int(6) | YES | | NULL | |
| 8d | int(6) | YES | | NULL | |
| 9d | int(6) | YES | | NULL | |
| 10d | int(6) | YES | | NULL | |
| 11d | int(6) | YES | | NULL | |
| 12d | int(6) | YES | | NULL | |
| 13d | int(6) | YES | | NULL | |
| 14d | int(6) | YES | | NULL | |
| 15d | int(6) | YES | | NULL | |
| 16d | int(6) | YES | | NULL | |
| 17d | int(6) | YES | | NULL | |
| 18d | int(6) | YES | | NULL | |
| 19d | int(6) | YES | | NULL | |
| 20d | int(6) | YES | | NULL | |
| 21d | int(6) | YES | | NULL | |
| 22d | int(6) | YES | | NULL | |
| 23d | int(6) | YES | | NULL | |
| 24d | int(6) | YES | | NULL | |
| 25d | int(6) | YES | | NULL | |
| 26d | int(6) | YES | | NULL | |
| 27d | int(6) | YES | | NULL | |
| 28d | int(6) | YES | | NULL | |
| 29d | int(6) | YES | | NULL | |
| name | text | YES | | NULL | |
| un | int(2) | NO | | 0 | |
| oz | text | NO | | | |
+-----------+--------+------+-----+---------+----------------+
48 rows in set (0.04 sec)
|
все остольные таблицы примерно такие же(с одним ключом id, поля конечно другие)
Самая большая таблица весит 1.4Mb | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 14:51)
| | Слишком мало, чтобы создавать нагрузку... | |
|
|
|
|
|
|
|
для: cheops
(20.02.2008 в 02:06)
| | командой ps -A нашел такии строчки:
840 con- I 0:00.01 /bin/sh /usr/local/bin/mysqld_safe --defaults-extra-f
991 con- S 25:01.53 /usr/local/libexec/mysqld --defaults-extra-file=/var/
|
может поможет..... | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 03:05)
| | Если честно я плохо понимаю что такое индексированые таблицы, вот пример одной таблицы:
Ага, а сервер администрируйте )))
Подвисание майскула и выдача данных, особенно если у вас меговски используются Where и связи по полям, зависит от индексов по которым осуществляется связь и условие. | |
|
|
|
|
|
|
|
для: himic
(20.02.2008 в 15:13)
| | А что никто не спросил про канал, какая пропускная способность?
Хыыы, у вас и картинки медленно грузятся, у меня канал 30 мбит/с, а загружается как по модему | |
|
|
|
|
|
|
|
для: himic
(20.02.2008 в 15:15)
| | Канал 100 Mбайт/сек.
Просто дело в том что пропускная способность напрямую зависит от производительности сервера. Грузиться медлено так как весь сервер вяло работает.
Канала хватает это точно, просто надо сервер настроить для большей производительности. | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 15:57)
| | P.S пропускная способность канала 100Mбит/c | |
|
|
|
|
|
|
|
для: himic
(20.02.2008 в 15:15)
| | P.S Я тут пинговал свой сайт и сайт конкурента.
на свой сайт хоть пингуй пакеты по 10кб, причем половина из них у меня бьються, а на сайте конкурента вроде больше пакета 1кб пакеты неидут.
Может поможет уменьшить максимальный размер пакета? и как это сделать? | |
|
|
|
|
|
|
|
для: himic
(20.02.2008 в 15:13)
| | Раньше был хостинг , состоящий из 3 хостингов и mysql база вообще на другом компьютере находилась, приходили сообщения о критической нагрузки на mysql сервер , но все более менее работало, сейчас перешел на выделеный сервер где все сразу, начались проблемы.
Where действительно очень часто используетсья (90-95% всех mysql команд).
Вот примеры чаще всего использованых команд Mysql :
$width="число";
$height="число";
$page="число";
select * from blabla where width>='$width' and height>='$height' order by (bal/golos)*(one/(select ndown from tim where id='1')) desc,id desc limit $page,9
select * from blabla where id='число';
|
Это самые частые Mysql команда.
Cтолбцы bal,golos,one не уникальны и насколько я понял индексы тут не примениш.
Еще куча команд обращеных к таблице в одну строку с where id='1'; | |
|
|
|
|
|
|
|
для: tim333
(20.02.2008 в 16:18)
| | > select * from blabla where width>='$width' and height>='$height' order by (bal/golos)*(one/(select ndown from tim where id='1')) desc,id desc limit $page,9
>Cтолбцы bal,golos,one не уникальны и насколько я понял индексы тут не примениш.
Зачем вообще совать независимый select ndown from tim в выражение порядка?!
Может быть попробовать переписать выражение порядка как bal*one/golos , или даже завести отдельный индексированный столбик под его значение? Уникальность значений ключа сортировки для создания индекса, кстати, совсем не требуется. | |
|
|
|
|
|
|
|
для: tim333
(19.02.2008 в 17:43)
| | Мне кажется, что надо ещё гиг оперативы поставить, а потом таблицы в MySQL заоптимизировать | |
|
|
|
|
|
|
|
для: pini-pini
(20.02.2008 в 16:16)
| | НАш админ оракла был в шоке от селекта )))
Попробуй отдельно в каком нибудь query browsere отработать, посмотри, действительно ли он так долго отрабатывает, если да, то оптимизируй селекты.
Попробуй mysql_free_result, вобщем эксперементируй | |
|
|
|
|
|
|
|
для: himic
(21.02.2008 в 06:22)
| | Пооптимизировал уже все. Самые жестокие селекты которых в секунду около 1-2 обрабатываеться за 0.05сек.
Дело скорея всего в другом. | |
|
|
|
|
|
|
|
для: tim333
(19.02.2008 в 17:43)
| | Я уже вообще ничего непонимаю.
Начинаю сканировать сайт через host-tracker.com. Время отклика 18 сек, ппц я в панике.
Проходит минутка и БАХ, сайт начинает работать раз в 5 шустрея.Я быстренько смотрю количесво висящих процессов в mysql, смотрю что в top и всякие характеристики.
И все осталось таким же , как было все, так все и осталось, непонимаю....... o_O | |
|
|
|
|
|
|
|
для: tim333
(21.02.2008 в 14:36)
| | Может линуксу переустановить?
Давай ставь SLAS )))
А если серьёзно, если всё так серьёзно, то попробуй создать копию этой машины.
Я думаю ничего страшного не будет если ты быстренько кабеля переставишь и посмотришь скорость работы на другой машине. | |
|
|
|
|
|
|
|
для: tim333
(21.02.2008 в 14:36)
| | Раз машина у Вас свободна, значит ограничения либо на уровне приложений, либо на уровне канала.
Для самого Apache у Вас какие ограничения на максимальное кол-во процессов? Если он сильно зажат, то примерно такая картина и будет. Error_log для Apache (общий, не для сайта) что-нибудь говорит?
А сервер где расположен? | |
|
|
|