Ho un problema con il componente firewall Symfony2 che impiega anni su alcune richieste.Il firewall Symfony2 impiega anni
Ho notato che succede principalmente durante le richieste AJAX, e molto specifiche - quando cerco un'entità usando le dichiarazioni LIKE% ..% in dottrina (non sono sicuro che importi, ma è quello che ho notato;)) .
Chiamare lo stesso URL un po 'più tardi (1 o 2 secondi dopo) determina il tempo di elaborazione del firewall "normale".
Non utilizzo alcuna origine dati esterna per l'autenticazione, tutto è archiviato in PostgreSQL.
Guardate il seguente calendario:
timeline http://f.cl.ly/items/1a2Y0T062E0H2Z3t0g27/Zrzut%20ekranu%202012-11-19%20o%2018.26.11.png
C'è un modo per eseguire il debug direttamente il firewall?
mio config si presenta così:
security:
firewalls:
admin_area:
provider: db_users
pattern: ^/admin
anonymous: ~
form_login:
login_path: /admin/login
check_path: /admin/login-check
logout:
path: /admin/logout
target: /admin
switch_user: { role: ROLE_SUPERADMIN, parameter: _become_user }
secured_area:
pattern: ~
anonymous: ~
http_basic:
realm: "Secured Demo Area"
access_control:
- { path: ^/admin/clip-manager/clip/encode/*, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/login-check, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: [ROLE_ADMIN_LOGIN, ADMIN_AREA] }
providers:
db_users:
entity: { class: Webility\Bundle\AppUserBundle\Entity\User, property: username }
encoders:
Webility\Bundle\AppUserBundle\Entity\User:
algorithm: sha256
iterations: 3
encode_as_base64: false
acl:
connection: default
Sto usando Symfony\SecurityBundle
e JMSSecurityExtraBundle
.
Provare a utilizzare un indirizzo IP effettivo (anziché il nome host) per il server del database. http://12wiki.blogspot.com.es/2012/11/why-does-symfony-2-firewall-take-so.html – Cerad
Ci sono molte richieste AJAX che elaborano contemporaneamente o è l'unica? – AlterPHP
Sì, è l'unico. Anche se ... È una ricerca dal vivo, es. cerca come tipi di utente (con ritardo di 100 ms quando l'utente interrompe la digitazione) e tutte le precedenti richieste AJAX vengono interrotte. Ma in effetti potrebbe essere possibile che le richieste vengano interrotte, ma sono ancora in fase di elaborazione da parte del server. –