2016-07-05 2 views
3

Мой сайт ежедневно имеет 5000 пользователей. Таким образом, я изменил соединение mysql max на сервере следующим образом:Большое значение max соединений в mysql повлияет на производительность сайта?

 SET global max_connections = 1000000 

и также отредактировал файл my.conf. Теперь я чувствую, что мой сайт загружается очень медленно. Это повлияет на время загрузки сайта? Пожалуйста, уточните мои сомнения. Заранее спасибо

+1

Это хорошая проблема, так как нужно начинать кешировать вещи, а не использовать БД все время, особенно если большинство пользователей просматривают один и тот же контент. Вы также должны убедиться, что вы не обслуживаете несколько соединений DB для каждого пользователя. Редко когда-либо бросает больше ресурсов на проблему, жизнеспособный вариант, оптимизация гораздо предпочтительнее. – ArtisticPhoenix

ответ

4

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

  • доступной оперативной памяти - система должна иметь достаточно оперативной памяти для обработки дополнительной нагрузки.

  • Качество библиотеки ниток на платформе - это будет зависеть от
    на платформе. Например, Windows может быть ограничена используемым Posix
    уровнем совместимости (хотя ограничение больше не применяется к
    MySQL v5.5 и выше). Тем не менее, остаются проблемы использования памяти
    в зависимости от архитектуры (x86 против x64) и от того, сколько памяти может
    быть использовано в процессе подачи заявки.

  • Требуемое время отклика - Увеличение количества может увеличить
    количество времени, которое требуется на запрос. Это должно быть проверено до
    , чтобы оно соответствовало вашим потребностям, прежде чем входить в производство.

  • Объем оперативной памяти, используемой в связь - Опять же, RAM важна,
    так что вам нужно будет знать, если RAM используется на соединение будет перегружать систему, или нет.
  • Рабочая нагрузка, необходимая для каждого соединения. Рабочая нагрузка также будет равна
    . Фактор для того, какие системные ресурсы необходимы для обработки
    дополнительных соединений.

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

Вместо того, чтобы беспокоиться об этих настройках в своей собственной системе, вы можете выбрать сервис, например, Morpheus, который предлагает базы данных в качестве службы в облаке. С Morpheus вы можете легко и быстро настроить свой выбор из нескольких баз данных (включая MySQL, MongoDB, Redis и Elasticsearch).

+0

В документации по MySQL по-прежнему упоминается ограничение Windows в MySQL 5.7: «Windows ограничена (открывать таблицы × 2 + открытые соединения) <2048 из-за уровня совместимости Posix, используемого на этой платформе». Источник: https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html – ameba

Смежные вопросы