Никита, Смотрел, там для KeepAlive идет syscall вызовы функций ядра ОС, в данном случает socket options.
Нашел время, написал тесты. Никак KeepAlive не влияет, только IdleConnTimeout.
При KeepAlive 1 сек, делаем запрос, спим 10 сек, делаем запрос. Если IdleConnTimeout не протух, то соединение будет использовано из пула.
Да, к сожалению золотой серединки нет. Либо сервер с фиксированным трафиком аля 100Тбайт/месяц, чего мне наверно недостаточно и придется брать два и балансировать межу ними. Либо что-то вроде схемы, как у селектел, трафик бесплатный, но на канале 100Мбит/c. Расширение до 10Гбит/с стоит аж 300 000 руб. Вроде дешевле трафик докупать просто.
Ivan Sokolov: Да, так и есть. Но в Go из коробки, я могу сделать только `go build -o $HOME/myapp`. Я уже подошел к осознанию, что только `go build` мне недостаточно.
Да, фикстуры это решение, но оно очень затратное. У меня БД на 10гб, там 100+ таблиц, представлений и т.п. Она изменяется чуть ли не каждый день, что я миграции не успеваю накатывать. С фикстурами моя работа сведется на постоянную их правку.
О, Format это выход! Только результатом будут все false, как и планировалось. И можно тогда сделать так "return t.Format(format) == date". Круто вообщем.
А я то думаю, что он так называется. Простите.
Я уже указал комментарий ко всем подобным ответ выше.
Если PID файл не заблокирован, то нет уверенности, что приложение сейчас запущено. Представим ситуацию: Сервер ресетнуло. PID файл с идентификатором процесса остался. Сервер запускается, этот идентификатор дается другому процессу. PID есть, процесс есть, приложение не запущено и не будет запущено.
Намного хуже когда нужно убить процесс.
К сожалению, если программа упала или сервер ресетнулся, файл с пидом останется и пид может быть выдан другому процессу. Я не могу просто так килять процесс, не удостоверившись, что программа действительно запущена.
Нашел время, написал тесты. Никак KeepAlive не влияет, только IdleConnTimeout.
При KeepAlive 1 сек, делаем запрос, спим 10 сек, делаем запрос. Если IdleConnTimeout не протух, то соединение будет использовано из пула.