Shared-hosting providers generally allow a pretty small amount of simultaneous connections for the same user.
What your code does is :
- open a connection to the MySQL server
- do it’s stuff (generating the page)
- close the connection at the end of the page.
The last step, when done at the end of the page is not mandatory : (quoting mysql_close
‘s manual) :
Using mysql_close() isn’t usually
necessary, as non-persistent open
links are automatically closed at the
end of the script’s execution.
But note you probably shouldn’t use persistent connections anyway…
Two tips :
- use
mysql_connect
insead ofmysql_pconnect
(already OK for you) - Set the fourth parameter of mysql_connect to false (already OK for you, as it’s the default value) : (quoting the manual) :
If a second call is made to
mysql_connect() with the same
arguments, no new link will be
established, but instead, the link
identifier of the already opened link
will be returned.The new_link
parameter modifies this behavior and
makes mysql_connect() always open a
new link, even if mysql_connect() was
called before with the same
parameters.
What could cause the problem, then ?
Maybe you are trying to access several pages in parallel (using multiple tabs in your browser, for instance), which will simulate several users using the website at the same time ?
If you have many users using the site at the same time and the code between mysql_connect
and the closing of the connection takes lots of time, it will mean many connections being opened at the same time… And you’ll reach the limit
Still, as you are the only user of the application, considering you have up to 200 simultaneous connections allowed, there is something odd going on…
Well, thinking about «too many connections» and «max_connections
«…
If I remember correctly, max_connections
does not limit the number of connections you can open to the MySQL Server, but the total number of connections that can bo opened to that server, by anyone connecting to it.
Quoting MySQL’s documentation on Too many connections :
If you get a Too many connections
error when you try to connect to the
mysqld server, this means that all
available connections are in use by
other clients.The number of connections allowed is
controlled by the max_connections
system variable. Its default value is
100. If you need to support more connections, you should set a larger
value for this variable.
So, actually, the problem might not come from you nor your code (which looks fine, actually) : it might «just» be that you are not the only one trying to connect to that MySQL server (remember, «shared hosting»), and that there are too many people using it at the same time…
… And if I’m right and it’s that, there’s nothing you can do to solve the problem : as long as there are too many databases / users on that server and that max_connection
is set to 200, you will continue suffering…
As a sidenote : before going back to GoDaddy asking them about that, it would be nice if someone could validate what I just said ^^
На чтение 6 мин. Просмотров 660 Опубликовано 10.07.2019
Многие пользователи Outlook сообщали о слишком много одновременных подключений при попытке проверить свою электронную почту. Это может быть большой проблемой и помешать вам получать новые электронные письма, но есть способ решить эту проблему, и в этой статье мы собираемся показать вам, как это сделать.
Содержание
- Как исправить Слишком много одновременных подключений Outlook ошибка?
- Решение 1 – отключить отправку и получение всего расписания
- Решение 2 – Проверьте свой антивирус
- Решение 3 – Установите последние обновления
- Решение 4 – Выйти из определенных устройств или приложений
- Решение 5 – Проверьте свой пароль
- Решение 6 – Изменить значение времени ожидания сервера
- Решение 7 – Использование веб-почты
- Решение 8. Используйте другой клиент для рабочего стола
Как исправить Слишком много одновременных подключений Outlook ошибка?
- Отключить расписание отправки и получения .
- Проверьте свой антивирус
- Установите последние обновления
- Выйти из определенных устройств или приложений
- Проверьте свой пароль
- Изменить значение времени ожидания сервера
- Используйте веб-почту
- Используйте другой клиент для настольных ПК
Решение 1 – отключить отправку и получение всего расписания
Если вы получаете сообщение об ошибке Слишком много одновременных подключений в Outlook, возможно, проблема в ваших настройках. Как вы знаете, Outlook имеет определенное расписание и проверяет наличие новых писем каждые несколько минут.
Тем не менее, иногда вы не сможете получать свои электронные письма из-за определенных настроек. По словам пользователей, чтобы решить эту проблему, вам просто нужно отключить расписание отправки и получения в Outlook. Для этого вам необходимо выполнить следующие шаги:
- Нажмите Файл> Информация> Параметры в Outlook.
- На левой панели выберите Дополнительно . Теперь нажмите кнопку Отправить/получить .
- Появится окно Отправить/получить группы . Отключить расписание автоматической отправки/получения каждые и нажмите Закрыть .
- Сохранить изменения.
После отключения этой опции проблема с Outlook должна быть решена. Мы должны предупредить вас, что, отключив этот параметр, Outlook не будет автоматически проверять наличие новых сообщений, поэтому вам придется делать это вручную.
Это надежный обходной путь, так что не стесняйтесь попробовать.
- ЧИТАЙТЕ ТАКЖЕ: Outlook продолжает запрашивать ваш пароль? Вот исправление
Решение 2 – Проверьте свой антивирус
Наличие хорошего стороннего антивируса важно, если вы хотите защитить свой компьютер от онлайн-угроз. Однако иногда ваш антивирус может мешать работе Outlook и вызывать Слишком много одновременных подключений .
Чтобы решить эту проблему, рекомендуется отключить определенные антивирусные функции и проверить, помогает ли это. В случае, если это не сработает, следующим шагом будет полное отключение антивируса. В некоторых случаях пользователям приходилось удалять сторонние антивирусы, чтобы решить эту проблему, поэтому вам, возможно, придется это сделать.
Если удаление вашего антивируса решит проблему, вам следует подумать о переходе на другое антивирусное решение. Существует множество отличных антивирусных приложений, но если вы хотите получить максимальную защиту, которая не будет мешать вашей системе, попробуйте BullGuard .
Решение 3 – Установите последние обновления
Если в Outlook возникает ошибка Слишком много одновременных подключений , возможно, проблема в отсутствующих обновлениях. Чтобы убедиться, что эта проблема не появляется, рекомендуется обновить Outlook до последней версии и проверить, решает ли это проблему.
В дополнение к Outlook важно также обновить Windows. По умолчанию Windows 10 загружает обновления автоматически, но вы также можете проверить наличие обновлений вручную, выполнив следующие действия:
- Используйте ярлык Windows Key + I , чтобы открыть приложение Настройки .
-
В приложении “Настройки” перейдите в раздел Обновление и безопасность .
-
Теперь нажмите кнопку Проверить обновления .
Теперь Windows проверит наличие доступных обновлений и автоматически загрузит их в фоновом режиме. После загрузки обновлений перезагрузите компьютер, чтобы установить их. Как только ваша система и Outlook обновятся, проверьте, сохраняется ли проблема.
Решение 4 – Выйти из определенных устройств или приложений
Слишком много одновременных подключений может появиться из-за определенных ограничений в Gmail. Если вы не знаете, у вас может быть 15 симуляционных подключений к вашей учетной записи Gmail, и если вы превысите этот лимит, вы получите вышеупомянутое сообщение об ошибке.
Стоит отметить, что некоторые приложения могут использовать два или более подключений для доступа к Gmail, поэтому, если к вашей учетной записи Gmail подключено несколько почтовых клиентов или несколько устройств, можно быстро превысить это ограничение.
Чтобы решить эту проблему, рекомендуется выйти из определенных почтовых клиентов на вашем ПК, телефоне или планшете.После выхода из пары клиентов проблема должна быть решена, и вы снова сможете получить доступ к Gmail.
Если вы хотите, вы также можете выйти из всех сеансов. Однако вам придется снова войти в систему на каждом клиенте вручную. Чтобы выйти из всех сеансов в Gmail, выполните следующие действия.
- Откройте Gmail в вашем браузере.
-
Прокрутите весь путь вниз и найдите Последние действия в аккаунте . Теперь нажмите Подробности .
-
Появится новое окно. Вы должны быть в состоянии увидеть все ваши текущие сессии. Нажмите Выйти из всех других веб-сеансов .
После этого вы выйдете из Gmail на всех других устройствах, и теперь проблема должна быть решена. Имейте в виду, что вам нужно будет выполнить вход вручную на каждом почтовом клиенте, но это не должно быть большой проблемой.
- ЧИТАЙТЕ ТАКЖЕ: ИСПРАВЛЕНИЕ: красная маркировка X заменяет изображения в Outlook
Решение 5 – Проверьте свой пароль
Слишком много одновременных подключений Ошибка Outlook может возникнуть, если ваш пароль был изменен или срок его действия истек. Это может быть проблемой, но вы можете исправить это, просто сбросив пароль.
После того, как вы сбросили свой пароль, вам нужно внести изменения в Outlook и соответственно изменить учетные данные для входа. После этого проблема должна быть полностью решена, и все должно начать работать снова.
Решение 6 – Изменить значение времени ожидания сервера
Из-за значения времени ожидания сервера может появиться сообщение об ошибке слишком большого числа одновременных подключений, и для решения этой проблемы необходимо выполнить несколько настроек. По-видимому, если значение тайм-аута сервера слишком велико, клиент попытается установить дополнительные подключения, что приведет к возникновению этой ошибки.
Однако вы можете решить эту проблему, выполнив следующие действия:
- В Outlook откройте Настройки аккаунта .
- Перейдите на вкладку “Дополнительно” и уменьшите значение Время ожидания сервера .
- После этого нажмите кнопку ОК, чтобы сохранить изменения.
После внесения этих изменений проверьте, сохраняется ли проблема.
Решение 7 – Использование веб-почты
Если вы продолжаете получать сообщение об ошибке Слишком много одновременных подключений в Outlook, вы можете решить эту проблему просто с помощью веб-почты. Почти все провайдеры электронной почты предлагают веб-почту, поэтому, если вы продолжаете получать сообщения об ошибках в Outlook, вы можете попробовать использовать веб-почту на данный момент.
У веб-почты не так много проблем, как у настольных клиентов, поэтому, если у вас есть какие-либо проблемы, мы рекомендуем вам попробовать использовать веб-почту как временное решение.
Решение 8. Используйте другой клиент для рабочего стола
Сообщение Слишком много одновременных подключений обычно вызывается вашим почтовым клиентом, особенно Outlook, и если вы продолжаете получать эту ошибку, вы можете рассмотреть возможность перехода на другой почтовый клиент.
Существует множество отличных почтовых клиентов, таких как Thunderbird или Mail, но если вам нужен почтовый клиент, работающий и похожий на Outlook, мы рекомендуем вам попробовать eM Client .
Слишком много одновременных подключений. Ошибка Outlook не позволит вам получать новые сообщения электронной почты, но вы должны быть в состоянии решить эту проблему, используя одно из наших решений.
Индекс
- 1 Введение в ошибку MySQL: слишком много подключений
- 2 Что означает ошибка MySQL: Too Many Connections?
- 3 Как это решить?
Введение в ошибку MySQL: слишком много подключений
Когда у вас есть веб-приложение (сайт, блог, форум и т. Д.), Которое пользуется большим спросом, то есть посещается большим количеством пользователей, это приводит к увеличению потребления ресурсов на сервере. Если указанное веб-приложение использует базу данных MySQL и запросов действительно много (из-за плохого программирования в Интернете или из-за того, что многие пользователи используют Интернет), есть вероятность, что MySQL покажет эту ошибку:
mysqli_connect(): (HY000/1040): Too many connections
Что означает ошибка MySQL: Too Many Connections?
Это означает, что в MySQL поступает слишком много запросов, больше, чем он может принять, больше, чем может стоять в очереди или ждать.
Как это решить?
Проще говоря, мы должны увеличить максимальный лимит запросов (подключений), который поддерживает MySQL.
Я дам вам два варианта решения этой проблемы:
1. Редактируем файл /etc/mysql/my.cfg:
nano /etc/mysql/my.cfg
В нем мы помещаем следующее под [mysql]:
max_connections = 500 max_user_connections = 500
Это увеличит максимальное количество подключений со 100 (по умолчанию) до 500.
Сохраняем и выходим, затем перезапускаем службу MySQL и все. Это изменение навсегда.
2. Другой способ решить эту проблему — изменить максимальный предел равным, но с помощью запроса MySQL.
Давайте сначала покажем текущий лимит:
mysql --user="root" --password="PASSWORD" --execute='SHOW VARIABLES LIKE "max_connections";'
Это покажет нам что-то вроде этого:
+ ----------------- + ------- + | Имя_переменной | Значение | + ----------------- + ------- + | max_connections | 151 | + ----------------- + ------- +
Другими словами, текущий лимит составляет 151 соединение, ну давайте поднимем его до 500 с помощью запроса:
mysql --user="root" --password="PASSWORD" --execute='SET GLOBAL max_connections = 500;'
Готов!
Проблема в том, что при перезапуске службы эта конфигурация теряется.
Чтобы предоставить эту информацию, вы можете создать сценарий bash, который проверяет каждый раз X, или даже добавить строку в блок запуска или перезапуска демона 😉
Но тогда почему я хочу знать этот второй вариант? … ну, я так говорил. Но месяц назад сервер Ubuntu проигнорировал метод №2, так что … в крайних случаях глупой ОС у нас есть второй вариант, который работает так же хорошо 😉
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
#php #mysqli #runtime-error
#php #mysqli #время выполнения -ошибка
Вопрос:
У меня есть следующий код
function openDBConn($params){
$conn_mode = $params['conn_mode'];
$db_conn = $params['db_conn'];
//create connections
if(empty($db_conn->info)) {
$db_conn = new mysqli("localhost", $user, $password, "database");
$db_conn->set_charset('UTF8');
$mysqli_error = $db_conn->connect_error;
}
if($mysqli_error !== NULL){
die('Could not connect <br/>'. $mysqli_error);
}else{
return $db_conn;
}
}
//close db connection
function closeDBConn( $params ){
$db_conn = $params['db_conn'];
$db_conn->close;
}
//used as below
$db_conn = openDBConn();
save_new_post( $post_txt, $db_conn );
closeDBConn( array('db_conn'=>$db_conn));
Время от времени я получаю сообщение «Не удалось подключиться. Ошибка «Слишком много подключений».
Обычно это происходит, когда бот Google сканирует мой веб-сайт.
Эта проблема, похоже, началась с момента обновления до MySQLi с MySQL. Есть ли какие-либо советы о том, как обеспечить закрытие всех подключений?
Спасибо
Комментарии:
1. если вы явно не запросили постоянное соединение, PHP автоматически закроет соединения при завершении работы скрипта. Это означает, что у вас, вероятно, слишком много одновременных обращений к вашему сайту, и ваш лимит подключения слишком низок / не соответствует количеству дочерних процессов apache, которые вы разрешаете.
2. В вашей консоли db запустите
SHOW VARIABLES LIKE '%connect%'
, чтобы узнать, каковы максимальные соединения.3.
$db_conn->close;
ничего не делает. Вам нужно()
.4.^—« … php.net//manual/en/mysqli.close.php
Ответ №1:
Вам необходимо увеличить количество подключений к вашему серверу MySQL (по умолчанию используется только 100, и обычно при каждой загрузке страницы требуется одно подключение)
Редактировать /etc/my.cnf
max_connections = 250
Затем перезапустите MySQL
перезапуск службы mysqld
http://major.io/2007/01/24/increase-mysql-connection-limit/
Комментарии:
1. Каково рекомендуемое количество подключений?
2. Я бы предложил от 250 до 500 для обычного веб-сервера с нормальной нагрузкой. Помимо этого, вы, вероятно, захотите отделить свой сервер базы данных от своего веб-сервера.
Ответ №2:
Некоторые хостеры жестко ограничивают количество открытых подключений к базе данных, которые вам разрешено иметь. Возможно, вы хотите связаться со своим хостером, чтобы узнать, сколько вам разрешено открывать. Для веб-сайтов с высокой загрузкой трафика может быть полезно больше подключений.
Ответ №3:
У вас есть прямой доступ к серверу или это размещенное решение?
Если у вас есть прямой доступ, вы можете проверить конфигурационные файлы MySQL, чтобы узнать, сколько подключений разрешено, и увеличить его.
Если вы этого не сделаете, вы можете связаться с вашим веб-хостингом по поводу увеличения лимита и посмотреть, будут ли они соответствовать.
Комментарии:
1. Это общий сервер с mediatemple
1. Ошибка заключается в следующем
2. Причина ошибки: количество параллельных подключений, установленных в каталоге установки MySQL, слишком мало, или система занятости полна количества соединений
3. Решение
Измените значение по умолчанию max_connections в файле конфигурации mysql my.ini. Модификация часто подходит для 500-1000
Сохраните после изменения, а затем перезапустите MySQL вместо того, чтобы открывать его просто.
Эта проблема может быть решена в основном после вышеуказанной операции.
Если вышеупомянутый метод решил аналогичные проблемы, с которыми вы столкнулись, пожалуйста, прокомментируйте или поддержите его, спасибо!