Вы всегда можете использовать переменные для хранения частей большего выражения (например, вы можете сохранить month.0|stringformat:'02d'
и forloop.counter|stringformat:'02d'
, а затем просто заменить выражения на переменные).
Это частично зависит от вашей операционной системы.
Однако нет никаких ограничений на конкретный порт. Однако существует ограничение на количество одновременных подключений, обычно ограниченное количеством дескрипторов файлов, поддерживаемых ядром (например, 2048).
Следует помнить, что TCP-соединение уникально, а соединение представляет собой пару конечных точек (локальный и удаленный IP-адрес и порт), поэтому не имеет значения, подключено ли 1000 соединений к одному и тому же порту на сервере, поскольку связи все еще уникальны, потому что другой конец другой.
Другим ограничением, о котором следует знать, является то, что машина может устанавливать только около 64 КБ исходящих соединений или ограничение ядра для соединений, в зависимости от того, что ниже. Это связано с тем, что порт представляет собой 16-разрядное число без знака (0-65535), и каждое исходящее соединение использует один из этих портов.
Вы можете расширить это, назначив машине дополнительные IP-адреса. Каждый IP-адрес представляет собой другое адресное пространство из 64 тыс. Адресов.
Больше, чем ты думаешь. Или скорее.
Я могу гарантировать, что это больше, чем все перечисленное. Существуют ограничения масштабируемости с большим количеством сокетов, которые можно обойти (Google для проблемы c10k). На практике в Linux можно иметь более 10 000 сокетов, полезно используемых одним процессом. Если у вас несколько процессов на сервер, вы можете увеличить это число еще больше.
Не обязательно использовать один порт, так как ваши специализированные балансировщики нагрузки смогут при необходимости распределить несколько портов.
Если вы запускаете сервис для многих 10-ых или 1000-ых клиентских процессов, вероятно, довольно важно, чтобы он продолжал работать, поэтому вам НАВСЕГДА потребуется несколько серверов для редуцирования. Поэтому у вас не будет проблем с развертыванием еще нескольких серверов.