OlegTimkiv Posted July 9, 2021 Share Posted July 9, 2021 Добрый день! Балансирует nginx. Работает только правильно "ip-hash". В других случаях (round-robin, least-connected) ошибка "Недопустимый сеанс или тайм-аут сеанса". Может кто-нибудь сталкивался с таким поведением? upstream cache-api { ip_hash; # random; server 172.17.1.87:85 max_fails=5 fail_timeout=10s; server 172.17.1.151:85 max_fails=5 fail_timeout=10s; server 172.17.1.98:85 max_fails=2 fail_timeout=10s; # server 172.17.1.87:85; # server 172.17.1.151:85; # server 172.17.1.98:85; } Link to comment Share on other sites More sharing options...
stas Posted July 16, 2021 Share Posted July 16, 2021 Добрый день, ну все разумно В случае ip_hash запрос отправляется на первоначальный узел. В остальных, куда бог пошлет. Соответственно проксируемый сервер первый раз видит сессию и недоумевает. Link to comment Share on other sites More sharing options...
zilav Posted July 16, 2021 Share Posted July 16, 2021 Просто подождите когда гиперсервер начнет поддерживать несколько серверов. Да и что у Вас там за нагрузка что один гипер уже не справляется и надо распределять нагрузку на несколько серверов? Link to comment Share on other sites More sharing options...
OlegTimkiv Posted July 29, 2021 Author Share Posted July 29, 2021 On 7/16/2021 at 4:07 PM, zilav said: Просто подождите когда гиперсервер начнет поддерживать несколько серверов. Да и что у Вас там за нагрузка что один гипер уже не справляется и надо распределять нагрузку на несколько серверов? Планируется от 1000 до 2000 подключений, один гипер должен справиться. Сейчас на всякий случай смотрю как сбалансировать на другой сервер. Link to comment Share on other sites More sharing options...
zilav Posted July 29, 2021 Share Posted July 29, 2021 6 hours ago, OlegTimkiv said: Планируется от 1000 до 2000 подключений, один гипер должен справиться. Сейчас на всякий случай смотрю как сбалансировать на другой сервер. Столько у вас по идее и на одном сервере должно выдержать, но была заявлена поддержка фермы (нескольких серверов), но когда она точно будет никто точно не скажет. В составе дистрибутива идет утилита для стресс тестирования, попробуйте ей нагрузите какой-нибудь Ваш прототип и прикиньте какое железо понадобится для поддержки вашего количества клиентов. Link to comment Share on other sites More sharing options...
stas Posted August 2, 2021 Share Posted August 2, 2021 On 7/29/2021 at 9:10 AM, OlegTimkiv said: Планируется от 1000 до 2000 подключений, один гипер должен справиться. Сейчас на всякий случай смотрю как сбалансировать на другой сервер. Скорее всего будет плохо, посмотрите сколько потребляет одна сессия умножьте на количество одновременных подключений, ужаснитесь, перейдите на php Link to comment Share on other sites More sharing options...
OlegTimkiv Posted August 6, 2021 Author Share Posted August 6, 2021 On 8/2/2021 at 8:54 PM, stas said: Скорее всего будет плохо, посмотрите сколько потребляет одна сессия умножьте на количество одновременных подключений, ужаснитесь, перейдите на php Обнаружился интересный момент. У нас отправляться post запрос на этот же сервер(другой поддомен) HTTP := nil; HTTP := TIdHTTP.Create(nil); LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP); //Протестированно и запущено на 10.3 indy 10.6.2.5366 LHandler.SSLOptions.SSLVersions := GetVerisonSSL; LHandler.SSLOptions.CipherList := 'ALL'; HTTP.IOHandler := LHandler; PostData := TStringList.Create; PostData.Clear; PostData.Add(Format('ID=%s', [x.S['ID']])); //Добавление параметров HTTP.Post(URL, PostData); nginx настроен по правилу ip_hash. Все запросы клиента пойдут на один сервер, тут получается у некоторых пользователей все ок а у других EIdHTTPProtocolException HTTP/1.1 500. Убираем балансировку все работает. Не могу понять дело в настройках nginx или Indy- надо ещё что-то указывать? Link to comment Share on other sites More sharing options...
stas Posted August 7, 2021 Share Posted August 7, 2021 Synapse не пробовали? Link to comment Share on other sites More sharing options...
Kos Posted September 13, 2021 Share Posted September 13, 2021 3 сервера с HyperServer в nginx split_clients "${remote_addr}AAA" $back_id { 40.0% "192.168.0.1:8087"; 30.0% "192.168.0.2:8087"; * "192.168.0.3:8087"; } server { # ... location / { proxy_pass http://$back_id; } } Link to comment Share on other sites More sharing options...
stas Posted September 14, 2021 Share Posted September 14, 2021 22 hours ago, Kos said: 3 сервера с HyperServer в nginx split_clients "${remote_addr}AAA" $back_id { 40.0% "192.168.0.1:8087"; 30.0% "192.168.0.2:8087"; * "192.168.0.3:8087"; } server { # ... location / { proxy_pass http://$back_id; } } И как? Link to comment Share on other sites More sharing options...
Kos Posted September 14, 2021 Share Posted September 14, 2021 уже год работает стабильно. почти равномерно распределяет клиентов на сервера с самого старта, по хешу(MurmurHash2) IP адреса клиента опеределяется постоянный сервер. в блоке split_clients подобрать % распеределения 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now