Mi estado actual y la empresa

Creo que nunca había escrito acá sobre mi empresa, o mejor dicho nuestra empresa (incluyo gente que es parte legal y los amigos con quienes trabajamos). De a poco la familia va creciendo y concretando más y más proyectos.

Haciendo una retrospectiva, no me he dado cuenta como ya han pasado casi 6 años desde que fundamos Blackhole con Dionisio .  Si  me pongo a pensar la cantidad de cosas que sucedieron durante en estos años… realmente son un montón. Dentro de estas cosas hay sucesos existosos,  problemas, errores y un largo etcétera.  Lo más importante y rescatable de todo, según mi punto de vista, es que siempre se aprende y que siempre pero siempre  es mejor crear para construir.

En como llegue a todo esto … creo hay en la vida existen dos tipos de personas, los que son inquietos que nunca se conforman y gustan hacer lo mismo (independienties, o ahora le llaman emprendedores) y otros que se sienten comodo cumpliendo su función (dependientes), no creo que uno sea superior que otro, solo que se tienen distintas motivaciones y lo principal en la vida a mi entiender es:  Hacer lo que te gusta hacer, si no eres feliz haciendo tu trabajo algo anda mal. Y en relación a lo anterior, si  hoy me preguntan  si volvería a emprender, mi respuesta es un rotundo Si.

En relación a Blackhole, actualmente estamos centrados principalmente en soluciones VoIP. Fue algo casi natural y siempre hemos estado relacionados en el área de las telecomunicaciones. Varios proyectos, mucho aprendizaje y un monton de bagaje en experiencia que aplicabamos a nuestro negocio donde utilizamos estas tecnologías. Y nuevamente fue natural donde nos digimos, si en todo esto nos especializamos y tenemos la experiencia:  ¿por qué no ofrecerlo?.  Es como así nació la rama en Blackhole sobre entregar soluciones  basadas en Asterisk  y  en Linux.   Considero que con el paso del tiempo, hemos acumulado una gran experiencia en estas áreas, eso no se obtiene de la noche a la mañana, y fue la decisión principal para ofrecer este tipo servicios.

Dentro de las cosas novedosas que podemos hacer, es tomar el sistema teléfonico de la empresa, darle la posibilidad de ver , no solo escuchar como antes. Le damos apertura  al sistema  telefónico de las empresas,  que generealmente es algo muy cerrado.  Convertimos esa  caja negra  en algo abierto,  ayudamos la reducción de costos y le damos supervitaminas.

Probando Nginx

Me puse a curiosear Nginx como webserver y inicialmente me pareció interesante los resultados entregados ante múltiples solicitudes (request) concurrentes. Durante mucho tiempo vengo usando Apache como servidor web, debo indicar que si bien hasta el momento ha funcionado para mis necesidades me decidí a experimentar con Nginx.

Como resultados preliminares he obtenido los siguientes resultados, las pruebas las hecha con ab como benchmark.

Los resultados son para una consulta a una aplicación que está en hecha en Symfony, que consulta a una base de datos en PostgreSQL y entrega un resultado en JSON.   Usando 1000 solicitudes con 10 de concurrencia

Apache


Server Software: Apache/2.2.22
Server Hostname: luqea.dev
Server Port: 80
Document Path: /index.php/api/user/show?nickname=fer123
Document Length: 269 bytes
Concurrency Level: 10
Time taken for tests: 89.996 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 511000 bytes
HTML transferred: 269000 bytes
Requests per second: 11.11 [#/sec] (mean)
Time per request: 899.962 [ms] (mean)
Time per request: 89.996 [ms] (mean, across all concurrent requests)
Transfer rate: 5.54 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 3
Processing: 597 899 40.0 896 1183
Waiting: 597 895 39.5 892 1183
Total: 597 899 40.0 897 1183
Percentage of the requests served within a certain time (ms)
50% 897
66% 911
75% 920
80% 927
90% 946
95% 964
98% 1000
99% 1019
100% 1183 (longest request)

Nginx


Server Software: nginx/1.2.1
Server Hostname: luqea.dev
Server Port: 80
Document Path: /index.php/api/user/show?nickname=fer123
Document Length: 269 bytes
Concurrency Level: 10
Time taken for tests: 86.689 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 479000 bytes
HTML transferred: 269000 bytes
Requests per second: 11.54 [#/sec] (mean)
Time per request: 866.886 [ms] (mean)
Time per request: 86.689 [ms] (mean, across all concurrent requests)
Transfer rate: 5.40 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 164 864 49.5 863 1236
Waiting: 164 864 49.5 863 1236
Total: 164 864 49.5 863 1237
Percentage of the requests served within a certain time (ms)
50% 863
66% 872
75% 880
80% 883
90% 896
95% 911
98% 938
99% 1025
100% 1237 (longest request)
 

Bueno, con esta prueba de rendimiento la diferencia no están distinta y no marca alguna determinación sobre quien es mejor en rendimiento, solo Nginx por un poco supera a Apache pero nada considerable.

 

El asunto cambia dramáticamente cuando aumento el número de request a 100 simultaneas

 

El resultado en Ngix

Server Software: nginx/1.2.1
Server Hostname: luqea.dev
Server Port: 80
Document Path: /index.php/api/user/show?nickname=fer123
Document Length: 269 bytes
Concurrency Level: 100
Time taken for tests: 87.783 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 479000 bytes
HTML transferred: 269000 bytes
Requests per second: 11.39 [#/sec] (mean)
Time per request: 8778.290 [ms] (mean)
Time per request: 87.783 [ms] (mean, across all concurrent requests)
Transfer rate: 5.33 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 1.1 0 5
Processing: 1550 8367 1177.1 8636 9943
Waiting: 1550 8367 1177.1 8636 9942
Total: 1553 8368 1176.5 8636 9947
Percentage of the requests served within a certain time (ms)
50% 8636
66% 8687
75% 8720
80% 8733
90% 8793
95% 8835
98% 8910
99% 9083
100% 9947 (longest request)

Y en Apache el servidor se va al suelo.

rodrigo@moe:/var/www/blackhole$ ab -n 1000 -c 100 luqea.dev/index.php/api/user/show?nickname=fer123
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking luqea.dev (be patient)
apr_poll: The timeout specified has expired (70007)
Total of 85 requests completed

Pasar a minúsculas archivos

A veces necesito que los nombres de los archivos estén solo en minúsculas , para hacer esto de manera masiva lo hago con
rename 'y/A-Z/a-z/' *

¿Conoces otra forma?

Plugin para editor WYSWYG para Trac

Algo malo que tiene Trac es su editor tan pobre visual. Eso se soluciona con un plugin WYSIWYG Editor Plugin

Se instala mediante easy_install.  Está disponible para las versiones 0.10, 0.11 y 0.12

Instalación:

easy_install http://trac-hacks.org/svn/tracwysiwygplugin/VERSION

Para habilitarlo, si no se tiene  trac_admin por web se debe editar trac.ini directamente.min

[components]
tracwysiwyg.* = enabled

Desempaquetar un deb

Aveces se necesita desempaquetar un archivo .deb. Esto se consigue con

Primero vamos a crear un directorio donde desempaquetarlo

mkdir ~/deb

 

luego desempaquetamos el deb en el directorio creado
dpkg -x archivo.deb ~/deb/




Hablalot.cl

Fotos







More Photos