in

SharePoint Blogs

The Best Place for SharePoint-related Blogs

Piensa SharePoint

Aquí van mis experimentos con SharePoint y tecnología en general.

Tips de Sizing y Performance

MOSS 2007 presenta una mayor flexibilidad en cuanto a las topologías que podamos implementar en una solución. A diferencia de la versión anterior del producto, los roles ahora están “reducidos” a dos: WFE (web front-end server) y Application Server.

Los servidores que asumen el rol exclusivo de WFE llevan instalados únicamente los binarios que les permiten presentar contenido al usuario, recortar la interfaz basada en la autorización que éste tenga, solicitar data de la(s) base(s) de datos u otros servidores cuando sea necesario para presentar resultados de búsquedas. Se puede implementar una granja de servidores con múltiples servidores WFE y se pueden ir añadiendo si los requerimientos así lo dictaran (alta disponibilidad, redundancia, recuperación de desastres, mayor rendimiento, etc.). En un servidor exclusivo de WFE no se puede habilitar otro servicio mas que Windows SharePoint Services Web Application y Windows SharePoint Services Incoming E-mail. Para instalar este rol, en el wizard de instalación elegimos la opción “Servidor Web”.

Los servidores de aplicaciones están compuestos por el resto de opciones, las cuales en realidad son un conjunto de servicios que habilitamos o deshabilitamos en determinado servidor para asignarle tal rol. Estos servicios pueden ser:

  • Administración Central
  • Servicio de conversión de documentos
  • Servicio de balanceo de carga y conversiones
  • Excel Calculation Service
  • InfoPath Form Services
  • Office SharePoint Server Search
  • Windows SharePoint Services Incoming E-mail
  • Windows SharePoint Services Search
  • Windows SharePoint Services Web Application

 

Típicamente podemos implementar servidores WFE, servidores de Query (búsqueda), un servidor de índice (index server), un servidor de administración central, un servidor con Excel services y los demás servicios. Podemos además combinar estos roles, de modo que los WFE sean también servidores de Query, o combinar la administración central con el resto de servicios. Cuando hacerlo? De eso trata este post ;)

Para instalar un servidor de aplicaciones, elegimos la opción “Completa” en el wizard de instalación.

Como nota aparte, es requerido al menos un Proveedor de Servicios Compartidos (SSP) por granja, lo cual no conforma un rol de servidor per se, pero ciertamente es lo primero que creamos en una instalación de MOSS.

Entonces, si queremos podemos tener en un solo servidor todos los roles, o distribuirlos de acuerdo a nuestra conveniencia. Vamos a ver esto en detalle.

Sizing

Este es un tema del cual se habla mucho. Así que me toca =D. Trataré de resumir lo que necesitamos para determinar el tipo de implementación.

Ante todo: dado que MOSS puede ser configurado y desplegado de tantas maneras, no hay una manera simple de estimar el número de usuarios que pueden ser soportados por una determinada configuración sin asumir ciertos parámetros. En este post asumiré:

·         Servidores con CPU dual-core y dos sockets (esto es, dos procesadores, cuatro núcleos)

·         CPU’s x86 (32 bits)

·         2 GB de RAM al menos, por servidor

·         Autenticación NTLM (Windows Authentication en dominio)

·         Configuración de caché por defecto (tocaremos el tema de caché luego)

En la documentación de SharePoint, Microsoft propone métricas en términos de Requests por Segundo (RPS) para calificar a los usuarios en función al acceso que tengan al producto: (http://technet2.microsoft.com/Office/en-us/library/0a7b2b45-f633-46d2-a4fd-78691d4b8f631033.mspx?mfr=true)

·         Usuario leve, genera un request cada 180 segundos (20/hr), 1 RPS = 180 usuarios activos

·         Usuario típico, genera un request cada 100 segundos (36/hr), 1 RPS = 100 usuarios activos

·         Usuario pesado, genera un request cada 60 segundos (60/hr), 1 RPS = 60 usuarios activos

·         Usuario extremo, genera un request cada 30 segundos (120/hr), 1 RPS = 30 usuarios activos

Puedes crear tu propia tabla de patrones de uso analizando los logs de IIS (http://go.microsoft.com/fwlink/?LinkId=78825&clcid=0x409 ) para alguna solución de colaboración ya existente en tu entorno.

1. Configuración básica

Consta de un único servidor donde residirá MOSS y SQL Server. Obviamente hablamos de SQL Server Standard o Enterprise Edition. Yo recomiendo utilizar dos servidores separados, uno para MOSS y otro para SQL Server. Esto permitirá escalar la implementación si es que se requiere otorgarle alta disponibilidad, soporte a mayor número de usuarios, entre otras cosas. Se podrá añadir luego un servidor WFE (creando un pool NLB – balanceo de carga Windows) para incrementar la performance y para proveer redundancia al componente WFE, así como configurar mirroring en SQL Server.

Uso ideal: colaboración de equipos de trabajo, pequeña intranet corporativa.

RPS (un único servidor) = 50 – 70

RPS (dos servidores –MOSS y SQL) = 75 – 100

Si haces un promedio de los RPS en el primer caso (60 RPS), y asumiendo que tienes 10% de usuarios leves, 50% de usuarios típicos, 30% de usuarios pesados y 10% de usuarios extremos, tu implementación soportaría

Usuarios = 0.10(180*60) + 0.50(100*60) + 0.30(60*60) + 0.10(30*60) = 5,340

Si haces lo mismo para el segundo caso (dos servidores, 87.5 ≈ 88 RPS), obtendrás

Usuarios = 0.10(180*88) + 0.50(100*88) + 0.30(60*88) + 0.10(30*88) = 7,832

2. Configuración de alta disponibilidad

Consta al menos de cinco (5) servidores: dos (2) WFE + Query en un pool NLB, un (1) servidor de aplicaciones y dos (2) servidores SQL Server en un cluster activo/pasivo conectado a un almacenamiento común (típicamente provisto por una SAN), ó con una configuración de mirroring (lo que elimina la necesidad de un almacenamiento compartido).

Primero se instala el servidor de aplicaciones, que constituirá la granja y almacenará la Administración Central, el SSP, el índice e inicialmente tendrá el servicio de aplicación web habilitado (mucho cuidado con la configuración del índice, ya que podríamos romper su propagación a los servidores de Query). Luego se instalan los servidores WFE con la opción de instalación “Completa”, y se les habilita el servicio de Search. Una vez hecho esto podemos habilitar (si deseamos) los demás servicios en el servidor de aplicaciones (Excel services, entre otros). Por supuesto, la configuración del back-end SQL es anterior a todo esto, ya sea en Cluster o Mirroring.

Esta implementación ofrece redundancia para el componente WFE, de modo que en caso de falla de un WFE la solución todavía funciona, y aun si no falle, otorgará mayor rendimiento. El cluster simple activo/pasivo será suficiente para dos servidores WFE, ya que cada nodo SQL puede soportar entre tres y seis servidores WFE. Asume tres (3) WFE por cada nodo SQL como base. Si SQL tiene dos CPU’s x64 (64 bits) dual core, entonces puedes calcular 6 WFE por nodo SQL (HP estima que un servidor con 4 CPU’s cual-core provee 1.8 veces la capacidad de procesamiento de un servidor de 2 CPU’s dual-core).

En caso de falla del índice, las búsquedas de los usuarios no sería interrumpidas, ya que una copia del índice es propagada a cada servidor de Query (en este caso, WFE + Query) para realizar las consultas. El problema real es que no se continuará la indexación del contenido añadido o modificado posteriormente a la caída del servicio, y no estará disponible en los resultados de búsqueda.

Si se estima que una gran cantidad de información va a ser almacenada (y en consecuencia, indexada), entonces es una buena idea dedicar un servidor de aplicaciones exclusivamente al rol de indexación. El número de procesadores juega un papel muy importante para la velocidad de indexación y cuántos threads de indexación podrán ser ejecutados simultáneamente (un thread por núcleo). En este caso un servidor con 4 CPU’s dual-core es una buena opción (8 threads). La memoria RAM es muy importante ya que los documentos son cargados en buffers en memoria para su procesamiento (si hablamos de memoria, los CDPu’s de 64 bits amplían el espacio de memoria disponible). Dada la restricción de un servidor de índice por SSP, es mejor escalar en términos de procesador y memoria (scale-up) que en términos de número de servidores (scale-out), ya que implicaría la creación de más SSPs, mayor consumo de disco en la base de datos, mayor tráfico de red, etc.

Uso ideal: intranets, extranets, publicación en internet.

RPS (con dos WFE) = 175 – 250

Asumimos un promedio de 212.5 ≈213 RPS para calcular el número de usuarios

Usuarios = 0.10(180*213) + 0.50(100*213) + 0.30(60*213) + 0.10(30*213) = 18,957

NOTA: Se estima que cada servidor WFE extra puede soportar aproximadamente 100 RPS. Si este servidor también será de Query (WFE + Query) asume 85 RPS. Recuerda que puedes expandir esta configuración añadiendo más servidores WFE, separando el rol de índice y agregar mas nodos al cluster SQL, lo que me lleva al siguiente punto…

3. Configuraciones optimizadas en función a aplicaciones

Son básicamente extensiones la configuración de alta disponibilidad, donde básicamente se despliegan servidores dedicados para ciertos roles (Búsqueda, índice, Excel services, InfoPath Forms Services, etc.).

Disponer de varios servidores y poder separar el rol de Query del WFE quita carga al servidor de WFE. Si Excel services será extensamente utilizado entonces es recomendable dedicarle un servidor. En cuanto al índice, ya hice mi recomendación líneas arriba.

Estas configuraciones también emplean NLB en los servidores WFE para otorgar redundancia y mayor rendimiento. Para SQL Server puedes utilizar database mirroring en modo de alta disponibilidad con un servidor testigo para habilitar failover automático, y añadir log shipping para asegurar la continuidad del servicio en caso de desastres; un cluster “N+1” (un cluster N+1 tiene N nodos activos y un nodo pasivo). Esto sería utilizado en caso de que la carga por servidor excediera la capacidad de un nodo SQL activo (típicamente entre 3 y 6 WFE por cada nodo SQL activo) . Seguramente utilizarías un arreglo SAN que provea redundancia (fully-redundant dual-path & dual controller fibre connecivity). Vendors como HP proveen soluciones de este tipo.

Utilizando la base de 100 RPS por WFE y la regla de WFEs por nodo SQL, además de una estimación del tipo de usuarios que soportará tu implementación y evaluando la necesidad de un índice dedicado y en general del uso que será dado a cada servicio, puedes estimar el número de servidores que requieres.

Rendimiento

Este punto lo podemos atacar por varios lados. Tenemos la red, tenemos el uso de memoria, el acceso a disco, caché, autenticación…

1. Red

Existe el potencial para que se dé un alto tráfico entre clientes y servidores WFE, lo mismo que entre WFE’s y los servidores de aplicaciones o de base de datos. Para implementaciones de alta disponibilidad en adelante, recomiendo utilizar dos VLAN’s para poder separar el tráfico cliente-WFE del tráfico WFE-aplicación/BD. Inclusive, para el caso de database mirroring se pueden utilizar NIC’s adicionales para el tráfico entre servidores SQL (sincronización de logs de transacciones y heartbeat del testigo).

Para el caso de las NICs puedes utilizar Gigabit Ethernet. Existen observaciones realizadas en pruebas de con un rendimiento aproximado de 100 RPS que mostraron las siguientes características:

·         Tráfico hacia clientes = 9,000 KB/seg

·         Tráfico WFE (lectura/escritura) = 11,000 KB/seg recibidos; 20,000 KB/seg enviados

·         Tráfico WFE (sólo lectura) = 5,000 KB/seg recibidos; 20,000 KB/seg enviados

·         Tráfico SQL (lectura/escritura) = 4,000 KB/seg recibidos; 10,000 KB/seg enviados

·         Tráfico SQL (sólo lectura) = 2,000 KB/seg recibidos; 10,000 KB/seg enviados

Memoria y CPU

Los procesadores de 64 bits amplían el espacio de memoria. Ciertamente es conveniente escalar hacia 64 bits en el caso de una implementación MOSS, tanto para MOSS en sí como para SQL. En pruebas realizadas en los laboratorios de HP, se ha determinado que los procesadores de 64 bits tienen un rendimiento ligeramente menor que los de 32 --así es, y no es una contradicción a lo que afirmé primero, explico: las aplicaciones se benefician con el incremento potencial de memoria, ya que métodos de tuning como caching utilizarán memoria (y esto se gana en 64 bits) y requerirán menos recursos de CPU, lo que resulta en un incremento del rendimiento y eficiencia potencial, además de que se prepara el entorno para el futuro (64 bits).

Además, el índice utiliza mucha memoria al cargar la información que está indexando en ella, de modo que es mejor darle un buen pedazo de RAM.

Las aplicaciones web de MOSS tienen cada una, por defecto, su propio Application Pool. Este es el comportamiento típico a la hora de crear una aplicación web (y la correspondiente colección de sitios). Mientras que esto puede ser beneficioso (se pueden reciclar los AppPools independientemente, se aisla la memoria de cada uno, el worker process w3wp.exe tiene en caché datos por cada aplicación web, etc.), también puede ser contraproducente. Se han observado worker procesess de 250 – 300 MB en servidores de 32 bits, y de 400 – 500 MB en servidores de 64 bits, siendo en todos los casos siempre el mínimo 100 MB al crear un AppPool. Cada AppPool tiene una instancia del runtime de .NET en memoria. Recuerda que existen adicionalmente otros AppPools y worker procesess para la Administración Central, el SSP, posiblemente MySite, etc., en varios de los servidores WFE. Evalúa entonces qué aplicaciones web se pueden consolidar en un solo AppPool para ahorrar memoria.

Cahing

Utilizar la memoria de los servidores WFE y/o disco de éstos como caché incrementará el rendimiento (menos viajes hacia la base de datos y otros), reduciendo el tiempo de respuesta. MOSS trae tres (3) esquemas de caché:

  • Caché de salida (output cache): ideal para sitios que no cambian constantemente de contenido, por ejemplo, sitios de acceso público tales como extranets, creados con el feature de publicación. Se activa a nivel de sitio en el menú de configuración del sitio. Utiliza memoria de los servidores WFE.
  • Caché BLOB (Binary Large OBjects): ideal para elementos de páginas, tales como imágenes, sonidos, animaciones, javascript, CSS, etc., que son objetos almacenados dentro de la base de datos como grandes objetos binarios. Se activa para evitar la repetición de un acceso innecesario a la base de datos por objetos que son esencialmente estáticos, mejorando el tiempo de respuesta de la página. Este caché está desactivado por defecto y se activa a nivel de web.config. Para ello busca la segunda instancia de “BLOB” en el web.config de la aplicación deseada, y te llevará al siguiente código:
<BlobCache location=”c:\blobCache” path=”\.(gif|jpg|png|css|js)$” maxSize=”10” max-age=”86400” enabled=”false”>

El parámetro maxSize expresa el tamaño máximo para el caché en GB; location dice dónde estará el caché (debes crear el folder blobCache manualmente); max-age expresa el tiempo de vida en segundos del caché (24hrs por defecto) y path dice que tipos de archivo entrarán al caché. Quizás te interese agregarle un .jscss (es posible combinar css y javascript en un único archivo). Por último, el parámetro enabled permite su habilitación, y para ello dale el valor enabled=”true”.

  • Caché de objetos: funciona a nivel de contenido. Ideal para web parts, listas, controles, field controls, etc. Normalmente se utiliza para querys pesados o para los controles de navegación. Reduce los accesos a la base de datos e incrementa el tiempo de respuesta de la página. Este tipo de caché casi siempre puede ser utilizado, aunque cuando un usuario hace check-out a un documento, el caching se ignora. Este tipo de caché está activado por defecto, y el tamaño de memoria asignado y otros parámetros puedes modificarse a nivel de sitio desde la página de configuración de sitio.

Autenticación

Muchos no consideran el tráfico que puede generar la autenticación, y ciertamente lo hace. Seamos honestos, cuántos se preocupan por el número de DCs para una implementación MOSS? Quizás sí en el diseño de AD, pero se preocupan por el tráfico que genera la autenticación de usuarios? Si observas los logs de IIS y ves errores tipo 401 precedentes a errores tipo 200, entonces cada uno de esos logs genera tráfico de ida y vuelta al controlador de dominio (DC). Si utilizas FBA (forms-based authentication) o NTLM, deberás tener en cuenta el rendimiento a consecuencia del tráfico por autenticación. Ciertamente FBA reduce el tráfico, pero NLTM no. Piensa en utilizar Kerberos en lugar de NTLM. El paquete Kerberos tiene una cabecera mayor, pero los tiempos de expiración por ticket (10 minutos) alivian el tráfico en la red en comparación con NTLM.

Microsoft recomienda utilizar un máximo soportado de tres (3) WFE’s por cada DC. Esto no significa que si dispones únicamente de un DC no vayas con una implementación grande, pero piensa en escalar AD.

Almacenamiento

En discos duros SCSI es obvio. En cuanto a servidores empresariales, para el back-end SQL es conveniente utilizar una SAN con redundancia de canales. Se pueden utilizar las bahías de almacenamiento propias de los servidores también.

  • WFE: utilizan aproximadamente 6 GB para Windows Server, .NET Framework 3 y los binarios de MOSS. Considera el archivo de paginación (SWAP) del mismo tamaño de la memoria (4 GB idealmente). El espacio de logs de IIS es variable dependiendo del plazo de retención planeado. Un servidor WFE de una implementación para 30,000 usuarios puede general un millón (1’000,000) de entradas diarias.
  • Servidor de aplicaciones y de índice: aproximadamente 6 GB para Windows Server, .NET Framework 3 y los binarios de MOSS. Considera el archivo de paginación (SWAP) del mismo tamaño de la memoria (4 GB idealmente). Estima el tamaño total de información que almacenarás en las bases de datos de contenido a lo largo del tiempo y otorga el 30% de ese valor como tamaño máximo para el índice (esto para los servidores de Query y para el índice).
  • Bases de datos: aproximadamente 5 GB para Windows Server, .NET Framework 2 y los binarios de SQL. Considera el archivo de paginación (SWAP) del mismo tamaño de la memoria (4 GB idealmente). Suma 1.5 GB para la base de datos de configuración. Calcula el tamaño de las bases de datos de contenido estimando el tamaño total de la información que almacenarás a lo largo del tiempo multiplicándola por 1.2. Recuerda que si activarás el versionamiento entonces la cantidad de información puede crecer bastante. El espacio en disco para los logs de la base de datos variarán dependiendo del número total de bases de datos y las configuraciones de log. Para asegurar espacio necesario para el crecimiento de las bases de datos, planea otorgar el doble del espacio que inicialmente estimaste (esto es, un fill factor de 50%) –esto es una buena práctica ya que el versionamiento y la papelera de reciclaje (que tiene 2 stages) mantienen todavía información que podrías pensar que ha sido eliminada.

Adicionalmente a todo esto, siempre es bueno dejar un 25% del espacio en disco libre en todos los servidores, emplear prácticas de administración del almacenamiento adecuadas (defragmentación) y aplicar buenas prácticas de backup a nivel de granja, colección de sitios, sitios y SQL server.

En cuanto a los límites, el índice puede almacenar hasta 50 millones de ítems, y se deben considerar los siguientes límites para los objetos:

-.M.-

 

Comments

 

Luis Du Solier G. said:

Marcel, muy bueno tu post.

Ahora, como harías redundante la capa de aplicación. Es decir como harías redundante el Central Administration, o 2 servidores fisicos cada uno con el CA habilitado y NLB, o un cluster arctivo pasivo y configurado también el CA.

Saludos!

Luis.

July 20, 2007 11:53 PM
 

Blog del CIIN said:

Siguiendo con la recopilación periódica de recursos sobre WSS 3.0 &amp; MOSS, esta semana en el número

July 24, 2007 7:23 AM
 

Marcel Jeanneau said:

Hola Luis, en cuanto a redundancia de la capa de aplicación, los servidores con el rol de application servers caen dentro de dos categorias: roles redundantes y roles no redundantes.

Los redundantes son:

- Query

- Excel services

- Project Server 2007

Esta redundancia se logra mediante la configuración de un pool NLB. Recomiendo distribuir el rol de Query en los servidores WFE si es que la mayoría del contenido que será buscado por los usuarios es estático.

Los NO redundantes son:

- Indice

- WSS Search

- Administracion Central

La explicación para que el rol de índice no sea redundante es que se solo se permite un servidor de índice por SSP, de modo que si se quieren mas servidores de índice entonces se necesitarán varios SSP, lo cual parte el contenido ya que no se pueden combinar múltiples SSPs. Si el servidor de índice cae esto no tiene impacto para los usuarios finales ya que el índice es propagado a los servidores de Query, quienes sí tienen redundancia. Lo que ocurre es que no se actualiza (indexa) el nuevo contenido hasta que el índice sea restaurado.

El servicio WSS Search tampoco puede ser redundante ya que combina los roles de búsqueda e indexación propios de WSS, los cuales no pueden ser divididos. Este rol en una implementación MOSS es utilizado para proveer full text search en la Ayuda. Si desplegamos varios servidores con este rol entonces cada uno indexará un contenido independientemente del otro.

Referencias: technet2.microsoft.com/.../9ccfb27f-ecba-4b7d-b9a0-88fac71478a31033.mspx

La administración central no es redundante de ningún modo y en caso de desastres se debe correr nuevamente el wizard de configuración de sharepoint o mudar el site a otro servidor mediante stsadm.exe

Referencia: www.sharepointblogs.com/.../relocation-of-existing-sharepoint-site-s.aspx

Saludos!

Marcel

July 24, 2007 12:20 PM
 

Federico Palmer said:

excelentes post felicidades!!

que recomendaciones me podrias dar para la parte de backups que backups realizar?, disaster recovery,data retention  

August 9, 2007 5:37 PM
 

carol said:

¿se puede tener 1 WFE cuyas aplicaciones apunten a diferentes SQL (Es decir, un solo WFE creamos aplicacion 1 y decimos está en SQL1, y luego App2 en SQL2)?¿Se configuraría por aplicación, es decir simplemente al crear la app se la asocia al Sql que queremos o se ha de hacer algo más? ¿Qué implicaciones tiene?

Estas preguntas surgen de la idea de tener distinta contingecia por aplicación. Se plane atener un entorno 1WFE, 1 o 2 SQL, 1App server y 1 Index Server. Todos ellos virtualizados y con una "copia caliente" en otra sede de manera que en caso de "desastre  total" se pudieran levantar en la otra sede sin problemas. El caso es que si sólo se tiene un SQL la copia en el servidor reserva no distingue, copia todo el contenido del server sql, así que se ha de tener mucho espacio reservado en la sede secundaria para poder recuperar todas las aplicaciones. Considerando que algunas de ellas no son críticas, pensamos se podría tener un SQL con las aplicaciones críticas que fuera el que se "copia" en la sede secundaria y que se levantaría en caso de desastre, y un segundo SQL para las aplicaciones menos críticas que no estuviera en la contingencia. Si hubiera algun desastre éste servidor se tendría que instalar de cero y recuperar de backup.

¿Es una buena opción?¿Qué problema spuede acarrear?¿Mejor tener dos SQL en mirroring?

Cualquier ayuda o comentario será bienvenido. Gracias, de antemano.

November 6, 2007 6:52 AM
 

Marcel Jeanneau said:

Carol,

Puedes configurar cada aplicación para residir en bases de datos distintas, pero no en servidores distintos, ya que la granja MOSS requiere un único "servidor" SQL --lo pongo entre comillas porque puede ser un cluster, por ejemplo, pero se muestra ante MOSS como una única instancia SQL.

Si lo que buscas es garantizar una copia de aplicaciones críticas, entonces al crear cada web app podrías especificar que todas éstas residan en una base de datos, o en varias, identificadas (un buen nombre?) como BDs para aplicaciones críticas. Y puedes consolidar las aplicaciones que no consideras críticas en una BD para este fin. Esta configuración de las BDs se hace justamente al momento de crear las web apps. Una vez hecho esto puedes hacer backups a diferentes niveles: en SQL Server; utilizando el backup/restore de MOSS; si hablamos sólo de sitios específicos puedes utilizar Stsadm.exe -backup. Lo mas facil creo es hacer backups en SQL y cuando el asunto se malogre haces un deattach de la BD, restauras el backup en SQL y haces el attach nuevamente --esto para web apps completas, por supuesto.

Si lo que buscas por el contrario es alta disponibilidad, entonces Mirroring en SQL es una buena opción --rápida, barata. El clustering es un poco mas complejo y en muchos casos puede estar fuera del presupuesto. El único punto con mirroring es que cuando se produce el failover vas a tener que reconfigurar MOSS rápidamente para minimizar el tiempo de caida del servicio. Esto lo puedes evitar utilizando alias en SQL server también, o manejando el asunto por DNS... tiene varios lados.

Suerte!

November 6, 2007 10:22 AM
 

carol said:

Marcel,

ante todo gracias por la rápida respuesta.

Pero me genera algunas dudas...no acabo de entender entonces la escalabilidad de sharepoint...me refiero a que si sólo puede tener un SQL server por granja, si el tamaño del sql crece  (no sé cuál es el límite), no puedo crear otro Sql e incluirlo en la granja sino que debería crear una granja nueva y redistribuir la aplicaciones, o alguna otra solución por el estilo?

Tengo varios documentos descargables de la technet (planning and architecture,...etc) pero no recuerdo haber visto limitaciones del SQL (tamaños, numero bbdd,...) ni tampoco había entendido que sólo pudiera haber un sql server por granja....¿me podrías indicar algun documento donde trate este tema o lo especifique?

Muchísimas gracias,

November 6, 2007 12:03 PM
 

Marcel Jeanneau said:

Efectivamente, no existen límites para las bases de datos de contenido! (blogs.msdn.com/.../687995.aspx). Aunque ciertamente sí existen recomendaciones --> blogs.msdn.com/.../how-large-for-a-single-sharepoint-content-database.aspx

En cuanto a SQL, bueno, efectivamente mi respuesta ha sido un poco confusa y hasta errónea. Cuando creas una nueva aplicación web, SI puedes especificar un servidor SQL distinto al que ha definido la granja (es decir, al que tiene la BD de configuración), pero NO puedes partir el contenido de una aplicación web entre dos servidores y/o dos BDs de contenido. *Debes* considerar también que las cuentas de instalación y de servicio de MOSS (la que es identidad para el app pool de la administración central) deben tener permisos de db_creator y security_admin en ese nuevo servidor de SQL, tal y como ocurre en un escenario de instalación típica --bueno, lo que ocurre en una instalación típica es que la cuenta de instalación debe tener esos permisos en SQL Server, y el proceso de instalación le otorga luego los permisos a la cuenta de servicio (yo utilizo MOSS_Serv en mis procedimientos de instalación para esa cuenta --> www.sharepointblogs.com/.../2277.aspx).

Si te quedas corta en términos de CPU/RAM, siempre podrás migrar toda la granja MOSS a un cluster SQL N+1.

De todos modos, las especificaciones de capacidad máxima para SQL server están definidas en --> msdn2.microsoft.com/.../ms143432.aspx

November 6, 2007 1:26 PM
 

Pamela said:

Hace poco menos de un mes se instaló un servidor de SharePoint en la empresa, y en este tiempo se ha ido configurando y preparando la intranet de la empresa, sin embargo despues de un corte de luz, el servidor ha provocado un error en el registro y no arranca, sin embargo se puede acceder a toda la información. Lo que quisiera saber es si es posible recuperar la aplicación, ya que no se sacaron backups desde SharePoint. Si tenemos acceso a los archivos de BD.

January 28, 2008 12:54 PM
 

Marcel Jeanneau said:

Hola Pamela,

Al decir que el servidor no arranca pero que puedes acceder a "toda la informacion" asumo que te refieres a que puedes acceder a SQL Server, cierto?

De ser este el caso, lo que tienes que hacer es reconstruir la granja.

Primero, salva BIEN las BDs que tienes en SQL (de ser posible sacales backup mediante las herramientas de SQL). Luego reinstala SharePoint en tu nuevo servidor. Trata de conectarte a "una granja existente" al momento de la instalacion y apunta a la BD de configuracion que tienes en SQL Server. Si funciona, es muy probable que todo funcione bien,

La otra opcion es que no puedas conectarte a la BD de configuracion. Entonces deberas crear una nueva BD de config (crear una nueva granja). Luego restaura las BDs de contenido salvadas de vuelta en SQL Server (con nombres simples y significativos); luego lo que tendras que hacer es crear las aplicaciones web que ya tenias antes. Al hacerlo, NO crees una coleccion de sitios raiz para las aplicaciones. Ejecuta:

stsadm -o addcontentdb -url [url de la coleccion de sitios a restaurar] -databasename [nombre de la bd de contenido]

Esto puede tardar bastante dependiendo del tamano de las BDs pero una vez hecho esto tendras a SharePoint de vuelta en casa.

-.M.-

January 28, 2008 10:52 PM
 

Humphrey Villegas said:

Epa Marcel, felicitaciones por tu post, pero es como muy avanzado para mi jejee, soy nuevo en lo q se refiere con el MOSS, pero sin embargo te tengo una pregunta, como hago para instalar el infopath forms services, he buscado por internet y me dice que me vaya al administrador de aplicaciones, seguido de la pestaña de infopath forms services y alli le de a un check, el problema es el siguiente, que alli no aparece ninguna pestaña de infopath, será que cuando instalaron el MOSS no lo instalaron completo, no hay forma de reinstalar el MOSS sin necesidad de perder todo lo que hasta ahorita se ha desarrollado, te comento esto porque lo que queremos es que las plantillas que se han creado en infopath abran en un explorador web, y no abran con el predeterminado de infopath, mi correo es humpvill@hotmail.com o hvillegas@fvi.com.ve, agradezco de ante mano tu ayuda

February 14, 2008 3:51 PM
 

Marcel Jeanneau said:

Hola Humphrey, necesitas la version Enterprise de MOSS para disponer de Form Services... verifica esto. Lo puedes hacer rapidamente si careces tambien de Excel Services, entonces es porque es una version Standard.

-.M.-

February 14, 2008 4:19 PM
 

Humphrey Villegas said:

Hola Marcel, yo again, mira y si tengo la versión standar como hago para publicar los formularios realizados en info en la web, es decir para observarlo en un navegador

February 15, 2008 10:42 AM
 

Dover Miller said:

Hola Marcel, te felicito por la iniciativa de tu blogs.

Te consulto, ¿cual seria tu salvacion de la plataforma de servicio si ocurriera un desastre natural? 1.- Si tuvieras muchos recursos y 2.- Si tus recursos fueran bien escasos. Solo 4 aplicaciones son criticas. ¿que enlace web me recomiendas leer sobre contingencia y seguridad? Feliz fin de semana y muchas gracias de antemano.

February 29, 2008 7:04 PM
 

Humphrey Villegas said:

Epa bicho, cuando quieras respondes, mira quiero configurar la busqueda del Moss, pero ay tantas cosas en internet que no se a cual hacer caso,  necesito los paso desde cero, lei en un post que hay que eliminar tablas y contenido y habilitar el servicio desde 0, no creo que sea lo más sano porque ya tenemos el portal bastante adelantado, realice lo que me dice en este link.  lanouse.spaces.live.com/.../cns!ECD2400FABABC2E2!334.entry?_c=BlogPart y todo bien, pero cuando ingreso algo en el textbox de busqueda de la pagina de inicio me arroja el siguiente mensaje " No se pudo completar la búsqueda debido a un error del servicio. Vuelva a intentarlo o póngase en contacto con el administrador para obtener más información. " no se a que se debe, y por otro lado, si estas ubicado en Venezuela, como hacemos para contratarte para que nos ayudes y nos expliques un poco más del alcance y dudas que tengamos sobre el Moss, te dejo mi correo hvillegas@fvi.com.ve y mi msn humpvill@hotmail.com si estas interesado, espero de verdad tu respuesta.

March 27, 2008 2:43 PM
 

Jose Manuel said:

Buenas

Me gustaria saber dos cosas:

- Los estaticos servidores por el servidor pueden ser cacheado con la directiva Max Age en el cliente o no es posible.

- Entiendo que para configurar los estáticos del portal que no esten servidos por el servidor habría que modificar la directiva en el IIS

April 14, 2008 10:12 AM
 

Jose Augusto said:

Buenas,

Marcel, esta muy bueno es topico, pero ahora en la empresa en donde estoy ahora me piden poner en un servidor por separado los webservices que se desarrollaron para sharepoint, es decir, tener un server exclusivo de WSS y otro de WS, pero no tengo idea de como hacerlo, o si es factible esto.

En caso de ser posible, me puedes apoyar con la configuración de los server.

April 21, 2008 10:20 PM
 

Ricardo Isai said:

Alguien sabe como puedo ver cuantos usuarios y cuantos sitios se tienen dados de alta en Sharepoint a nivel general.

April 29, 2008 6:26 PM

Leave a Comment

(required )  
(optional )
(required )  
Add

About Marcel Jeanneau

Self-declared geek, technology-junkie since childhood, Marcel (MCTS: SQL 2005 | MOSS 2007) started jamming his fathers IBM PS/1 when he has 10, and many years after that worked for his university in Lima (USMP) leading his first SharePoint Intranet deployment; then helped managing internet access, services and connectivity for students, professors and employees (20k+) throughout all central and remote campus´; facilities, using Microsoft and Linux technologies.

Former baseball player, BMX rider, and Microsoft Peru's SWAT member, Marcel is getting his Systems Engineer major this year, actually working as an IT Consultant for DATCO (Microsoft business partner), mainly focused on infrastructure topics. Other personal activities include testing many vendor's OS's for learning and fun, ocassionally writing blog posts based on his experiences, getting all the pieces together for his thesis project about Unified Communications, and getting sunflowers for his future wife, Valeria.

Need SharePoint Training? Attend a SharePoint Bootcamp!

Posts (c) their respective authors. Everything else (c) 2007 SharePoint Experts