Большое кол-во подключений с ростом онлайна

grigori

( ͡° ͜ʖ ͡°)
Команда форума
зачем отдельные сервера? чем плох location ~ \.(jpg|gif|css|js|gz|...)$ ?
 

AnrDaemon

Продвинутый новичок
Тем, что любая ссылка на 404, вызываемая с достаточной частотой, может вызывать такой эффект.
 

b0bah1

Новичок
Запросы все выполняются доли секунды, веду лог по работе каждого запроса. Возможно конечно есть неоптимизированные без индексов и прочего, но ни о каких там 30 секунд нет и речи. Просто каждый пользователь нагружает как сам сайт путем гуляния, так и взаимодействую с ним посредством ajax. В общем кол-во открытых соединений просто зашкаливает, я поэтому и задумался что может php не сразу завершает соединение после окончания работы скрипта, а с таймаутом каким то.
Насчет кешировать типа мемкеша хорошую штуку подсказали, это получается будет юзаться оперативка? Но какие то большие данные в ней наверное хранить не стоит о каждом пользователе? Можно ли сделать в этом случае кеш на файлах? Не будет ли забиты разрешенные файловые коннекты? Как лучше организовать кеш? Есть маленькие данные типа баланса пользователя, а есть большие, типа профиль с заранее сгенированной статистикой по всем действиям на сайте. Что лучше где хранить.
 

AnrDaemon

Продвинутый новичок
В мемкэше хранишь то, что запрашивается постоянно и изменяется нечасто. Например кусок JSON со статусом юзера.
 

fixxxer

К.О.
Партнер клуба
Ну, вообще у тебя mysql жалуется на то, что памяти всё.
Can't create a new thread (errno 11); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
Так что смотри, чем она жрется. Может, и не mysql-ем, а в php огромные массивы ворочаются, например.
 

fixxxer

К.О.
Партнер клуба
чем плох location ~ \.(jpg|gif|css|js|gz|...)$ ?
Всем плох. Отличный способ развести свалку. Понятно, что со всякими битриксами деваться некуда (там свалка by design) и приходится так делать, но в нормальном проекте всегда можно обойтись префиксными location-ами.
 

antson

Новичок
Партнер клуба
@b0bah1, вот есть такое чувство что вместо оптимизации едичного треда проблему Вы попытались решить в ширину . большим числом пралелльных потоков.

пройдемся по самым очевидным вещам вдруг что забыли.
что творится в статистике сервера СУБД ?
в логе медленных sql запросов ?
соединение через порт или сокет с субд ?
Какой коэффицент попадания в query_cache mysql ?
 
Сверху