@jenya7771

Очень сильно растёт потребление ресурсов при использовании socket?

Здравствуйте, начал использовать советы, и через некоторое время нагрузка на сервер очень большая, оперативки 1200, и процессор загружается на максимум. Конда не использовал советы показатели были такие, процессор на нуле, и оперативки 95.

Вот так происходит подключение
const socket = io(config.api.socketHost, {
	autoConnect: true,
	reconnection: true,
	timeout: 35000,
	reconnectionDelay: 600,
	reconnectionDelayMax: 3500,
	query: {
		auth: config.api.socketKey
	}
})
.open();

const timeoutResponse = 45 * 1000
let conect = false
const key = config.api.socketKey

try {

	socket
	.on('connect', () => {

		logger.info('Connect to socket API')
		conect = true
	})
	.on('disconnect', () => {

		logger.error('Disconnect to socket API')
		conect = false
	})
	.on('connect_error', (error) => {

		logger.error('Error connect to socket API', error)
	})
	.on('connect_timeout', (error) => {

		logger.error('Сonnect to socket API timeout', error)
	})
	.on('reconnecting', (attempt) => {

		logger.warn('Error reconnecting to socket API', null, {
			attempt: attempt
		})
	})
	.on('reconnect_failed', (reconnectionAttempts) => {

		logger.warn('Failed connect to socket API', null, {
			reconnectionAttempts: reconnectionAttempts
		})
	})
	.on('reconnect_error', (error) => {

		logger.error('Error reconect to socket API', error)
	})
} catch (error) {

	logger.error('Error conect socket API', error)
}


И все функции такого вида
exports.list = () => {

	return new Promise((resolve, reject) => {

		try {

			if (conect) {

				const hash = crypto.randomBytes(30).toString('hex')
				
				socket
				.emit('list', JSON.stringify({
					auth: key,
					hash: hash
				}))
				.on('list', (data) => {

					data = JSON.parse(data) 

					if (data.hash === hash) {

						resolve(data.list)
					}
				});
			} else {

				reject(new Error('Disconnect to socket API'))
			}
		} catch (error) {

			reject(error)
		}	
	})
}

Я являююсь клиентом, в чём может быть проблема?
  • Вопрос задан
  • 189 просмотров
Пригласить эксперта
Ответы на вопрос 1
Вот задавал подобный вопрос
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы