Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache, Windows
Forum PHP.pl > Forum > Serwery WWW
adammada
Mam postawionego pod Windows Apache + PHP5 + Postgesql.

Skrypt PHP czasem musi się połączyć z bazą danych na zewnętrznym serwerze. Wszystko tutaj działa.


Niestety, czasem zapytanie wykonuje się kilkadziesiąt sekund. Tak być musi, ok. Ale z chwilą gdy jeden użytkownik odpala to zapytanie do zewnętrznej bazy,
WSZYSCY muszą czekać. Nawet jeśli w ogóle nie mają nic wspólnego z tamtą bazą danych. Mogę się bezpośrednio łączyć do bazy, wykonywać dodatkowe zapytania w "międzyczasie".

Wygląda tak, jakby Apache pod windows nie był w stanie przetwarzać kilku requestów jednocześnie, tylko kolejkuje je i czeka z wykonaniem. A to mi wybitnie nie pasuje.

Co zrobić, aby tak nie było?



Edit: ups, nie to podforum, ale chyba nie mogę przenieść ani usunąć.
erix
Pokaż swój httpd.conf.
adammada
Praktycznie default:

http://pokazywarka.pl/9ebehg-3/
erix
Ok, to spróbuj najpierw:
[APACHE] pobierz, plaintext
  1. Win32DisableAcceptEx On
[APACHE] pobierz, plaintext

na końcu pliku i restart demona.
adammada
Na początku sprostowanie:

Problem jest jednak tylko w obrębie jednej sesji/przeglądarki (jak odpalę dwie przeglądarki na komputerze, to nie blokują się wzajemnie).

Czyli:
Zaczynam ładować (ajaxem, ale bezpośrednie odwołanie blokuje tak samo) dane ze skryptu, który czeka kilkadziesiąt sekund na bazę danych.
I od tej pory żaden inny request (w tej samej przeglądarce) nie działa, póki tamten skrypt nie skończy. Przeszkadza, bo user sobie zapuszcza, nudzi się po kilkunastu sekundach - a tutaj wszystko przestaje działać. Nawet jak zamknie zakładkę, i na innej chcę coś robić.

Ta dyrektywa nie zmieniła tego.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.