with texto strip_tags remove limpiar from eliminar allow all php apache session debian fastcgi

php - texto - string strip_tags



session_start parece ser muy lento(pero solo algunas veces) (6)

Por alguna extraña razón, hoy nuestro servidor decidió ser muy lento durante el inicio de las sesiones. Para cada session_start, el servidor agota el tiempo de espera después de 30 segundos o le llevará unos 20 segundos iniciar la sesión. Esto es muy extraño, ya que no lo ha hecho por mucho tiempo (la última vez que nuestro servidor hizo esto fue hace unos 7 meses). Intenté cambiar la sesión para que se ejecutara en una base de datos, pero funciona bien, sin embargo, a medida que se construye nuestro sitio web actual, tomaría días para ir a cada página y cambiar la carga de sesiones para incluir una nueva sesión entrenador de animales. Por lo tanto, mi pregunta sigue siendo:

¿Por qué es tan lento y por qué solo algunas veces?

Funcionamos en un servidor dedicado de Hetzner con 24 GB de RAM y una CPU lo suficientemente rápida como para ejecutar un simple servidor web (un Xeon, creo, pero no estoy seguro). Ejecutamos Debian en el servidor con una configuración apache + fastcgi + php5.

El servidor no informa mucha carga, ni a través del estado del servidor ni del comando top . Vnstat informa que no hay ningún problema con nuestro enlace de red (una vez más, eso no daría como resultado un lento manejo de la sesión local). IOtop informa que no hay problema con los procesos que toman todo el disco duro. Escribir en la carpeta tmp donde se encuentran los archivos de sesión funciona rápidamente si se hace a través de vim.

De nuevo, para dejar esto en claro, mi principal preocupación aquí no es si debemos cambiar a un DB o una versión de las sesiones almacenada en la memoria caché, sino simplemente preguntar por qué sucede esto, porque todo lo que observo parece estar trabajando bien, a excepción del PHP en sí.

EDITAR : El archivo máximo en nuestro directorio PHP tmp es 2.9 MB, por lo que nada que tenga un impacto, creo.

ACTUALIZACIÓN : Nunca descubrí lo que estaba mal y cómo solucionarlo, pero el problema desapareció después de cambiar a las sesiones de memcached / db.


¿Has probado session_write_close(); ? Esto desactivará la capacidad de escritura en las variables de la sesión, pero aún puede leer datos de ellos. Y luego, cuando necesite escribir una variable de sesión, vuelva a abrirla.

También sufrí este problema, pero esto funcionó como un encanto. Esto es lo que hago:

session_start(); //starts the session $_SESSION[''user'']="Me"; session_write_close(); // close write capability echo $_SESSION[''user'']; // you can still access it


Cada sesión es almacenada por apache como un archivo de texto.

Cuando se usa el inicio de la sesión para reanudar una sesión existente (a través del identificador de cookies, por ejemplo), ¿puede ser lento iniciar un archivo de sesión grande (una sesión con mucho contenido en el interior)?

Si este es el caso, probablemente su aplicación esté poniendo mucha información en las sesiones.


Compruebe si tiene una configuración de Memcache correcta, por ejemplo, en /etc/php.d/memcached.ini


Me encontré con este problema también. Fue respondido aquí:

Problema con la función session_start () (funciona lentamente)

Las sesiones están bloqueadas por PHP mientras se ejecuta una secuencia de comandos, por lo que si las secuencias de comandos se apilan en la misma sesión, pueden causar estas demoras sorprendentemente largas.


Sé que esta es una vieja pregunta, pero acabo de solucionar este problema en mi servidor. Todo lo que hice fue activar el caché de derivación para los dominios en el administrador de caché en el panel de control.

Mis sesiones tardaron años en comenzar y cerrar ahora que son instantáneas.


Tuve el mismo problema: de repente, el servidor tardó 30 segundos en ejecutar una solicitud. Me di cuenta de que era debido a session_start () . La primera solicitud fue rápida, pero cada solicitud siguiente tardó unos 30 segundos en ejecutarse. Descubrí que el archivo de sesión en c: / wamp / tmp fue bloqueado por la primera solicitud durante aproximadamente 30 segundos. Durante este tiempo, la segunda solicitud estaba esperando a que se desbloqueara el archivo. Descubrí que tenía algo que ver con rewrite_mod y .htaccess . Inhabilité rewrite_mod y comenté cada línea en .htaccess y funciona de nuevo como un amuleto. No sé por qué sucedió esto porque no recuerdo cambiar ninguna configuración o confirmar Wamp.