JASoft.org

Cómo determinar qué servicio está ocupando toda la CPU en mi servidor

Cómo determinar qué servicio está ocupando toda la CPU en mi servidor
Los caminos de Windows, a veces, son inescrutables. En ocasiones, sin saber por qué, en un servidor en producción un proceso empieza a "comerse" todos los recursos del procesador y no tenemos idea de a qué se puede deber (una actualización, un driver, un programa nuestro que se ha desbocado...). Y lo que es peor: si se trata de algún servicio del sistema lo tenemos más difícil pues todos los procesos de ese estilo se llaman igual: svchost.exe.svchost.exe es un proceso genérico del sistema que sirve para ejecutar DLLs de Windows. Generalmente contienen servicios. Además para evitar que la caída de un servicio afecte a todo el sistema se lanza un svchost.exe por cada grupo de servicios relacionados. Así, por ejemplo, todos los que tienen que ver con servicios de red van en uno, con seguridad en otro, con IIS en otro, etc...¿Cómo podemos averiguar cuál es el verdadero servicio que nos está causando el problema?Existen varias maneras.1.- La fácil: verlos directamente en el administrador de... [Más]

Cómo asignar nombres de dominio a certificados SSL en Internet Information Server 7.x

Cómo asignar nombres de dominio a certificados SSL en Internet Information Server 7.x
La semana pasada explicaba en un post qué era SNI (Server Name Indication) y cómo podíamos sacarle partido en Internet Information Server 8.0 para albergar varios certificados SSL/TSL en una misma IP, y restringir a dicha IP el acceso solo desde los dominios apropiados.En teoría en IIS 7.x bajo Windows Server 2008 o 2008 R2, no está disponible esta opción, al menos no para certificados SSL normales. Sin embargo, si vamos a las propiedades de un "binding" para HTTPS, vemos que dispone de un cuadro de texto para el nombre de dominio, similar al de IIS 8.0, pero que está deshabilitado:Así que parece que, aunque esté deshabilitado, algún tipo de soporte debe de haber para usar SNI en IIS 7.x ¿no?Bien, el caso es que IIS 7.0 soporte SNI con certificados SSL de tipo wildcard, es decir, aquellos que son capaces de soportar múltiples subdominios de un mismo dominio con el mismo certificado. Este tipo de certificados se asocian a dominios de tipo *.midominio.com. Es decir, cualquier cosa delant... [Más]

SNI: usar certificados SSL para varios dominios desde la misma IP (con IIS 8.0)

SNI: usar certificados SSL para varios dominios desde la misma IP (con IIS 8.0)
Cuando un navegador se conecta a un servidor web usando el protocolo comúnmente conocido como SSL (Secure Sockets Layer, de manera más formal SSL/TLS: Transport Layer Security), las comunicaciones se cifran entre ambos con el triple objeto de:Evitar que se puedan inspeccionar (cifrado)Evitar que se puedan modificar (no repudio)Autenticar al servidor, y opcionalmente al cliente, aunque no es lo habitual (autenticación).El handsahe de TLS se produce antes de que se intercambien cabeceras algunas entre cliente y servidor. Es decir, que en la comunicación que se inicia todo el tráfico va encriptado, incluso las propias peticiones, lo cual incluye el propio nombre de dominio al que nos conectamos. Esto presenta una dificultad para el servidor ya que hasta que recibe la petición y la descifra no sabe a qué dominio nos queremos conectar, pero si no lo sabe ¿cómo sabe qué certificado debe utilizar?La respuesta tradicional a este problema ha sido que cada certificado SSL estuviese asignado a un... [Más]

Cómo solucionar que no se vean los iconos especiales del explorador en TortoiseGit y similares

Cómo solucionar que no se vean los iconos especiales del explorador en TortoiseGit y similares
Todo programador que se precie utiliza para desarrollar algún sistema de control de código de fuente (no te engañes: aunque no trabajes en equipo es indispensable usar un sistema de estos). Entre los más conocidos están Apache Subversion/SVN, que es un sistema centralizado, y Mercurial o Git, dentro de la categoría de sistemas distribuidos (DVCS: Distributed Version Control Systems).Sea cual sea el que uses, para los más conocidos existe una colección de aplicaciones llamadas TortoiseXXX que sirven para integrar de manera fácil este tipo de soluciones dentro del explorador de archivos de Windows. Así, tenemos TortoiseSVN para Subversion, TortoiseHg para Mercurial y TortoiseGit para Git.Todos tienen un aspecto y funcionalidad muy similar (ya que parten del mismo código base) y lo que hacen básicamente dos cosas:Añaden un menú contextual a las carpetas de tu sistema de modo que puedas gestionar repositorios de código de manera sencilla:Muestran el estado de cada archivo que esté bajo con... [Más]

Escalabilidad: Granjas web con ASP.NET e IIS

Escalabilidad: Granjas web con ASP.NET e IIS
Aunque hayamos diseñado nuestra aplicación web con el máximo cuidado y tratando de que esté lo más optimizada posible, si tiene éxito y acaba creciendo mucho en cuanto a necesidades de atender usuarios y peticiones, llegará un momento en el que no de más de si y sea necesario hacerla crecer. Una aplicación que reciba simplemente unas pocas peticiones por segundo va a funcionar sin problema en cualquier servidor barato, pero si el número de peticiones crece y necesitamos atender a decenas, cientos o miles de peticiones por segundo es el momento de pensar en la escalabilidad y el crecimiento. La escalabilidad de un sistema informático se define como la capacidad de éste para expandirse según las necesidades que se deriven del uso que se le va a dar. De este modo decimos que una aplicación web es escalable si es capaz atender a un número cada vez mayor de usuarios sin necesidad de ca... [Más]

Cómo solucionar el error con "Microsoft.PowerShell_profile.ps1" en PowerShell

Cómo solucionar el error con "Microsoft.PowerShell_profile.ps1" en PowerShell
Como ya os he contado hace poco, PowerShell es una herramienta avanzada de línea de comandos para Windows que trata de llevar a este sistema la potencia de otros intérpretes de comandos (fundamentalmente el shell bash para UNIX), muy extendidos en otros sistemas operativos. Si estás trabajando con alguna herramienta de administración desde línea de comandos puede que al cargar PowerShell te muestre el siguiente error:File Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on this system.o en español "El archivo Microsoft.PowerShell_profile.ps1 no se ha podido cargar porque la ejecución de scripts está deshabilitada en este sistema":Pulsa para aumentarEste error se debe a que, por defecto, los permisos de ejecución de scripts externos están restringidos en PowerShell y solamente nos permite ejecutar comandos interactivos, es decir, directamente en la consola. El archivo que menciona el mensaje de error se crea por parte de algunas aplicaciones (por eje... [Más]

Introducción a la administración de sistemas con Windows PowerShell

Introducción a la administración de sistemas con Windows PowerShell
Para los administradores de sistemas más avanzados, uno de los puntos débiles de Windows frente a otros sistemas operativos ha sido tradicionalmente  la capacidad de administración de éste desde línea de comandos. Windows siempre ha sido un sistema operativo muy fácil de administrar visualmente. En general todos los productos de Microsoft lo son, y esta ha sido siempre una de las principales causas de su preponderancia como sistema operativo. Sin embargo esta facilidad de uso, basada en consolas gráficas y asistentes, ha sido tradicionalmente un arma de doble filo y fuente de controversias. Por un lado la sencillez con la que se realiza cualquier tarea hace que ciertas personas ganen excesiva confianza. En muchas ocasiones esta sencillez se convierte en un grave problema que lleva a que los sistemas estén mal administrados, debido a que no se ha profundizado bien en los conceptos necesarios para una buena gestión (la ... [Más]

TRUCO: Búsqueda rápida de archivos en Visual Studio

TRUCO: Búsqueda rápida de archivos en Visual Studio
Este es un truco que, sorprendentemente, muchos programadores que usan Visual Studio a diario desconocen. Se trata de la posibilidad de buscar a toda velocidad cualquier elemento de nuestro código, incluyendo archivos, variables, funciones, clases...La funcionalidad se denomina "Navigate to", y en las últimas versiones de Visual Studio se ha mejorado mucho, incluyendo VS2013.Para activarla lo único que hay que hacer es pulsar la combinación de teclas "CTRL + ," (sí, la coma).Esto abre una pequeña ventana adherida a la parte superior derecha del entorno, que tiene únicamente un cuadro de texto con el foco puesto, en el que podemos escribir:Lo que escribamos ahí se usa para localizar a toda velocidad cualquier elemento de nuestro proyecto que incluya esa palabra: archivos, rutas, clases, métodos, variables... y se nos van mostrando debajo con la primera seleccionada y su vista previa detrás (en la pestaña de vista previa):Si pulsamos las teclas del cursor para bajar o subir nos va mostra... [Más]

Uso selectivo de dependencias en módulos con RequireJS

Uso selectivo de dependencias en módulos con RequireJS
La configuración de RequireJS ofrece muchas posibilidades para hacer gran cantidad de cosas útiles. La semana pasada, por ejemplo, os contaba cómo forzar la descarga de todos los scripts/módulos de una página inhabilitando la caché gracias a un parámetro añadido automáticamente a todas las peticiones.En esta ocasión me voy a fijar en otro parámetro interesante llamado map. La función de este parámetro es "mapear" ciertos módulos de manera especial cuando sean dependencias de otros módulos.Por ejemplo, imagínate que tienes que usar dos versiones del mismo módulo (digamos jQuery), pero quieres usar una en particular para un determinado módulo que depende de ella, y la otra para otro módulo diferente.Supongamos que tenemos una estructura de archivos como esta:- modulo1.js - modulo2.js - libs/ - jquery1.11.2.js - jquery2.1.3.js Es decir, dos módulos en la raíz de la carpeta de scripts, y una subcarpeta "libs" con las dos versiones de jQuery. Imaginemos ahora que el módulo núme... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

¡Sígueme en Twitter!

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.

Histórico