Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Веб-программирование > Общее

Общее Веб-разработка в целом, идеи, проекты...

Ответ
 
Опции темы
Старый 19.02.2015, 23:53   #1
Turbo-Dizel
AnyKey`щик
 
Регистрация: 18.01.2015
Сообщений: 16
Написано 0 полезных сообщений
(для 0 пользователей)
Настройки Prefork

Всем привет. Стоит Apache, он немного странно себя вел, подстроили его, стало нормально, но к вечеру у некоторых клиентов опять появились проблемы в виде долгих ответов от сервера (у меня в том числе). У всех знакомых все нормально, в общем всегда были проблемы в настройках апача, не могли бы шарющие люди глянуть конфиги prefork (подключен именно он, не воркер)?
О нагрузке: 100к+ просмотров в сутки. Это не сайт, а игра, которая общается с БД через php. Привожу конфиги, всем кто ответит заранее спасибо!
apache2.conf:
KeepAlive On
MaxKeepAliveRequests 0
MaxClients 4096
MaxRequestsPerChild 1000
<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       3
    MaxClients           4096
    MaxRequestsPerChild 4096
</IfModule>
KeepAliveTimeout 10
mpm_prefork.conf:
<IfModule mpm_prefork_module>
	ServerLimit 4096
	StartServers			 5
	MinSpareServers		  5
	MaxSpareServers		 10
	MaxRequestWorkers	  4096
	MaxConnectionsPerChild   0
</IfModule>
(Offline)
 
Ответить с цитированием
Старый 20.02.2015, 16:05   #2
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Настройки Prefork

Никогда не использовал prefork, c worker`ом все нормально работает. Возможно виснут коннекты, и постепенно забиваются до максимума, KeepAlive может глючит. Посмотри процессы в моменты когда тормозит и когда нормально работает.
Nginx поставить тоже хорошо бы перед апачем.

Если сама игра не на php работает, то использовать apache+php+mysql просто для связи игры и базы - тот еще изврат . Сделали бы что-нибудь самописное - и то лучше бы было.
Что хоть за игра то? Интересно же.
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием
Старый 21.02.2015, 16:44   #3
Turbo-Dizel
AnyKey`щик
 
Регистрация: 18.01.2015
Сообщений: 16
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Настройки Prefork

Сообщение от DStalk Посмотреть сообщение
Никогда не использовал prefork, c worker`ом все нормально работает. Возможно виснут коннекты, и постепенно забиваются до максимума, KeepAlive может глючит. Посмотри процессы в моменты когда тормозит и когда нормально работает.
Nginx поставить тоже хорошо бы перед апачем.

Если сама игра не на php работает, то использовать apache+php+mysql просто для связи игры и базы - тот еще изврат . Сделали бы что-нибудь самописное - и то лучше бы было.
Что хоть за игра то? Интересно же.
А что можно придумать самописное?) Максимум, что я хотел попробовать в будущем, nodejs + MongoDB, чтобы уменьшить время между запросом данных и их получением). Но это так, для интереса, а если бы пошло, то дальше бы такую схему юзал . Ну а так игра на флеше)
Поставил server-status, по нему можно что-то сказать?) Скрин приложил к сообщению)
Миниатюры
Нажмите на изображение для увеличения
Название: 01.jpg
Просмотров: 1099
Размер:	26.5 Кб
ID:	21524  
(Offline)
 
Ответить с цитированием
Старый 21.02.2015, 19:07   #4
DStalk
Разработчик
 
Аватар для DStalk
 
Регистрация: 27.06.2009
Адрес: Рязань-Москва
Сообщений: 471
Написано 401 полезных сообщений
(для 1,072 пользователей)
Ответ: Настройки Prefork

хм, да все нормально вроде, хотя статистики маловато. 1,6Мб/сек - какой канал на серваке? может 10мбит?)) тогда понятно чего не хватает...
на C++(или аналогичном) с любой БД - прямой прием данных TCP, прямая работа с базой. главное от апача с пхп избавиться - я думаю они производительность сильно режут...
__________________
galaxies.su | dstalk.ru
(Offline)
 
Ответить с цитированием
Старый 21.02.2015, 23:59   #5
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Настройки Prefork

Я советую перебегать на nginx заместо apache, проще настраивать, стабильнее и производительность выше.
Но обычно в таких случаях "тупит" не веб-сервер, а логика, в данном случае замеряй сколько запрос/ответ занимает php, если там нагрузка, значит возможно где-то проседает логика или индексы в бд не продуманы, усугубляется со временем когда запросы в мускул требуют больше времени.

Я лично использую часто nginx + node.js + clusters + mongodb, проще ставиться, быстрее пишеться, легче дебажится.
Естественно смотри что нагружается и дебаж железо - часто с нагрузки по: сеть, проц, озу, io - основные симптомы понятны, далее уже смотри что конкретно создает bottleneck.
(Offline)
 
Ответить с цитированием
Старый 22.02.2015, 02:01   #6
Turbo-Dizel
AnyKey`щик
 
Регистрация: 18.01.2015
Сообщений: 16
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Настройки Prefork

Сообщение от DStalk Посмотреть сообщение
хм, да все нормально вроде, хотя статистики маловато. 1,6Мб/сек - какой канал на серваке? может 10мбит?)) тогда понятно чего не хватает...
на C++(или аналогичном) с любой БД - прямой прием данных TCP, прямая работа с базой. главное от апача с пхп избавиться - я думаю они производительность сильно режут...
Канал 100) так что проблема не здесь
Ну да мне самому никогда не нравилась сама идея общения с бд средствами апача и пхп, но в то время всё было таким сложным, хотелось сделать что-нибудь, а теперь уже в привычку вошло, так и делаю уже не один год) Нужно что-то менять явно)
Ещё в server-status сейчас много нижних слешей. Днем было вроде не так много, сейчас ночь, соединений мало, но слешей много)
_..._____.__.....__.._____......_..__..._.....___._....._.___...
._W__..._.R....W._...__......_..........._...._......R..........
Сообщение от moka Посмотреть сообщение
Я советую перебегать на nginx заместо apache, проще настраивать, стабильнее и производительность выше.
Но обычно в таких случаях "тупит" не веб-сервер, а логика, в данном случае замеряй сколько запрос/ответ занимает php, если там нагрузка, значит возможно где-то проседает логика или индексы в бд не продуманы, усугубляется со временем когда запросы в мускул требуют больше времени.

Я лично использую часто nginx + node.js + clusters + mongodb, проще ставиться, быстрее пишеться, легче дебажится.
Естественно смотри что нагружается и дебаж железо - часто с нагрузки по: сеть, проц, озу, io - основные симптомы понятны, далее уже смотри что конкретно создает bottleneck.
Ну то, что апач нет nginx да это понятно, обязательно этим займусь ещё, но сейчас проблема явно не в нагрузке, а в неправильных настройках, так что хочу порешать такое)
Если бы проблема была в логике, то думаю проблема была бы у всех, у всех бы все работало туго, а так, у большинства все прекрасно, летает, а некоторые сидят по 10 секунд ждут, пока index файл откроется.
Ну а вот связка нода и монго мне нравится, хочу в следующих играть что-то в этом роде уже начинать делать. Текущая схема уже кучу проблем мне наделала)
(Offline)
 
Ответить с цитированием
Старый 22.02.2015, 03:08   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Настройки Prefork

Заменить apache на nginx, обычно быстрее чем париться с настройкой apache.

Первые мысли в голову: у тебя ограниченный pool потоков который php использует, и он видимо заполняется, учитывая что потоков в pool'е обычно больше в количество процессоров и они не обмениваются потоками между пулами, возможно один из пулов на каком-то процессоре заполняется, и так "везет" что кто-то попадает на этот пуул и сидит в очереди. Далее уже детали, которые мне не известны.

Проще не использовать блокирующие платформы с пуулами как php/python/ruby а использовать что-то более сильное в IO на уровне сети.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:48.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com