- Sobre la creación del reporte en pdf, cuanto de texto es el limite para no saturar al hosting. Existe alguna alternativa para crear un documento localmente (con javascript)
Eso depende de tu tipo de hosting y del trafico de tu sitio. Por ejemplo el script que genera el PDF cuantas veces es invocado por hora normalmente? Y por otro lado que tipo de hosting tenes?Si es un shared basico, con 64MB es mas que suficiente, salvo que tengas muchas ejecuciones del script, en ese caso 32MB están bien.
Lo ideal es al principio del script que genera el PDF agregar la linea:
ini_set("memory_limit","64M");//64 MegaBytes
Claro que existen librerías para crear PDF con JS como
https://parall.ax/products/jspdf el problema es que si el cliene tiene una pc vieja (512/1024 ram) se le va a colgar mal el navegador xD y con versiones desactualizadas de Firefox e IE no funciona del todo bien.
- Al iniciar el cuestionario cargo todo mediante ajax, son varios combos por Area y Categoria (no queria hacer muchas consultas por eso lo almaceno en una variable). Cuanto seria el peso maximo de los datos que puedo almacenar en variables
Si te referís al cliente, el limite es la memoria disponible que tenga la pc del navegador web xD. Pero seguramente te alcance de sobra para un cuestionario/formulario...
En el servidor el limite es el limite de memoria - memoria usada actualmente por el script. Te pongo un codigo de ejemplo, uso la funcion memory_get_usage() para saber cuanta memoria tengo en uso:
<?php
echo "guardando algunas variables en memoria<br>";
for($i=50000;$i>0;$i--)
{
"tag_uid" => '84fdds9f498sd4f98sd98fd',
"x" => 0,
"y" => 1
);
}
echo "guardando mas variables en memoria<br>";
for($i=15000;$i>0;$i--)
{
"tag_uid" => 'a4d4d9as4d9as1dsa16d51sa65d1sa65d1a6s51d65as1dsa65d6',
"x" => 0,
"y" => 1
);
}
?>
Al ejecutarlo desde el navegador obtengo:
Inicio. Meoria en uso: 65400 bytes.
guardando algunas variables en memoria
usados 21128104 bytes.
guardando mas variables en memoria
usados 27913832 bytes.
Como ves al final del script tengo en us 27913832 bytes (26MB aprox.) Entones cambio la linea 1 a
<?php
Y ahora obtengo:
Inicio. Meoria en uso: 65400 bytes.
guardando algunas variables en memoria
usados 21128104 bytes.
guardando mas variables en memoria
Fatal error: Allowed memory size of 26214400 bytes exhausted (tried to allocate 53 bytes) in C:\AppServ\www\poc.php on line 28
Como ves, me estoy pasando por 53 bytes, lo que da un error.
Espero haberte ayudado, saludos!