2011-01-14 14 views
6

Ho RewriteMap configurato per utilizzare un'applicazione esterna per riscrivere l'URL in entrata. Funziona alla grande. La mia preoccupazione ora è il threading e le prestazioni. C'è un modo per fare in modo che l'applicazione esterna elabori più richieste? Ora usiamo un RewriteLock, in modo che solo un thread alla volta invii una richiesta all'applicazione esterna, ma questo sembra un collo di bottiglia nelle prestazioni.mod_rewrite, RewriteMap, RewriteLock e threading

Qualsiasi consiglio sarebbe apprezzato. Grazie

+0

Sto alzando la tua domanda, perché * RewriteLock * era la risposta alla mia domanda MrGreen Grazie! – commonpike

+0

Sarebbe stato bello se ci fosse un qualche tipo di supporto al pool. –

risposta

0

Ho trovato questo interessante dicussion con una developper apache: http://www.webmasterworld.com/apache/3124928.htm

L'effetto collo di bottiglia non è così paura di loro. Se il tuo programma di mappatura è veloce dovrebbe essere ok. Potresti forse verificare se esiste questo effetto di collo di bottiglia.

Il blocco viene utilizzato per impedire che le richieste con thread utilizzino lo stdin della prg nello stesso momento. Sembra difficile cambiare il modo in cui funziona.

Non ho mai usato rewriteMap in questo modo, preferisco usare i file hash con esso. Il tuo reindirizzamento interno è dinamico? Altrimenti potresti creare un file hash.

+0

Sì, è dinamico. Dipende da una ricerca nel database e il database viene costantemente aggiornato, rendendo difficile la memorizzazione nella cache. L'app esterna che ho è abbastanza veloce. – MonkeyWrench

+0

Quindi dovrai fare dei test, qual è il tuo traffico? con un traffico molto elevato è possibile parallelizzare questo potenziale collo di bottiglia utilizzando diversi server Apache, con diversi server fisici o virtuali e load balancer. – regilero

+0

Probabilmente è necessario seguire questa strada, ma ciò non consente di utilizzare un server Web con multithread come apache in primo luogo. Potrebbe semplicemente scrivere il nostro modulo. – MonkeyWrench