nospor
21.10.2022, 14:55:06
Hejka, mam stara aplikacje ktora wysyla 20 AJAXow na raz. 13 z nich przechodzi ok, 7 zas, zawsze te same, te 7 ostatnich, serwer gubi ich GET - wszystkie parametry ktore powinny byc w $_GET sa zgubione.
Czyli request dochodzi, ale bez parametrow przeslanych w URL. Wszystkie 20 requestow maja te same parametry, roznia sie tylko jedna wartoscia. Kontroler wszystko dziala, tylko ze te nieszczesne $_GET jest puste.
Idzie jakos w NGINX zwiekszych limit requestow ktore moze obsluzyc bez gubienia zawartosci?
aras785
21.10.2022, 16:36:53
Wyślij na pw adres strony, chętnie zobaczę to na żywo
nospor
21.10.2022, 16:42:46
Niestety strona tylko dla klientow firmy, nie moge ot tak dac ci loginu tam
Dostajesz jakiegoś erorra? Możesz luknąć na burst + nodelay -
https://nginx.org/en/docs/http/ngx_http_lim...req_module.html Chociaż w domyśle wydaje mi się że nginx powinien puszczać te requesty, bo nie jest to jakaś zmasowana liczba jednak.
Salvation
21.10.2022, 21:02:21
Nie wiem czy ktoś z front-endu to potwierdzi, ale swojego czasu mieliśmy podobny problem w dawnej firmie.
Wtedy padła odpowiedź (od chłopaków z frontu właśnie), że to przeglądarka blokuje większą ilość Requestów w danym odcinku czasu. Skąd liczba 13, to nie wiem, ale na każdej przeglądarce tak było z tego co pamiętam.
trueblue
21.10.2022, 21:20:16
nospor
22.10.2022, 08:12:07
@ohm to juz patrzylem wczesniej, nie pomoglo
@Salvation w tym sek, ze requesty dochodza do serwera, kontroler je normalnie przyjmuje i zwraca odpowiedz. Problem w tym, ze GET w tych requestach jest totalnie pusty, przez co nie ma np. ID mapy a przez co kontroler zwraca poprostu blad, bo nie moze zaladowac danych mapy bez ID.
@trueblue wyglada podobnie. Wszakze u mnie payload zawsze jest pusty bo wszystkie parametry sa w url, ale podejrzewam ze mozna to podpiac pod payload
trueblue
22.10.2022, 09:07:55
A patrzyłeś czy na pewno różnica jest tylko w wartości jednego parametru? Może błąd w budowie query string, może raz http, a innym razem https... Czy requesty nie są przekierowywane na inny URL?
A co access/error logi mówią na ten temat? W sensie bajtowo czy też są puste wg logów?
nospor
24.10.2022, 10:52:57
@trueblue nie,request idzie dokladnym z takim samym formatem zawsze. jest on wysylany w petli i tylko koncowka jednego parametru sie zmienia. Gdy requesty, ktore nie dochodza w petli, wysle pojedynczo, to wszystko jest ok.
w logach jedyna roznica jest taka, w sumie dosc dziwna, ze te requesty ktore przechodza wygladaja tak:
GET URL?service=WFS&version=1.0.0&outputFormat=JSON&request=GetFeature&mapID=30995&featureID=itv_regions.9?service=WFS&version=1.0.0&outputFormat=JSON&request=GetFeature&mapID=30995&featureID=itv_regions.9
a te ktore maja puste GET wygladaja tak
GET URL?service=WFS&version=1.0.0&outputFormat=JSON&request=GetFeature&mapID=30995&featureID=itv_regions.12
Jak widzicie w tych requeastach ktore przechodza, jest zduplikowana zawartosc query string :/
Oczywiscie AJAX wysyla wszystko bez duplikacji
trueblue
24.10.2022, 10:59:02
W Google pod frazą "nginx duplicated query string" jest sporo info. Może coś będzie przydatne.
Dziwna sprawa, kwestia jeszcze tego czy w konfiguracji nginxa jest jakis rewrite lub modyfikowanie request_uri? Jeśli nic takiego nie ma, to teoretycznie nginx powinien requesta puszczac dalej.
nospor
24.10.2022, 11:21:00
sek w tym ze te zduplikowane query string dziala a to nie zduplikowane nie

Wiec generalnie nie chcialbym duplikacji wywalac
No nic, generalnie wyglada ze serwer nie radzi sobie z x requestami wyslanymi jednoczesnie. Chyba nie pozostaje mi nic innego jak wgryzc sie w ten stary js,znalezc miejsce gdzie to sie odbywa i porobic jakies opoznienia
edit: dobra, znalazlem. Moj ostatni post spowodowal ze zajrzalem jeszcze raz do konfiguracji nginx, w piatek powierzylem to zadanie dla szefa, ale widac to byl blad

Mialem cos takiego
limit_req zone=ip burst=12 nodelay;
zmienilem na
limit_req zone=ip burst=21 nodelay;
I dziala jak ta lala. Nic dziwnego ze wczesniej tylko 13 requestow przechodzilo
trueblue
24.10.2022, 11:24:52
Czyli teraz możesz chyba zmienić konfigurację, aby nie duplikowało query string.
nospor
24.10.2022, 11:27:56
Dostalem maila od szefa ze niby poprawil te duplikacje w piatek wieczorem. A mi sie nie chce juz tego teraz sprawdzac, a szef ma wolne dzisiaj, a juz placza ze inna robota stoi i doczekac sie na mnie nie moze
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.