2016-02-17 2 views
0

Я работал с Express и mysql package, этот pacakge предоставляет метод connection.destroy(), но я работал над проектом, никогда не используя его один раз.Являются ли соединения mysql автоматически закрытыми в NodeJS?

Я провел стресс-тест, используя siege, и сервер не ответил неправильно, вне теста.

Все, что я хочу знать, является ли соединение закрытым автоматически или оно остается открытым?

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

ответ

0

Если вы не вызываете end или destroy при подключении, он будет оставаться в живых до тех пор, пока ваше приложение не выйдет или соединение не будет закрыто сервером mysql из-за неактивности. Поэтому да, вы всегда должны звонить end, если вы больше не используете его, чтобы я был возвращен в пул (если вы его используете) или закрыт.

+0

Что касается одновременных запросов, это повлияет на поведение моего сервера, если скажем, что/bar и/foo получили запросы одновременно, зная, что для обоих из них потребуется объект подключения из модуля, который я создал? –

+0

@Oussama Не знаете, что вы хотите знать. Обычно вы создадите индивидуальное соединение для каждого запроса и закрываете соответствующее соединение, когда собрали всю информацию, необходимую для создания ответа. Но что вы имеете в виду: «повлияет ли это на поведение моего сервера, если скажем/bar и/foo получить запросы одновременно», что, по вашему мнению, может произойти тогда или может быть проблемой? –

+0

Вы уже ответили на мой вопрос, у меня просто было непонимание всей концепции; Я думал, что все запросы разделяют одно и то же соединение и предполагают, что может произойти какой-то конфликт. Большое спасибо. –

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