Сколько переменных сеанса на пользователя считается слишком большим? - PHP - PullRequest
6 голосов
/ 15 октября 2011

Если у меня есть веб-сайт, где пользователи входят и выходят из системы, и у каждого пользователя есть 4 переменные сеанса, как это повлияет на мой сайт?

Скажите, если у меня есть 100 000 активных участников, тогда это будет эффективно400000 переменных сеанса передаются одновременно.Повлияет ли это на загрузку моего сайта?Я понимаю, что PHP имеет ограничение памяти, но не до конца понимаю.

Спасибо

Ответы [ 3 ]

6 голосов
/ 15 октября 2011

4 переменных на пользователя - ничто, но мое предложение будет на другом уровне: сфокусируйтесь на том, что вызывает реальные узкие места на вашем веб-сайте.Эта проблема, вероятно, не актуальна сейчас, и на нее действительно легко перейти в будущем, если это замедлит вас.(И это не будет)

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

1 голос
/ 15 октября 2011

Если коротко ответить - да, это повлияет на загрузку вашего сайта, если у вас есть 100k пользователей.Но это не будет только из-за сессий, они будут частью узкого места.

Легко рассчитать возможное потребление памяти и в соответствии с этим вы должны решить, как масштабироватьсайт.Варианты масштабирования бесконечны (ну, как фраза, конечно, существует множество способов масштабирования программ, но все же есть из чего выбирать).

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

Если вас интересует, что это за варианты, то, возможно, лучше задать вопрос с конкретными вопросами,Вы определяете, когда и где могут быть узкие места.

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

0 голосов
/ 15 октября 2011

Ответ, конечно же, "это зависит".

СИЛЬНОЕ ПРЕДЛОЖЕНИЕ:

1) Установить «базовый уровень производительности»

2) Рассмотрим ресурсы, такие как процессор, память, сеть и диск

3) Рассмотрим ОС, веб-сервер, приложение и базу данных

4) Проведите стресс-тесты и сравните свои показатели между «нормальными нагрузками» и «высокими нагрузками»

5) Определите узкие места и соответствующим образом устраните их

Предполагая, что вы работаете в Linux / Apache / MySql (с моей стороны это полная догадка - вы не сказали), вот отличная статья из трех частей, которая может помочь вам начать работу в правильном направлении:

Но поверьте мне: беспокойство по поводу мелочей, например, есть ли у вас 5 переменных сеанса или 4, вместо того, чтобы пытаться собрать надежную базовую статистику, НЕ поможет вам масштабироваться до 100 000 пользователей:)!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...