История изменений
Исправление C, (текущая версия) :
По ходу там горилла буянит. Выделяет по 2GB на каждый коннект.
(pprof) top
>>Showing nodes accounting for 4GB, 100% of 4GB total
Спасибо, так отлаживать я не умел.
Поискал в багтрекере гориллы на предмет утечек - и потом заметил, что буферы чтения и записи для websocket.Upgrader по 1Gb выделяются в коде :)
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024 * 1024 * 1024,
WriteBufferSize: 1024 * 1024 * 1024,
//Solving cross-domain problems
CheckOrigin: func(r *http.Request) bool {
return true
},
}
Я почему-то думал, что это что-то с каналами или горутинами
Исправление C, :
По ходу там горилла буянит. Выделяет по 2GB на каждый коннект.
>>Showing nodes accounting for 4GB, 100% of 4GB total
Спасибо, так отлаживать я не умел.
Поискал в багтрекере гориллы на предмет утечек - и потом заметил, что буферы чтения и записи для websocket.Upgrader по 1Gb выделяются в коде :)
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024 * 1024 * 1024,
WriteBufferSize: 1024 * 1024 * 1024,
//Solving cross-domain problems
CheckOrigin: func(r *http.Request) bool {
return true
},
}
Я почему-то думал, что это что-то с каналами или горутинами
Исходная версия C, :
По ходу там горилла буянит. Выделяет по 2GB на каждый коннект.
(pprof) top Showing nodes accounting for 4GB, 100% of 4GB total
Спасибо, так отлаживать я не умел.
Поискал в багтрекере гориллы на предмет утечек - и потом заметил, что буферы чтения и записи для websocket.Upgrader по 1Gb выделяются в коде :)
1024 * 1024 * 1024