2011-01-14 9 views
6

Mam RewriteMap skonfigurowany do używania zewnętrznej aplikacji do przepisywania przychodzącego URL. Działa świetnie. Teraz martwię się wątkiem i wydajnością. Czy istnieje sposób na żądanie zewnętrznego procesu aplikacji? Używamy teraz RewriteLock, więc tylko jeden wątek na raz wysyła żądanie do zewnętrznej aplikacji, ale wydaje się, że to wąskie gardło wydajności.mod_rewrite, RewriteMap, RewriteLock i threading

Wszelkie wskazówki będą mile widziane. Dzięki

+0

Podnoszę twoje pytanie, ponieważ * RewriteLock * był odpowiedzią na moje pytanie :-D Dzięki! – commonpike

+0

Byłoby miło, gdyby było coś w rodzaju wsparcia puli. –

Odpowiedz

0

znalazłem ciekawe dicussion z apache developper: http://www.webmasterworld.com/apache/3124928.htm

Efekt gardłem nie boi się ich. Jeśli twój program do tworzenia map jest szybki, powinno być w porządku. Możesz sprawdzić, czy ten efekt wąskiego gardła istnieje.

Blokada służy do uniemożliwienia żądaniom wątkowym użycia stdin twojego prg w tym samym czasie. Wydaje się trudne do zmiany sposobu działania.

Nigdy nie używałam przepisywania w ten sposób, wolę używać z tym hashem plików. Czy Twoje wewnętrzne przekierowanie dynamiczne? Jeśli nie, możesz utworzyć plik skrótu.

+0

Tak, jest dynamiczny. To zależy od wyszukiwania w bazie danych, a baza danych jest stale aktualizowana, co utrudnia buforowanie. Zewnętrzna aplikacja, którą mam, jest dość szybka. – MonkeyWrench

+0

Więc będziesz musiał wykonać testy, jaki jest twój ruch? przy bardzo dużym natężeniu ruchu można zrównoleglić to potencjalne wąskie gardło, używając kilku serwerów apache, z kilkoma serwerami fizycznymi lub wirtualnymi i równoważnikami obciążenia. – regilero

+0

Prawdopodobnie trzeba iść tą trasą, ale to neguje wszystkie powody używania wielowątkowego serwera WWW, takiego jak Apache. Może wystarczy napisać nasz własny moduł. – MonkeyWrench