PDA

Ver la Versión Completa : Un auto clicker y websurfer


JXJ
21-09-2008, 19:49:24
a ver super genios programadores.


¿como se puede hacer un programa Auto clicker
y auto surfer.?

el asunto es que voy a probar que tan bien esta mi sitio web y
quiero ver si todo anda bien, simulando millones de visitantes. al dia.

y necesito construirme un como robot que me consuma recursos
del portal.

dec
24-09-2008, 20:11:40
Hola,

Hum... me parece que no hace falta tanto jaleo. Aunque a decir verdad no he profundizado en absoluto en ello, pero, el servidor Apache, si es que es el que usas, tiene herramientas para hacer "pruebas", como "Apache HTTP server benchmarking tool" (http://httpd.apache.org/docs/2.0/programs/ab.html). Si usas otro servidor, supongo que existirá forma de hacer algo similar. Por ejemplo, me consta que MySQL también cuenta con herramientas para este tipo de cosas. Y yo diría que por ahí van los tiros para hacer lo que necesitas.

JXJ
24-09-2008, 20:25:38
uso apache,, pero mi proveedor de hosting usa IIS
y en ellos no puedo instalar nada.. al menos solo php scripts.

por eso consulto a los genios programadores.

dec
24-09-2008, 21:34:30
Hola,

Hombre, pero tú puedes hacer las pruebas "en local", ¿no? Usando Apache u otro servidor. Es que no sé... creo que las cosas tienen que ir por ahí, porque, ¿te imaginas a una especie de "robot" haciendo clic "millones" de veces aquí y allí? No me parece algo razonable, y de hecho existen esas herramientas para hacer "benchmarks" por algo, digo yo... Aunque reconozco que yo de genio programador no tengo nada, las cosas como son. :rolleyes:

roman
24-09-2008, 21:41:45
Hombre, pero tú puedes hacer las pruebas "en local",

Pues sí, pero las pruebas "en local" generalmente irán mucho mejor que en un servidor real, y, si de lo que se trata es de medir el desempeño del sitio, influye no solo la estructura de éste, sino el servidor en que se monta.

// Saludos

dec
24-09-2008, 21:42:52
Hola,

¿Y qué solución propones Román? ¿Te parece bien montar esa especie de "robot" que se dedique a hacer clics (por millones) por aquí y por allí? ¿Existe otra forma de realizar este tipo de pruebas en servidores "de terceros"? Es obvio que las pruebas en local no son comparables a las pruebas en otro lugar, pero, pienso que pueden dar una buena idea del desempeño de nuestra aplicación y por eso lo dije.

JXJ
25-09-2008, 03:41:27
hay softwares que hacen eso de pruebas,
que son de pago...
y mi brillante idea fue la de que yo puedo hacer unos basico..

pero no..no me alcanza el tiempo.

mañana pongo el nombre de uno que encontre que no lo recuerdo

roman
25-09-2008, 05:50:03
A ver, quizá estoy malentendiendo el asunto. Es cierto, supongo que montar un robot no sea correcto, no lo sé; cabe la posibilidad de que el sitio en cuestion opte por bloquearnos.

Tampoco digo que probar en local no nos pueda dar una idea. Pero tratándose de una aplicación de mucho tráfico, pequeñas cosas que en local pueden no notarse siquiera, al acceder a través de una conexión a internet, esas pequeñas cosas pueden magnificarse. Hay que tomar en cuenta que no todos tenemos acceso de banda ancha, o aún teniéndolo, en México lo más que se alcanza es 2Gb (en la ciudad de México 1.5Gb).

Digamos que una página muestra la lista de clientes de mis tiendas, que puede ser de entre 200 o 300 personas.

Si pruebo eso localmente, seguro que me iré con la idea de que funciona de maravilla, es una cantidad de registros nimia para un acceso in situ. Pero si debo acceder a esa página, vaias veces, muchos clientes, a través de una conexión a internet, la lista ya no se transmite tan rápido.

Pero bueno, de todas formas digo que quizá no estoy entendiendo bien el problema. De hecho, viendo el ab, observo que no sólo es para pruebas locales; de hecho puede usarse para generar n peticiones a un servidor externo.

Aunque entonces lo que estamos probando es, más que nada, la capacidad de ese servidor para soportar conexiones simultáneas, pero no sé qué tanto sirva para sopesar nuestra aplicación en particular.

En fin, yo no quería dar a entender que desdeñaba las pruebas en local, más bien manifestaba una duda.

-------------------------

En cuanto a cómo probar en sí lo que quiere JXJ (tomando en cuenta el riesgo de lo que puede implicar) pues a mi a bote pronto se me ocurre algo así:

1. Usar Indy, WinInet o similares para establecer una petición
2. Usar un analizador del DOM (hay algunos gratuitos para delphi) para listar todos los enlaces de la página obtenida.
3. Mediante un proceso aleatorio decidir si entro o no a uno de esos enlaces.
4. Entrar a los enlaces seleccionados repitiendo desde 1 recursivamente.

// Saludos

dec
25-09-2008, 06:05:20
Hola,

Bueno, a decir verdad yo tampoco puedo ir mucho más allá en este asunto, bien porque nunca me he preocupado de ello, bien porque en definitiva no tengo demasiada idea al respecto. Supongo que uno tiene que usar cierta intuición en estas cosas, y algo de experiencia. Por ejemplo, lo que dices Román acerca de solicitar muchos registros de una base de datos: bien tengo yo aprendido que esto no hay que hacerlo así, sino poco a poco, paginando los resultados, precisamente, para evitar "esperas" y demás.

Ahora bien, lo "demás" me preocupa. Y, es que me pregunto, ¿realmente pueden hacerse pruebas en un sentido únicamente? Es decir, hablamos de someter a una supuesta aplicación a la carga de un millón de visitantes, pero, ¿hasta qué punto será ya nuestra aplicación la única responsable de responder a tanta carga? ¿No entran en juego aquí otros factores, como el servidor web y su configuración, por ejemplo? Por otro lado, nosotros podemos hacer pruebas locales y en cualquier servidor: no vamos a hacer millones de pruebas, pero sí bastantes como para vedr que todo va más o menos como se espera.

En todo caso, lo que a mí me ha parecido raro desde un principio era el hecho de pretender usar una especie de "robot" para este asunto. Supongo que estas cosas no se solucionan así, aunque muy bien puedo estar equivocado. La verdad, ya digo que nunca me he visto en la necesidad de llevar a cabo pruebas de tamaño calibre. Me he venido limitando a pruebas tanto en local como en el servidor de Internet por mi cuenta y riesgo, tratando de ver que no había cosas raras evidentes. Así que va a valer más que me esté calladito a ver si aprendo algo. ;)