Buenas tardes,
Tal y como prometí ayer, hoy, a esta hora, publicaría los mensajes privados intercambiados con Electrik en relación al tema de actualidad: shurscript. Quizá el post no dure mucho, ya sabéis como funciona esto.
El código BBcode está alojado en el siguiente Pastebin. Podéis guardarlo para la posteridad. Ha sido un placer:
http://pastebin.com/raw.php?i=LZi0xyiT
27-sep-2013, 19:22
Cita:
Originalmente Escrito por Fritanga
Buenas tardes Alejandro,
En primer lugar informarte de que nos dirigimos con este mensaje, con un fin informativo y, por otro lado, para solicitar si lo crees conveniente un apoyo a las mejoras en usabilidad que el equipo de Shurscript comenzamos a realizar desde hace varias semanas.
Como ya te habrás dado cuenta, hace cerca de un mes empezamos a desarrollar un script para ForoCoches que introducía algunas mejoras que se vienen demandando desde hace mucho tiempo para ForoCoches y que otros usuarios han implementado como aplicación para distintos sistemas operativos móviles, como es el caso de Shurtalk, Tapacoches, etcétera… con la diferencia de ser completamente open-source y permitir la admisión de módulos de cualquier usuario, previa revisión.
En el punto en el que se encuentra y tras el apoyo y la utilización de muchos usuarios que han manifestado su agrado con el script, queremos seguir prestando mejoras significativas a la usabilidad del foro.
Nos gustaría conocer tu punto de vista de tal forma que pudiésemos continuar con la andadura sin entorpecer demasiado en las funciones del foro ni que se viese gravemente obstaculizado el rendimiento general. Por ejemplo, desde un primer momento hemos sido respetuosos con la publicidad del foro, no hemos ocultado ni impedido su visualización, sabemos que es tu negocio y vamos a intentar respetarlo por todos los medios, por tanto, estamos dispuestos a escuchar tu punto de vista.
Por último y para finalizar, en este momento requerimos de implementar un servidor donde guardar las preferencias del script de cada usuario así como permitirnos tener una base estable para realizar otras funciones que requieran de procesamiento y/o almacenamiento.
Puesto que en el pasado has dado cobijo a cosas como RadioForoCoches, antes de lanzarnos nos gustaría pedirte directamente que fueses tu quién nos brindase dicho “servidor”. Nos bastaría con un VPS con una pizca de RAM y espacio en disco.
Ni que decir tiene que esta conversación quedará entre el equipo de Shurscript y ningún usuario será notificado lejos de conocer la resolución final.
No te entretengo más, un saludo y muchas gracias anticipadas de parte de los principales desarrolladores, xusoO, TheBronx y un servidor, Fritanga.
PD: Te dejo el enlace al post antiguo (
Script forocoches - ForoCoches) y al actual (
ForoCoches).
01-oct-2013, 19:16 [4 días después]
Cita:
Originalmente Escrito por Fritanga
Buenas tardes Alejandro,
No se que plazo de respuesta para temas como este tendrás asumiendo la insana cantidad de mensajes privados que te llegarán diariamente, pero en caso de que lo hayas leído y no tengas una clara disposición a tomar una decisión, me gustaría que al menos te pronunciaras al respecto positiva o negativamente, para no estar pendiente de una respuesta que nunca llegará y poder avanzar por otros frentes.
Realmente me sentiría muy insultado con el hecho de que no respondieras, como decía, ni positiva ni negativamente a este mensaje.
Un saludo y gracias por la atención.
En este punto, cabe destacar que jamás recibimos respuesta. No se pronunció ni para bien, ni para mal. Nos ignoró literal. Alejandro, me ignoraste. No fuiste capaz de cruzar tres líneas. No estabas en la obligación de hacerlo, pero me faltaste al respeto. Me puse a tu disposición para conocer tu opinión y la esperé por varios meses.
27-abr-2014, 13:47
Cita:
Originalmente Escrito por Fritanga
Electrik,
Me puse en contacto contigo hace casi 9 meses cuando empezamos con el desarrollo de shurscript con el fin de que nos comentases tu posición al respecto, pues al final lo que hacemos de alguna manera, es plantar flores en tu jardín.
Hemos avanzado en el desarrollo una barbaridad y creado verdadera comunidad alrededor del script, que ya roza los cinco mil usuarios y que ha conseguido juntar en el desarrollo a un buen equipo de desarrolladores, betatesters y colaboradores.
Tras el primer email que te envié, como comentaba, hace casi 9 meses, no recibimos respuesta alguna, dando una imagen de pasotismo que a día de hoy aún me hace retorcer.
Como creo recordar que te comenté, respetamos completamente la publicidad de ForoCoches, nuestro script nunca interferirá con ella, pues es tu negocio y desde luego no seremos nosotros quienes hagamos nada por perjudicarlo.
Por otro lado, necesitamos de un montón de peticiones Ajax en segundo plano, al buscador sobre todo, que no sabemos que impacto tiene sobre el rendimiento de los servidores. Tratamos de optimizar hasta el más mínimo detalle del script para que no perjudique la carga de las páginas, para que no estorbe al usuario, pero no sabemos que impacto tienen esas peticiones sobre la infraestructura de ForoCoches.
Sólo buscamos conocer si shurscript te beneficia, perjudica, te es indiferente, si deberíamos respetar algo en concreto que no estamos teniendo en cuenta, o cualquier cosa que creas conveniente destacar. Esto nos ayudaría a orientar ciertos módulos que tenemos pendientes de desarrollo pues podríamos decidir entre reducir las peticiones Ajax y utilizar un servidor como scrapper, por ejemplo…
Por favor, tómate la molestia de responder al mensaje. Ni que decir tiene que la respuesta sólo será visualizada por el equipo de desarrollo.
Muchas gracias.
Un saludo.
28-abr-2014, 10:30 [1 día después]
Cita:
Originalmente Escrito por Electrik
Hola,
lo veo buena iniciativa
si podría llegar a dar algún problema el uso del buscador de forma continua y automatizada desde el script al ser la función que más recursos consume. De momento se nota algo pero con la potencia de los servers no llega a ser una sobrecarga.
Saludos!
Todo correcto. Por primera vez y tras comunicarle mi descontento habiéndome dejado con la palabra en la boca hace 9 meses, se digna a responder. No tiene inconveniente, y seguimos para adelante. En este punto ya teníamos nuestro propio servidor cloud pagado de nuestro bolsillo, había sincronización, y módulos interesantes. Seguimos el desarrollo.
Varios meses después, xus0 recibe un mensaje privado de Electrik en el que básicamente se le pide que "reduzcamos" las peticiones/chapemos. Como ese mensaje no lo recibí yo, no se si él podrá aportarlo, pero vamos, no es que sea muy interesante. No obstante, estaría bien que lo añadiese al hilo en Info/Ayuda.
01-dic-2014, 22:45
Cita:
Originalmente Escrito por Fritanga
Buenas tardes Alejandro,
Te has puesto en contacto vía mensaje privado con xus0, aunque por seguir con las formalidades, te respondo yo que fue la última persona con la que hablaste de este tema.
Hace unos cuantos meses, yo mismo te escribí para conocer tu opinión sobre shurscript y me dijiste que el impacto era mínimo, lo cual era lógico, pues por entonces no teníamos 19.000 usuarios usándolo.
Cuando vimos la caché de búsquedas la semana pasada, nos imaginábamos quienes éramos los causantes, obviamente, y sinceramente, creo que deberías habernos contactado antes de empezar a meter soluciones tan radicales.
Como comprenderás, no vamos a tirar el trabajo de más de un año con shurscript, sobre todo viendo la acogida y el uso que le dan los usuarios, que cada vez están más contentos con las funcionalidades que ofrecen. Tampoco queremos tumbarte la infraestructura ni dañar tu negocio, si esta hubiese sido nuestro objetivo te habrías dado cuenta mucho antes (es bromuro, ya sabes).
Queremos plantearte alguna alternativa para que tanto ForoCoches como shurscript puedan funcionar mejor, con la mitad de impacto. En realidad, el impacto de ForoCoches se reduciría y empezaría a recaer sobre nuestro servidor. Antes de ponernos a trabajar en ello y como obviamente necesitaremos de tu colaboración, queremos saber si estarías dispuesto al diálogo para atacar este problema.
En principio, se nos había ocurrido que con “cuatro líneas de código“, cuando un usuario postee un mensaje, ForoCoches haga una petición POST a nuestro backend con el ID de usuario, ID de mensaje y el mensaje en plano, básicamente. Con estos datos en nuestro servidor, montaríamos una base de datos temporal y haríamos que los usuarios buscasen en ella, en lugar de en ForoCoches. Al ser la base de datos temporal, no es un problema para nosotros y no es un problema para ti. Con esto conseguiríamos la “inmediatez” de que un usuario supiese cuando ha sido mencionado, y completaríamos con búsquedas mucho menos frecuentes contra la caché del foro (de 15 minutos, media hora, o lo que veas razonable).
De esta forma, nosotros le pasamos al usuario dicha información que tu nos “POSTeas” para que vea la cita o mención, en vez de que el usuario la vaya a buscar. Pasamos de una estrategia activa a una pasiva, mucho más liviana para ForoCoches.
Si estás dispuesto a llegar a un acuerdo de este tipo (aunque no sea con esta idea, si se te ocurre otra cosa…) nos ponemos manos a la obra y te vamos contando.
Un saludo.
02-dic-2014, 08:56
Cita:
Originalmente Escrito por Electrik
Todo lo que sea añadir carga a procesos principales es mala solución. A pequeña escala funciona cualquier apaño, pero en cuanto se meten muchas peticiones y procesos hay que optimizar al máximo.
Lo único que podría funcionar y ser escalable sin que afecte al funcionamiento es añadir un server para enviar datos mediante un API donde se hagan las peticiones, pero de momento no hay nada preparado.
Aquí empezamos a sospechar que no entendía que le estábamos contando. Con un POST asíncrono y una vez metido el mensaje en la base de datos y habiendo pasado todo tipo de verificaciones (vBulletin tiene un método de hooks tremendo para esto) ni se enteran los servidores. El siguiente párrafo: no hay nada preparado. Como diría alguno: "ni está, ni se le espera".
02-dic-2014, 09:45
Cita:
Originalmente Escrito por Fritanga
Buenos días,
Vamos tío, añadir una petición POST desde tu end a nuestro end (o hacia un server común si quieres lanzar los primeros tiros de una API pública) por cada mensaje nuevo no es carga, no me fastidies.
Aproximadamente se publica un mensaje cada 2 segundos (quizá uno por segundo o dos por segundo en hora punta un día como el de las Celebrities). Una petición POST cada dos segundos, tus servidores ni se enteran... nuestro servidor montado en 512Mb de RAM y un vCore, recibe sin estar en hora punta 200 peticiones GET por segundo y está preparado para soportar 200.000 por segundo, obviamente no son tecnologías comparables, pero coño, es que mandando un GET o un POST cada dos segundos ni te enteras.
No se que tienes pensado de eso de un API, pero vamos, te aseguro que el API tendrá que interactuar contra algo, o bien el search engine, o la SQL... y eso si que es carga...
Si quieres que hablemos de esto, en serio y sin tonterías, lo discutimos en un chat o algo. Pero necesitamos saber que estás por la labor de colaborar (no te va a suponer ni diez líneas de código)... ¡te estamos dejando colgarte la medallita en plena campaña navideña, mamón!
Te estamos buscando la forma de ganar tiempo reduciendo peticiones, pero como apaño temporal. Estoy hay que solucionarlo para que ambos lados salgamos ganando (y nuestro lado no es el lado de shurscript, es el lado de los usuarios).
Vamos hablando.
Un saludo.
Lo que véis es lo que hay. Se le ofrece de nuevo ayuda para hacer pinitos de una API (que podrían usar Shurtalk, Tapacoches...) en un server común/suyo. Le ofrecemos de nuevo discutirlo de una forma más fluída en un chat/Skype o lo que sea y le comentamos que estamos trabajando por aliviarle la carga de forma temporal.
02-dic-2014, 10:28
Cita:
Originalmente Escrito por Electrik
Estoy haciendo unas pruebas simulando el efecto del script en horas punta y lo que más carga, a parte de las búsquedas si no estuviesen cacheadas, es la recarga continua del showthread. Esa función hay que quitarla mientras no se encuentre una forma de optimizar para que no tenga efecto en la base de datos.
He desactivado la funcionalidad temporalmente cambiando el id del div de mensajes.
Aquí ya nos empezamos a preocupar. Cabe decir que cambiando el id al div de mensajes como hizo en su día (y os avisamos en el hilo oficial) no deshabilitaba la funcionalidad. Es decir, a los usuarios no les aparecerían los nuevos mensajes, pero las peticiones se continuarían ejecutando.
02-dic-2014, 10:37
Cita:
Originalmente Escrito por Fritanga
Si necesitas hacer pruebas y quieres que tumbemos el script, podemos hacerlo nosotros. Tu pide por esa boquita. De todas formas, ayer lo comentábamos. Esto apenas debería tener impacto para ti... solo se hace un GET si estás en la última página de un hilo y el tiempo se incrementa si no estás viendo esa pestaña (es decir, si no estás viendo ese post aunque tengas abierta la pestaña).
De todas formas, habíamos pensado en meter la funcionalidad mediante un toggle. Es decir, que en vez de refrescar por defecto, el usuario active un toggle en los hilos que quiera que se le avise, así evitamos que te estén pidiendo constantemente ese hilo.
Por cierto, si implementamos lo que te comentaba en el otro mensaje, de que nos notifiques con un POST de los nuevos mensajes, podríamos montárnoslo para que con la misma petición podamos saber si ese post en concreto se ha refrescado, y te quitamos del medio ese impacto. Es decir, que en vez de que el usuario busque por debajo si el post se ha actualizado, lo que haría sería preguntárnoslo a nosotros.
Es imposible que la carga que tienes ahora sea por nuestra culpa Alejandro, tenemos apenas 400 sockets abiertos a esta hora y tienes un server web sudando como un gorrino...
Me vas contando.
02-dic-2014, 10:54
Cita:
Originalmente Escrito por Fritanga
Espera, espera... no has deshabilitado la funcionalidad realmente. Las peticiones al showthread te siguen llegando, solo que al usuario no se le van a mostrar.
Es decir, si abres Firebug en la pestaña de Red, por ejemplo, vas a seguir viendo peticiones GET cada X segundos. Deberías instalarte el script para ver el funcionamiento, creáte una cuenta troll por si dudas de la seguridad y listo.
Vuelvo a sugerir nuestra ayuda, utilizamos Slack para coordinarnos en el desarrollo, así que si quieres que te invitemos y en un ratillo hacemos las pruebas que quieras, por nosotros cero problemas. Si quieres un Skype o lo que sea... Que no somos cuatro pirados, aunque lo parezcamos de cara al público
El segundo MP se lo mando en escasos minutos cuando me doy cuenta de que lo que ha hecho no paraliza el script.
Le exponemos de nuevo nuestra ayuda para hacer cualquier tipo de prueba, incluso tirar el script entero si nos lo pide. Por último, de nuevo le comentamos, que es imposible que la carga que tiene en algunos momentos los servidores sea por nuestra culpa. Con apenas 400 sockets abiertos de shurscript, los servidores se le colapsaban. Y eso, sin ánimo de ofender, no es culpa nuestra.
02-dic-2014, 11:23
Cita:
Originalmente Escrito por Electrik
Ya ya, me refiero a que no funcione. Por peticiones si fuera solo a la parte web no hay problema, pero el slave de lecturas en las horas punta cuando hay más de 40.000 online tiene bastante trabajo, y todo el extra que se lleve le va bastante mal.
El script lo he probado, la verdad es que está muy bien. La función de recarga de showthread es la única que veo que puede dar problemas si no se hace de otra forma.
Para el buscador estoy preparando una implementación nueva basada en Sphinx, es lo que se usa ahora pero en vez de usar un único índice gigante, usando muchos índices y distribuyendo los procesos en todos los procesadores por lo que tendría que aguantar mucho más. Lo tengo en pruebas y lo activaré en estos días.
02-dic-2014, 11:36
Cita:
Originalmente Escrito por Fritanga
Nos alegra saber que estás trabajando en ello
Cualquier solución es buena si ataca el problema, pero en cualquier caso, seguimos defendiendo que lo óptimo para ambas partes es que nos notifiques mediante un POST cuando se escribe un mensaje.
Si te paras a pensarlo, simplemente es meter ese POST (de forma asíncrona, obivamente, para que no te de problemas si nuestro end no responde) en el PHP que envía el mensaje del usuario y nosotros nos levantamos un websocket contra cada usuario y pasamos todos los datos por ese websocket. Así, prácticamente cualquier dato que el usuario necesite conocer, lo mete por ese "túnel" hacia nosotros y te evitas: peticiones al buscador, peticiones al showthread, y, encima, ganamos en velocidad pues se le avisa al usuario de menciones y actualizaciones del hilo en tiempo real.
No entendemos el primer párrafo de este último mensaje. ¿Qué tiene que ver el slave de lecturas? El slave de lecturas ni aparece en esta ecuación, el POST que se haga al pulsar el botón de enviar del usuario que lo lance tu end una vez lo ha metido en la base de daytos de forma asíncrona y ya está, no necesitamos ningún tipo de confirmación ni tienes que gastar CPU en procesar nada
Por cierto, ¡ese Sphinx pinta tremendo!
02-dic-2014, 13:12
Cita:
Originalmente Escrito por Fritanga
Bueno, ahora que empiezan a conectarse más usuarios de shurscript (hay algo más que el doble de esta mañana) si quieres que hagamos unas pruebas, nos vas contando. Ya te ofrecí antes algún tipo de mensajería instantánea (no me gusta lo informal que es, pero es la forma más rápida de solucionar esto).
Tenemos que hacer algo con el tema de la búsqueda si lo del POST no te convence, pues si a ti el nuevo Sphinx te soluciona la papeleta pero no nos dejas esquivar la caché de búsquedas, ahora los que estamos jodidos somos nosotros.
Lo que está claro es que necesitamos una forma de acceder a las "menciones" de un usuario. Sin tu ayuda, optamos por tirarlo por el search-engine. Esto te ha dado problemas a ti, y optaste por meter una caché. Ahora nos da problemas a nosotros y tenemos que buscar la forma de seguir dando ese servicio. Es tontería que nos desgastemos mutuamente como el ratón y el gato... hay que buscar la forma.
He visto que has restaurado la ID para que vuelva a funcionar el actualizador de posts, así que imagino que habrás encontrado lo que buscabas.
Hablamos después de comer.
Un saludo.
PD: Joder con la resolución del iMac Retina
El primer párrafo a día de hoy no lo entendemos. Si alguien es tan amable de explicarlo... Nos emociona saber que anda metido con un nuevo Sphinx para aliviar al motor de búsqueda... Clap, clap.
03-dic-2014, 16:12 [1 día después]
Cita:
Originalmente Escrito por Fritanga
Buenas tardes,
Nos tienes en ascuas muchacho.
Dinos algo, ¡que no sabemos que esperar! Puesto que no te has molestado en contestar, suponemos que nuestra sugerencia no te gusta una mierda, así que no sabemos si debemos obviar el problema y seguir nuestro camino, o si debemos tomar otro rumbo.
Como te comentaba ayer, si a ti el nuevo Sphinx te soluciona la papeleta, los que estamos jodidos ahora somos nosotros, y si no buscamos una solución conjunta, vamos a tener que apañárnoslo para saltarte la caché de nuevo...
Dinos al menos si estás trabajando en algo, por no andar esperando respuesta.
Saludetes.
03-dic-2014, 18:33
Cita:
Originalmente Escrito por Electrik
Si lo tengo pendiente, hoy tenia pruebas de coches. Miramos opciones estos días.
Vista la fama que tenía de no responder mensajes privados, decido mostrar interés de nuevo al día siguiente. Responde que ha estado probando coches, perfectamente respetable. Miramos opciones estos días, dice.
08-dic-2014, 18:38 [5 días después]
Cita:
Originalmente Escrito por Fritanga
Buenas tardes Alejandro,
Espero que hayas pasado buen puente. Mañana cuando inicies la jornada retomemos este tema, por favor.
Un abrazo.
09-dic-2014, 19:01
Cita:
Originalmente Escrito por Electrik
A ver si me da tiempo esta semana para poner el nuevo sphinx.
Ese sistema podría ser solución para meter queries directos sin tener que sacar datos fuera, que aunque si pueda ser viable técnicamente de forma asíncrona, no me atrae demasiado al no quedar sincronizada la info ni tener seguridad de que sea algo temporal.
Imagino que no hay ninguna intención, pero he tenido problemas con webs-scrapers que iban publicando todo el contenido generado en el foro para seo y tráfico. Y después cuando llega algún tema que por mandamientos judiciales hay que retirar (cada mes llega alguno) y sigue saliendo en algún lado, da más trabajo explicar porque sigue estando online o directamente no lo entienden y hay que comerse el marrón, responsabilidad, multas, juicios, etc..
La implementación nueva lleva un API que según decía el desarrollador (axivo searchlight) permite hacer queries no-sql muy rápidos. Si funciona bien se podrían hacer contra el servidor de búsquedas si aguanta o uno adicional que podría montar sin demasiado coste. Es la misma implementación que usa xda-developers también sobre un vb3 con menos mensajes (54millones), pero mucho más tráfico que FC.
Han pasado 5 días, muestro interés de nuevo. Recibo una respuesta al día siguiente que ya nos esperábamos. La solución no le "atrae demasiado", pero no la descarta. Ni se muestra en contra ni nos ofrece seguir desarrollándola para que siga manteniendo el control y poder discriminar los edits-deletes y demás.
Lo del Sphinx nos empieza a sonar a chino ya. Papel mojado.
09-dic-2014, 21:14
Cita:
Originalmente Escrito por Fritanga
Buenas tardes,
Lo que comentas es completamente lógico, no obstante, te pido que lo reconsideres por última vez, con un POST asíncrono, nos permites establecer entre nosotros y el usuario un webhook por el que pasar todo el tráfico, tanto del actualizador de posts, notificador de menciones y nos abres la puerta al desarrollo de módulos en condiciones.
Si tu mayor problema es lo que podamos hacer con lo que nos mandas (que te aseguro que no tienes por que preocuparte, de verdad) podrías mandarnos solo los mensajes que contangan un QUOTE o un @, y si no lo contiene, pasar solo el ID del mensaje... Es complejo explicarte estas cosas por aquí, te invito de nuevo a discutirlo con todo el equipo mediante mensajería instantánea, tu pones la fecha y la hora...
Medítalo con la almohada, de verdad, un webhook por el que meter información al usuario sin tener que scrappar constantemente a ForoCoches es bueno para todos, para el usuario, para nosotros y para tu infraestructura...
Si no hay manera de convencerte (ni invitándote a unas cañas), bienvenida sea la API de Sphinx siempre y cuando no nos plantes un delay de 10 minutos
Muchas gracias por todo. Me cuentas con lo que sea.
Un abrazo.
Vuelvo a insistir en la solución que le planteábamos, que una vez más, cerraría todos los problemas de golpe. Está empeñado en mejorar el motor de búsqueda cuando le estamos ofreciendo que no tenga que hacerlo y matar dos pájaros de un tiro. Pero bueno, le ofrecemos de nuevo modificar la solución para mandar solo ciertos mensajes o parsearlos y mandar un extracto o lo que sea.
15-dic-2014, 13:12 [6 días después]
Cita:
Originalmente Escrito por Fritanga
Cuando acabes de repartir las invis ( ) respóndeme, ¡malandrín!
Tenemos cosas pendientes de añadir y queremos sacar actualización pronto, así que dime algo, o tiramos para adelante...
Un saludo.
Casi una semana después y quince días tras haber mencionado por primera vez un nuevo motor de búsqueda, ni siquiera tenemos respuesta. Vuelvo a insistir para que nos haga un poco de caso, alegando que teníamos una update que liberar (cierto) con novedades.
15-dic-2014, 22:27
Cita:
Originalmente Escrito por Electrik
Hola! voy a tope con muchos temas y no he podido montar el buscador nuevo todavía y tengo bastantes ganas, sobre todo porque esto va a explotar un día =). Ahora en fiestas el tráfico es muy inestable y suele bajar, pero en cuanto empiece enero siempre hay subidón y no se si va a aguantar.
La versión nueva reduce los reloads automáticos? si lo hace mejor sacarla ya si añade más mejor esperar a optimizar, eso es lo único que está generando problemas de carga, cuanto más uso más se nota, el resto de cosas no hay problema. Si hay cosas que se puedan optimizar sería lo principal ahora mismo.
Algunas opciones sencillas que estén bien las puedo ir pasando al uso general y otras más complejas o que no sea fácil hacerlas compatibles o sin fallos o uso de muchos recursos para un uso masivo se puede facilitar la integración:
- metiendo algún dato que sea útil en las plantillas en modo comentario <!-- #var#11111# -->
- metiendo ids en lugares específicos para que el script sea más ligero y rápido (el diseño de vbulletin y los añadidos son del pleistoceno)
- ...
Nos insta de nuevo a reducir/deshabilitar peticiones (ya estaba preparado para salir en la próxima actualización). Nos ofrece meter "algún dato que sea útil en las plantillas, a modo de comentario" o ir "metiendo IDs en lugares específicos". Lo de los comentarios en la plantilla supusimos que era una broma.
16-dic-2014, 00:09
Cita:
Originalmente Escrito por Fritanga
Alejandro,
Las cosas que nos propones podrían aligerar la carga de cara al usuario, pero ni te beneficia a ti, ni a nosotros. Es decir, metiendo IDs o comentarios en la plantilla, hace que no tengamos que usar expresiones regulares, pero eso solo ahorra carga al usuario.
¿Que podemos bajar el refresco de hilos? Sí, a costa de la experiencia de usuario. ¿Que podemos pasar por el aro de la caché? Sí, a costa de la experiencia de usuario.
Creí que buscábamos la forma de que todos saliésemos beneficiados, y cada vez veo eso más distante.
Con el nuevo Sphinx comentaste que podríamos pasar las consultas directas. Bien, no es lo ideal como te hemos comentado, pero dentro de todo lo malo, es una mejora para todos (tu ahorras carga, el usuario deja de toparse con 15m de caché y nosotros indirectamente estamos contentos).
De lo de los refrescos del actualizador de posts, pues te podemos hacer el apaño de reducir las peticiones, pero siempre y cuando me garantices que vamos a trabajar en una solución buena para todos. Es decir, si yo reduzco la experiencia del usuario durante un mes a costa de mejorarla de forma significativa después, no me importa. Si le reduzco la experiencia de usuario de forma gratuita para aliviarte a ti la carga y que los usuarios se me encabronen, no hay trato.
Si me garantizas que trabajamos en una solución (sea cual sea, ya has dejado claro que el tema de hacernos un POST y que podamos lanzar un webhook contra el usuario no te gusta, aunque creo que es por que no entiendes como nosotros las posibilidades y ventajas para todos) durante el mes de enero, en la próxima versión nos las apañamos para que el impacto sea menor.
Estamos actualmente en una mala situación todos: nosotros tragándonos la caché lo que hace que las menciones lleguen con 15 minutos de retraso (generalmente ves antes la mención en el hilo que la notificación) y tu con los frontales con más impacto. Cuanto más tiempo lo demoremos, más perjudicados estamos todos.
Son fechas difíciles y estarás liado además con las citas familiares, nosotros tenemos ventaja que somos media docena de personas, pero por favor, no lo demores mucho.
Perdona si el mensaje tiene un tono amenazante, no es ni mucho menos la intención, pero llevamos dos semanas a vueltas sin avanzar.
Un abrazo.
Empiezo a "estirar la goma" en las respuestas. Pasadas dos semanas no hemos avanzado nada y pienso que si no meto un poco de presión, vamos a seguir alargándolo indefinidamente, y todos perjudicados: usuarios, nosotros y él. De todas formas, intento quitarle hierro al asunto en el último párrafo. Seguimos a su disposición, no queremos encabronarnos.
16-dic-2014, 01:13
Cita:
Originalmente Escrito por Electrik
Si no os podeis adaptar a que el script no suponga una carga de uso excesiva y genere problema a la totalidad de usuarios, entonces no será permitido en el foro.
16-dic-2014, 09:19
Cita:
Originalmente Escrito por Fritanga
Buenos días,
¿Estas dispuesto a cargarte la experiencia de uso de 21.000 usuarios que utilizan diariamente TU sitio por no buscar una solución buena para las dos partes? No me parece serio, y menos sabiendo que eres un tío inteligente.
Por supuesto que nos podemos adaptar para que el impacto sea menor, si no no estaríamos teniendo esta discusión. Lo que no queremos es tener que sacrificar un año de trabajo y la enhorabuena de cientos de personas por no llegar a un acuerdo.
No te pido más que buscar una posible solución, hacer unas pruebas en producción (limitadas por ejemplo a los mensajes de un subforo con poco tráfico) y si estás contento con el resultado, ver si es viable ejecutarlo.
Te damos el tiempo que necesites sin problemas, reducimos el impacto si es necesario, pero busquemos una salida.
El script es demasiado bueno para apagarlo, Alejandro, y lo sabes.
Un abrazo.
Mal asunto, la una y cuarto de la madrugada y nos amenaza con una prohibición. ¿He estirado demasiado la goma? Vaya mierda de goma.
Intento hacerle recapacitar. La situación está tensa, hay problemas en las tres partes involucradas. Sigo ofreciendo ayuda.
16-dic-2014, 11:25
Cita:
Originalmente Escrito por Electrik
Si el script se carga la experiencia de 600.000 usuarios al día o multiplica los costes y problemas en infraestructura, no tiene sentido. Mirad lo que ocurrió con algunos scripts similares en webs como digg.
A nivel de opciones y desarrollo está muy bien pero a nivel de optimización hacia la web no está cuidado (entiendo que sin acceso a datos o apis hay cosas imposibles). En todas las funciones que se ataca mediante recargas y búsquedas, la carga que genera cada usuario con script equivale a decenas de usuarios normales.
Con poco uso no importaba, pero al ir en incremento se hace insostenible.
Os digo lo que se puede hacer:
- Optimizar script para reducir recargas y tiempos aunque la experiencia de usuario no sea la óptima. (subir tiempos por defecto, no recargar si la pestaña/ventana no está visible, etc).
- Implementación de algún código o variables en plantillas, que pueda servir para optimizar funciones.
- Integración de alguna función directa en el código del foro que sea más óptima mediante plugins con acceso directo a código php, base de datos, js, etc, que podéis desarrollar (esto como es "aprovecharme" de forma directa para que lo tengan todos los usuarios, no lo quiero gratis, se puede negociar).
La opción de sphinx también está ahí pendiente de probar y puede mejorar todo, permitir indexación del buscador en tiempo real y caches más bajas, etc, pero lo tendré listo cuando pueda, no estoy acostumbrado a que nadie me mande ni me meta presión en ningún sentido.
Saludos!
16-dic-2014, 11:50
Cita:
Originalmente Escrito por Fritanga
Me alegra enormemente ver que al menos no estás cerrado en banda.
Estoy completamente de acuerdo que cuando empezamos con el script, el impacto era nulo. Ahora mismo, vamos por 21000 usuarios y creciendo todas las semanas. Aportamos mejoras sin las cuales ahora mismo muchos usuarios, y me incluyo, somos incapaces de navegar por ForoCoches y eso, obviamente, atrae más y más usuarios. El administrador de HTCmania nos ofreció desarrollarlo para su foro por mensaje privado, si revisas mis MPs lo verás, y lo descartamos. Esto lo hacemos por que nos gusta ForoCoches, y queremos que ForoCoches sea mejor para los que lo usamos a diario.
Soy administrador de sistemas, y como he sufrido en mis carnes este tipo de cosas, desde el primer día te mandé un mensaje preguntándote por el impacto y poniéndome a disposición cuando esto ocurriese.
Respecto a lo que planteas:
- En primer lugar, quiero que cerremos el tema del POST. La solución ideal para todos que te propuse, ni te has negado, ni todo lo contrario. Necesito saber de forma tajante si la descartas, por que yo llevo 10 mensajes intentando "vendértelo" y me estás dando largas. Se tajante, si no nos vas a hacer un POST asíncrono (ni siquiera a negociar que datos nos enviarías), dímelo y me quito la idea de la cabeza. Si no me das un "no" rotundo, pídeme más detalles u ofréceme una prueba con los mensajes de un sub-foro con poco tráfico, para demostrarte mejoraríamos un 300% el script reduciendo un 300% la carga.
- Habíamos pensado en deshabilitar la "recarga automática" del hilo si no se ha hecho scroll hasta abajo del todo y aumentar el tiempo de refresco de forma considerable si no se está visualizando esa pestaña. Con esto yo creo que arreglaríamos un poco la carga, pero de forma temporal. Es decir, cuando pasemos de 20.000 a 40.000 usuarios, tendremos el mismo problema, y entonces nos pedirás que quitemos del todo el módulo... No son soluciones, son apaños.
- Del tema de código o variables en plantilla, nos da completamente igual. Como te decía, eso nos hace un poco más fácil el desarrollo, pero no aporta ninguna ventaja a nadie en concreto. Es decir, si no tenemos IDs o clases, nos apañamos con expresiones regulares, pero eso no reduce la carga más que ahorrándole 10ms al usuario. Es tontería que pierdas el tiempo con ello.
- Del tema de integración directa... Alejandro, te estamos ofreciendo las cosas gratis. Te hemos ofrecido que con dos líneas de código escasas, podamos hacer cosas maravillosas utilizando al usuario como motor. Si te vas a gastar la pasta y tirar unos cuantos meses entre desarrollos y testeos, primero comprueba la aceptación que tendrá utilizándonos de conejillos de indias.
Perdona por la presión por lo del Shpinx. Comprenderás que ahora tenemos el script cojeando de la pata más gorda y eso es un problema para nosotros y para los usuarios. No nos queda más remedio que "aguantarnos" y ya sabes que el que no llora, no mama. Simplemente que tengas en cuenta que estamos en mala posición nosotros y atados de brazos. No te estreses para implementarlo, ¡pero no nos olvides!
Ten en cuenta como te decía, que esto va para largo. ForoCoches continuará creciendo y shurscript, por ende, lo hará también. Si aplicamos parches en vez de fixes, estaremos cubiertos hoy, pero no mañana.
¡Un abrazo!
Bien, propone soluciones. El primer punto ya estaba desarrollado antes de que lo sugiriese, es perfectamente lógico. Del segundo punto ya nos habíamos reído lo suficiente como he comentado antes.
Del tercer punto podríamos hablar largo y tendido. Visto el nivel de interés y el flujo de comunicación, trabajar con este señor tiene que ser una odisea... no obstante, ¿no creéis que lo suyo sería atajar primero los problemas existentes y luego con todo el tiempo del mundo, empezar a integrar funciones? Así pienso yo, al menos.
17-dic-2014, 14:02 [1 día después]
Cita:
Originalmente Escrito por Fritanga
¡Buenos días!
Espero que no leas este mensaje hasta que se te pase la resaca a champagne ( ), pero cuando tengas un ratillo, échale un ojo a esto.
Te he montado el código que habría que meter para la solución milagrosa que te he comentado varias veces. Me he montado un vBulletin 3 para probarlo y funciona perfectamente. Habrá que ver si funciona aquí si no has manipilado demasiado el código vanilla, pero bueno, para que te hagas una idea.
Son 15 líneas en las que se prepara una petición POST con sus cabeceras, se abre un socket, se manda la info y se cierra al instante. De esta manera, no hay problema si nuestro backend no responde y no te colapsa en absoluto la infraestructura.
Como imagino que ya trabajarás con plugins, esto habría que meterlo en un nuevo plugin (AdminCP > Plugins & Products > Add new plugin) y en Hook Location: newreply_post_complete. De esta forma, se nos manda una vez ha pasado todas las verificaciones y se ha añadido a la base de datos (si no utilizas hooks, te digo exactamente en donde habría que meterlo en el fichero .php concreto).
Échale un ojo, de verdad. Merece la pena. Si te gusta, podemos modificarlo según te convenga. Es decir, eso manda todo el mensaje, podemos hacer que parsee solo los mensajes que contengan citas o que mande un extracto, etc... Si quieres probar (real mens do it in production) podemos meterle también un if($threadinfo['forumid'] == 8) para que nos mande solos los mensajes del subforo de pruebas y que veas como se comporta.
Código:
$data = array("postid" => $newpost[postid], "message" => $newpost['message']);
$url = parse_url("http://shurscript.backend:8095/");
$data_params = array();
foreach ($data as $k => $v) { $data_params[] = urlencode($k) . '=' . urlencode($v); }
$data_str = implode('&', $data_params);
$fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 3);
if ($fp) {
$out = "POST " . $url['path'] . " HTTP/1.1\r\n";
$out .= "Host: " . $url['host'] . "\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: " . strlen($data_str) . "\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= $data_str;
fwrite($fp, $out);
fclose($fp);
}
Obviamente habría que establecer la URL al backend de shurscript. Esto sería lo que recibiría exactamente:
Me dices algo, ¡si quieres que le demos juntos una vuelta de tuerca o algo!
Un saludo.
Un día sin respuesta. Contacto con él el día que "ha vendido ForoCoches a Cirsa". En el mensaje anterior le pedí que diese un NO rotundo para no seguir perdiendo el tiempo "vendiéndole" una solución que no quiere, y buscar otras.
Como ni lo descartaba ni sugería seguir trabajando en ella para que se adaptase a ambas necesidades, decido prepararle algo para que lo entienda, si no lo ha entendido. Me monto un vBulletin 3 como el de ForoCoches y preparo y compruebo que funciona, las famosas "16 líneas de código". Vaya cachondeito ha traido este tema, era un mero ejemplo, faltaría desarrollarlo más.
A partir de aquí. El resto es historia:
18-dic-2014, 22:05
Cita:
Originalmente Escrito por Electrik
Necesito que desactiveis las funciones de recarga de páginas hasta que no esté optimizado.
saludos!
18-dic-2014, 22:37
Cita:
Originalmente Escrito por Fritanga
Buenas tardes,
Mañana o pasado intentemos sacar actualización. ¿He de suponer que no has tenido tiempo para echar un ojo al código que te mandé, o que lo has echado pero no sabes que contestarme?
Un saludo.
18-dic-2014, 22:44
Cita:
Originalmente Escrito por Electrik
Ok, si está para el lunes bien, así puedo ver cuanto afecta exactamente. Para el search haré un cambio de nombre php para ver el efecto total, será muy alto porque actualmente las búsquedas salen generadas en el 90-95% por usuarios con el script.
El código no lo he mirado ni pensado esa propuesta (de primeras no me gusta), primero está pendiente sphinx.
18-dic-2014, 22:56
Cita:
Originalmente Escrito por Fritanga
Buenas tardes de nuevo,
Te lo pido como favor personal, echa un ojo al código que te mandé.
Te lo puedo modificar para mandar sólo un extracto del mensaje y enseñarte una demo. No me importa esperar más por esto, pero es algo necesario para todos... Tardas cinco minutos en probarlo.
Te digo algo mañana de la actualización.
Buenas noches.
19-dic-2014, 00:12
Cita:
Originalmente Escrito por Electrik
Si, visto está, el problema es que no me fío de vuestra forma de hacer las cosas.
Os he ido leyendo por el tema y resto de actividades, y no se que edad tenéis pero no me transmitís nada de confianza para hacer cosas en serio, lo siento.
19-dic-2014, 00:35
Cita:
Originalmente Escrito por Fritanga
Me imaginaba que lo de "Éxodo" te iba a encabronar, y sin embargo, no he tenido problema en apoyarlo a pecho descubierto, pese a que me temía que este otro asunto iba a acabar así, la cuestión es que no te fiabas desde el principio y no se si esperabas que dándonos largas durante dos semanas íbamos a hacer que te fiases más.
Te hemos dado propuestas, nos hemos puesto a tu entera disposición y, por último, me he gastado una mañana en montarme un vB3 y prepararte el código, aún poniéndote además facilidades para hacerlo más aún restrictivo, y ni con esas te he conseguido "convencer". Entrecomillo convencer por que aquí no hay una parte beneficiada, hay dos.
Tan pronto dices que estarías dispuesto a meter comentarios en el código y hablas de dinero metiendo de forma nativa alguna cosa, como dices que no te fías de mi. No te entiendo, de verdad.
Llevamos un año trabajando en shurscript, tienes en tu foro el UserScript más trabajado de la histora que jamás ha desarrollado nadie, con una comunidad importante detrás y tienes el valor de decir que no te fías de nosotros. Esto está desarrollado por gente muy buena, **aquí le cuento quiénes somos y a que nos dedicamos, datos personales, lo siento pero no lo puedo publicar**.
Todos tenemos nuestros trabajos y llevamos trabajando en esto con muchas horas de nuestro tiempo libre por que nos gusta ForoCoches, independientemente de que a mi me de la vena por echar una mano a "latower" con sus ForosParalelos.
Si has perdido la confianza, si alguna vez la tuviste, esto se acaba aquí. Me has hecho creer durante dos semanas que realmente estabas interesado en llegar a una solución común cuando siquiera se te ha pasado por la cabeza. Hemos intentado ayudar de forma desinteresada a ti y a tus usuarios y nos has llamado criajos.
Como supongo que no recapacitarás, no tengo más que despedirme y desearte suerte. Espero que no te gastes un duro en implementar en el futuro lo que te hemos ofrecido gratis, por que entonces harás que pierda el respeto a una persona que siempre he considerado inteligente, aunque postee lo contrario.
Un saludo y buenas noches, Alejandro.
Alegando que no contamos con su confianza, nuestra relación se acaba. Tras dos semanas dándonos largas, hablando de un Sphinx que no soluciona el problema y que, de nuevo, ni está ni se le espera, me siento la persona más estúpida del foro. Un año y medio desarrollando esto junto a un equipazo, de forma desinteresada, con tiempo que a veces no teníamos, para beneficiar a sus usuarios, y alega que no contamos con su confianza.
Dos semanas en las que he tenido que estirar una goma para evitar perder la relación. Sabíamos que encuanto actualizásemos shurscript para aliviarle la carga, en vez de tardar una semana en responder, directamente no lo haría. ¿Quién de vosotros no habría actuado igual? ¿Quién se habría bajado los pantalones y perder la comunicación dejando al script en calzoncillos?
Quizá no haya procedido de la forma más correcta. Hay muchas cosas que reprocharme personalmente y posiblemente, algunas decisiones de equipo. Quizá no haya sabido negociar la situación, pero lo que no podéis reprocharme, es que no lo haya intentado, por intentar beneficiaros a vosotros.
Sois geniales, habéis conseguido que por primera vez en 12 años, Electrik tenga que salir a la palestra. Habéis conseguido ponerle tan nervioso que ha llegado a cometer fallos que no debería cometer una persona con sus responsabilidades.
Ayer publicó un mensaje en el hilo de Info/Ayuda, nombrándome con nombres y apellidos, en un foro público con tal de que se me echasen al cuello de forma personal sus esbirros. Este señor ha llamado a mi trabajo, al trabajo a donde voy todos los días, un viernes, a las nueve y cuarto de la noche, para intentar localizarme.
Sabemos que está crispado, ha intentado poner de su lado la balanza durante dos días adelantándose incluso a postear los mensajes privados pues obviamente, ayer no le di permiso, pues había dado mi palabra en postear este mensaje hoy, a esta hora.
Me siento muy contento de esta situación. Cuando el "enemigo" llega a este estado y comete estos fallos, es que hemos ganado la batalla.
Este será mi último hilo en este foro. Abandono. No puedo tolerar que nadie se ría de mi, menos incluso cuando le llevo regalando tiempo más de un año. Alejandro, me has faltado al respeto y me has intentado humillar delante del foro más grande de España y esto, no se me olvidrá en la vida. Confío en que al resto de la gente tampoco se le olvide y recuerde lo cobarde que has sido.
Shurscript va a cerrarse, deshabilitaremos la parte del servidor y quedará inutilizado. No tiene sentido, como ya he dicho varias veces, que continuemos desarrollando esto cuando nos han expulsado y se han reído de nosotros...
Nos vamos. Nos vamos todos. Nos vamos a aportar nuestro tiempo y nuestra ilusión a construir algo por lo que vale la pena luchar. Cientos de personas nos habéis contactado para saber a donde. El dónde, aún no está definido. Lo que sabemos es el cómo, y vamos a trabajar en ello. Los que estéis interesados, podéis dirigiros a
#proyectoexodo y os informaremos.
No creo que este mensaje dure mucho abierto. No creo que nadie nos recuerde el día de mañana como los últimos que intentaron mejorar ForoCoches luchando contra su propio sistema. Los que tengáis la suerte de haberlo leído y os queden ganas de luchar, sabed que no nos rendimos.
Una revolución sin baile no es una revolución que merezca la pena. Bailemos juntos.
Hasta siempre.