- [Введение в программирование на Go][1]
- [Маленькая книга о Go][3]
- [Эффективный Go][2]
- Есть еще [Краткий пересказ Effective Go на русском языке][4], но 2009 года
На этой странице описывается процесс настройки нагрузочного тестирования внешних ресурсов.
Для тестирования поведения сервиса под нагрузкой используется утилита Yandex Tank.
Танку можно указать патроны (HTTP-запросы, которые будут отправлены на целевой сервер) и расписание (количество запросов в секунду к целевому серверу в каждый момент времени стрельб, а также продолжительность стрельб). Также к танку можно подключить плагин мониторинга, позволяющий снимать показатели (например, количество свободной памяти или загрузку процессора) с целевого сервера.
- нужен LUA модуль для Nginx, он есть в репах Debian
apt-get install nginx-extras
- используется lua скрипт для мониторинга Nginx при помощи prometheus (а че - он удобный вполне)
mkdir /etc/nginx/lua
git clone https://github.com/knyar/nginx-lua-prometheus /etc/nginx/lua/nginx-lua-prometheus
- Make sure
inotify-tools
is installed (https://github.com/rvoicilas/inotify-tools) - Configure git as usual
- Clone the git repository of interest from github and, if necessary, add file you want to monitor
- Allow username/password to be cached so you aren't asked everytime
git config credential.helper store
Во-первых, это моё мнение, и я его никому не навязываю. Во-вторых, список не обязательно исчерпывающий. В-третьих, он ориентирован на определённую "философию", которая тоже не является исчерпывающей или абсолютно правильной. Поэтому, если Вам эти рекомендации не подходят -- не следуйте им.
Философия такова. Для того чтобы осмысленно программировать на начальном этапе не нужно знать Computer Science, теорию алгоритмов и сложности вычислений или детально разбираться в устройстве и работе компьютера. Достаточно хорошо делать две вещи:
- алгоритмизировать решение задачи (разбивать его на простые последовательные шаги: сначала это, а потом вот это),
- знать, понимать смысл и назначение, использовать и подгонять друг к другу стандартные элементы решений (условия, циклы, структуры данных, алгоритмы и прочие "паттерны")