PHP - Conexiones a la bd y servidor

   
Vista:

Conexiones a la bd y servidor

Publicado por Ricardo (2 intervenciones) el 29/12/2014 05:38:56
Hola a todos, queria hacerles una consulta.
Puede un servidor standard de esos compartidos, soportar unos 100 usuariios conectados simultaneamente y ademas en menos de un minuto realizar unas 500 consultas a la base de datos rapidas y sin colgarse? o se necesita algun servidor especial con mas capacidad?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Conexiones a la bd y servidor

Publicado por xve (5523 intervenciones) el 29/12/2014 10:08:12
Hola Ricardo, dependerá del servidor, de las características que tenga tu compartido, y del tipo de consultas que realices en tu base de datos...

Hay consultas que tardan millonésimas de segundo en realizarse, porque puede estar todo en memoria, y hay consultas que con una maquina dedicada para ti solo pueden tardar varios minutos o incluso horas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conexiones a la bd y servidor

Publicado por ricardo (2 intervenciones) el 29/12/2014 18:14:03
Son consutas basicas, el sistema es de una toma de turnos de trabajo y seran 100 personas que simultaneamente podran tomar dichos turnos, basicamente este script debe ejecutarse unas 200 veces en no mas de un minuto rapidamente,sin cuelges,etc.(es ajax)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
session_start();
require("../conexion.php");
 
$user=$_SESSION["id_user"];
$id=$_POST["id"];
$fecha_i=$_POST["start"];
$fecha_f=$_POST["end"];
$interv1=$_POST["interv1"];
$interv2=$_POST["interv2"];
 
function minutos_transcurridos($fecha_i,$fecha_f){
	$minutos = (strtotime($fecha_i)-strtotime($fecha_f))/60;
	$minutos = abs($minutos); $minutos = floor($minutos);
	return $minutos;
}
 
$sql1="select id_usuario,start,end from turnos_toma
where start='".$fecha_i."' and end='".$fecha_f."' and id_usuario=".$user." limit 1";
$res1=mysqli_query($conexion,$sql1);
$num1=mysqli_num_rows($res1);
	if ($num1!="0") {
		echo "Ya tomaste este turno!";exit;
	}else{

	$sql2="SELECT count(id) as cantidad from turnos_toma
	where start BETWEEN '".$interv1."'  AND '".$interv2."' and id_usuario=".$user."";
	$res2=mysqli_query($conexion,$sql2);
	$count2 = mysqli_fetch_array($res2); 
		if ($count2[0]==4) {
			echo "No puedes tomar más de 4 turnos.";exit;
		}else{				

			$sql3="select start from turnos_toma where 
			start BETWEEN '".$interv1."'  AND '".$interv2."' and
			id_usuario=".$_SESSION["id_user"]."";
			$res3=mysqli_query($conexion,$sql3);
			$num3 = mysqli_num_rows($res3); 
				if ($num3==0) {
					$sql4="update turnos_asignacion set cantidad=cantidad-1 where id=".$id."";
					$res4=mysqli_query($conexion,$sql4);
					$sql5="insert into turnos_toma values(null,".$id.",".$user.",'".$fecha_i."','".$fecha_f."')";
					$res5=mysqli_query($conexion,$sql5);
					echo "Turno tomado con éxito";exit;	
				}else{

					while ($row3=mysqli_fetch_array($res3)) {	
						if (minutos_transcurridos($row3["start"],$fecha_i)<210) {
							echo "No puedes tomar este turno.";exit;
						}
					}		
					
					$sql6="update turnos_asignacion set cantidad=cantidad-1 where id=".$id."";
					$res6=mysqli_query($conexion,$sql6);
					$sql7="insert into turnos_toma values(null,".$id.",".$user.",'".$fecha_i."','".$fecha_f."')";
					$res7=mysqli_query($conexion,$sql7);
					echo "Turno tomado con éxito";exit;	
				}
		   }
	}

mysqli_close($conexion);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar