Продолжаем хаить форум
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
По тихоньку чищу скрипт - и вот теперь возникает сильная нужда отловить пропала проблема или нет, т.к. она возникает спонтанно и с разным периодом. Так что большая просьба сообщать о возникающих тормозах.
- al_us
- Почётный участник

- Сообщения: 442
- Зарегистрирован: 24 июн 2015, 09:27
- Репутация: 115
- Настоящее имя: Алексей
- Контактная информация:
Re: Продолжаем хаить форум
будем на чеку кэп

- Serg
- Мастер
- Сообщения: 20561
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Продолжаем хаить форум
У PHP есть глобальное ограничение на время работы скрипта, поставь там секунд 10 или даже 5 - подвисать перестанетNick писал(а):По тихоньку чищу скрипт - и вот теперь возникает сильная нужда отловить пропала проблема или нет, т.к. она возникает спонтанно и с разным периодом. Так что большая просьба сообщать о возникающих тормозах.
И показал-бы top - может дело не в apache...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
SVP
- Мастер
- Сообщения: 5886
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: Продолжаем хаить форум
А нельзя-ли попросту переделать так, чтобы графика выдавалась без скриптов ?
Или какой-то секьюрити ризон есть ? Как по мне, так это немного диковато, когда для получения картинок php дёргается.
Или какой-то секьюрити ризон есть ? Как по мне, так это немного диковато, когда для получения картинок php дёргается.
- xvovanx
- Мастер
- Сообщения: 3310
- Зарегистрирован: 25 фев 2016, 12:27
- Репутация: 920
- Настоящее имя: Владимир
- Откуда: Latvia
- Контактная информация:
Re: Продолжаем хаить форум
Ааа, теперь понятно почему за полдня 6 раз выкидывало с форума. Сидишь, читаешь - глядь и ты уже только читатель, а не "писатель"Nick писал(а):По тихоньку чищу скрипт
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
ну да - есть ограничения. Конечно, все, что в открытых форумах можно и так отдавать, но надо же узнать, что оно в открытом форуме весит. Вообще в системе все файлы лежат по захешенными именами, настоящее имя дается уже только когда файл отдается - это кстати тоже пример, почему нужен скрипт - два файла с одинаковым именем будет не сохранить, придется приделывать суфиксы, а это может начать бесить, когда например один и тот же конфиг будет иметь 10 имен.SVP писал(а):А нельзя-ли попросту переделать так, чтобы графика выдавалась без скриптов ?
Тут тоже есть прикол - файлы почему-то отдает в chunks по 8к. Если будет медленный коннекшн скачать большой файл будет проблематично.UAVpilot писал(а):У PHP есть глобальное ограничение на время работы скрипта, поставь там секунд 10 или даже 5 - подвисать перестанет
Код: Выделить всё
while (!feof($fp))
{
echo fread($fp, 8192);
}
fclose($fp);
Это извиняюсь, забыл - не увуидел там ничего нового и не выложил.UAVpilot писал(а):И показал-бы top - может дело не в apache...
Единственный процесс с большой цифрой - это mysql - но он висит постоянно поэтому у нем прилично затраченного процессороного времени, в момент нагрузки он жрет не много.
А вот это даже я не понимаюxvovanx писал(а):Ааа, теперь понятно почему за полдня 6 раз выкидывало с форума
А вы точно всякие режимы инкогнито в браузере не включаете?
-
SVP
- Мастер
- Сообщения: 5886
- Зарегистрирован: 19 дек 2012, 15:49
- Репутация: 884
- Откуда: Москва
- Контактная информация:
Re: Продолжаем хаить форум
Да фиг бы с ними с конфигами... картинки-то нафига прятатьNick писал(а):ну да - есть ограничения. Конечно, все, что в открытых форумах можно и так отдавать, но надо же узнать, что оно в открытом форуме весит. Вообще в системе все файлы лежат по захешенными именами, настоящее имя дается уже только когда файл отдается - это кстати тоже пример, почему нужен скрипт - два файла с одинаковым именем будет не сохранить, придется приделывать суфиксы, а это может начать бесить, когда например один и тот же конфиг будет иметь 10 имен.
И как-то сомневаюсь я, что она в каких-то "закрытых" форумах есть и ээээ... вообще там нужна
Но тут да, как-то колечить движок придется...
Смайлы хоть хорошо не через скрипты выдаются...
PS. Всё-таки, наверное нгикс поставить и расслабиться. Из апача в нгикс будет отдаваться мгновенно, и процессы будут нормально освобождаться.
- MX_Master
- Мастер
- Сообщения: 6822
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Продолжаем хаить форум
В порядке бреда - с одного IP на форум заходят разные юзеры. Из-за динамической выдачи IP'шников провайдером.Nick писал(а):А вот это даже я не понимаю . меня обычно не выкидывает, даже при перезагрузке apache, вообще, чтобы я не делал с серваком - не выкидывает... как бы это отловить.
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Я так понимаю, что session id хранится в кукизах и оттуда берется, привязки по ip нет.
Когда я хочу зайти за админа, я просто открываю окно в режиме инкогнито и логинюсь там за админа, не выходя из основоного аккаунта. И оба работают нормально.
Когда я хочу зайти за админа, я просто открываю окно в режиме инкогнито и логинюсь там за админа, не выходя из основоного аккаунта. И оба работают нормально.
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Хммм... пока лучше не стало...
вот график по загруженности памяти и количеству апачей с шагом в 2 секунды.
С 200 до 516 процессов прошло около 48 секунд...
вот график по загруженности памяти и количеству апачей с шагом в 2 секунды.
С 200 до 516 процессов прошло около 48 секунд...
- xvovanx
- Мастер
- Сообщения: 3310
- Зарегистрирован: 25 фев 2016, 12:27
- Репутация: 920
- Настоящее имя: Владимир
- Откуда: Latvia
- Контактная информация:
Re: Продолжаем хаить форум
Нет, ничего такого не использую, все как обычно. Если не чистил куки открываешь форум и ты уже на своей страничке залогинный. А тут сидишь читаешь, перешел на другое сообщение, а в вверху смотришь и ты уже не участник форума, а просто гость и надо по новой заходить имя-пароль. Раз 10 за сегодня было на рабочем компе.Nick писал(а):А вы точно всякие режимы инкогнито в браузере не включаете?
-
NikolayUa24
- Мастер
- Сообщения: 1299
- Зарегистрирован: 31 июл 2013, 20:05
- Репутация: 256
- Настоящее имя: Николай
- Контактная информация:
Re: Продолжаем хаить форум
Со смарта сегодня не получилось зайти весь день.
Страдания ведут человека к совершенству.
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Странно, что запрос может долго висеть даже для маленьких файлов.
Удалось смоделировать похожую ситуацию, при помощи wget с ограничением скорости скачивания - подвисает поток в состоянии W - sending reply.
Не пробуйте повторять! Пожалуйста!
wget --limit-rate 6k http://cncxxx-club.ru/forum/download/fi ... &mode=view
Удалось смоделировать похожую ситуацию, при помощи wget с ограничением скорости скачивания - подвисает поток в состоянии W - sending reply.
Не пробуйте повторять! Пожалуйста!
wget --limit-rate 6k http://cncxxx-club.ru/forum/download/fi ... &mode=view
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Хммм накопал вот такую настройку:
, может это то из-за чего людей разлогинивает из форума? Хотя вроде попробовал зайти и через https и без и ничего такого не произошло...
Чтобы это значилоБезопасные cookie [ https ]:
Если ваш сервер работает через SSL, то включите этот параметр. В противном случае оставьте выключенным. Включение этого параметра, если сервер работает не через SSL, приведёт к ошибкам при переходах по страницам конференции и при переадресации.
- Serg
- Мастер
- Сообщения: 20561
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Продолжаем хаить форум
А что происходило во время снятия второго и третьего скриншота?Nick писал(а):Единственный процесс с большой цифрой - это mysql - но он висит постоянно поэтому у нем прилично затраченного процессороного времени, в момент нагрузки он жрет не много.
По первым прикидкам я бы порекомендовал добавить серверу RAM - ему похоже хочется больше памяти под кэш и буферы. Ну и немного скорректировать настройки mysql в этом направлении.
Есть возможность увидеть график загрузки сетевого интерфейса в виде графика за последние сутки? У Хетцнера вроде есть такая возможность...
Вообще для наблюдения за работой сервера имеет смысл запустить sar: https://www.ibm.com/developerworks/ru/l ... index.html
Ещё полезная утилита для изучения текущего состояния - nmon.
По top видно, что никакой ngnix не нужен или только хуже сделает - большой нагрузки на диск нет.SVP писал(а):PS. Всё-таки, наверное нгикс поставить и расслабиться. Из апача в нгикс будет отдаваться мгновенно, и процессы будут нормально освобождаться.
Самым лучшим вариантом по прежнему считаю установку лимитов на количество коннектов для поисковиков или просто для всех. Причём полагаю при превышении лимита не выдавать никаких отлупов и ошибок, а просто игнорить запрос - это должно помочь равномернее "размазать во времени" запросы от поисковиков, они всё равно с форума не уйдут.
Это для случая, когда обращение к сайту по http будет сразу переадресовываться на https.Nick писал(а):Чтобы это значило, может это то из-за чего людей разлогинивает из форума? Хотя вроде попробовал зайти и через https и без и ничего такого не произошло...
Я думаю "разлогин" происходит потому, что из-за задержек и "обрывов" некорректно обновляются куки...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Ты имеешь в виду большой процент CPU на mysql? Скорее всего так повезло, скорее всего несколько раз быстро обновил top - там сам топ тоже в топе с 28%.UAVpilot писал(а):А что происходило во время снятия второго и третьего скриншота?
Н а третьем ничего особенного не вижу.
Все эти скриншоты на сколько я помню сняты во время проблемы в течение 30 секуд, просто сортировка по разным столбцам.
Там 16Гб для обычной работы хватает. 90+% занято апачем. Я возможно не правильно умножил в статистике по памяти занимемой апачем, но его там много. Точно 0.1*500%, т.е. как минимум 50% есть, но скорее всего больше.UAVpilot писал(а):По первым прикидкам я бы порекомендовал добавить серверу RAM
+1 изучу вопрос.UAVpilot писал(а):Вообще для наблюдения за работой сервера имеет смысл запустить sar: https://www.ibm.com/developerworks/ru/l ... index.html
Ещё полезная утилита для изучения текущего состояния - nmon.
Что думаешь на счет этого:
Меня удивляет, что проблема только с яндексом.Nick писал(а):Странно, что запрос может долго висеть даже для маленьких файлов.
Удалось смоделировать похожую ситуацию, при помощи wget с ограничением скорости скачивания - подвисает поток в состоянии W - sending reply.
Не пробуйте повторять! Пожалуйста!
wget --limit-rate 6k http://cncxxx-club.ru/forum/download/fi ... &mode=view
Вроде как ничего особенного в скрипте нет, все, что можно я убрал, остальное не должно зависеть от того кто качает файл.
И да, set_time_limit(20) не влияет - всеравно висят процессы с временем выполнения больше 2 минут. В php стоит глобальный лимит 30 секунд, он тоже ничего не дает.
При этом можно спокойно скачивать файл достаточно долго.
Хотя php может уже к жтому моменту заканчивает работу, я так понял, что дробление файла на куски нужно для того, чтобы не занимать память. Вполне возможно, что он быстро отдает файл в апач, а он уже долго отправляет его клиенту.
- Serg
- Мастер
- Сообщения: 20561
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Продолжаем хаить форум
Там апачей не видно, а LoadAverage выше, чем на первом, где куча апачей...Nick писал(а):Ты имеешь в виду большой процент CPU на mysql? Скорее всего так повезло, скорее всего несколько раз быстро обновил top - там сам топ тоже в топе с 28%.
Подозрительно, что количество буферов неизменно в спокойном состоянии и при "нашествии апачей"...Nick писал(а):Там 16Гб для обычной работы хватает. 90+% занято апачем. Я возможно не правильно умножил в статистике по памяти занимемой апачем, но его там много. Точно 0.1*500%, т.е. как минимум 50% есть, но скорее всего больше.
Тут всё логично - поток будет висеть пока всё не отдаст, ибо по сети отдаётся не сразу весь файл, а последовательными "кусочками" примерно по килобайту. Ненужные "куски" этого экземпляра потока/апача ресурсы не потребляют и при надобности их могут даже выкинуть из памяти.Nick писал(а):Что думаешь на счет этого:
Да, после картинок уже понятно, что дело не в ресурсах, занимаемых апачем или php... Всё больше и больше хочется посмотреть график загрузки интерфейса...Nick писал(а):И да, set_time_limit(20) не влияет - всеравно висят процессы с временем выполнения больше 2 минут. В php стоит глобальный лимит 30 секунд, он тоже ничего не дает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Там сортировка по процессорному времени. Апачи живут не долго у них стоит ограничение на 1000 запросов, потом процесс перезапускается. Кстати апач работает в режиме mpm_itk - так что может он вообще на каждый запрос заново создает потомка. Поэтому апачей не видно, но видно кто больше всего грузил систему - и это mysql суммарно около 700 секунд процессорного времени за несколько дней.UAVpilot писал(а):Там апачей не видно, а LoadAverage выше, чем на первом, где куча апачей...
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
Апач всетаки память потребляет.UAVpilot писал(а):Да, после картинок уже понятно, что дело не в ресурсах, занимаемых апачем или php...
Какой график?UAVpilot писал(а):Всё больше и больше хочется посмотреть график загрузки интерфейса...
- Nick
- Мастер
- Сообщения: 21816
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Продолжаем хаить форум
хммм это не секунд, а минут...Nick писал(а):и это mysql суммарно около 700 секунд процессорного времени за несколько дней.
