AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos
  • Presentación
  • Datos en un servidor Windows
  • Rendimiento notorio
  • Resumen del mecanismo de bloqueo oportunista de Windows
  • Consejos para acelerar las aplicaciones
  • Versión de los sistemas operativos de los ordenadores cliente
  • Comprobaciones periódicas de la red
  • Consulte la base de datos de conocimientos de Microsoft
  • Desconfíe de los protectores de pantalla
  • Desconfíe de los programas antivirus
  • Comprobación de las aplicaciones, casos reales de error
  • PC Soft puede ayudarle a optimizar
  • Configuración de una red
  • Varios parámetros
  • Caso común de las tarjetas de red
  • Motor HFSQL en tecnología Cliente/Servidor
  • Apéndice
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 App
Otros
Procedimientos almacenados
HFSQL en modo red en un servidor con Windows NT4, 2000, XP o 2003
HFSQLDisponible solo con este tipo de conexión
Advertencia
A partir de la versión 22, esta página de documentación es obsoleta, afecta a sistemas que ya no son compatibles.
Presentación
La velocidad de acceso a los datos de la red depende de varios parámetros (véase la sección: "Red: Varios parámetros").
El factor principal es el servidor y su sistema operativo. Por lo tanto, asegúrese de que el sistema operativo del servidor esté correctamente actualizado.
Algunos usuarios de WINDEV notan que el uso de HFSQL en una red en un servidor Windows produce un rendimiento diferente en comparación con otros servidores. Esta Document explica las diferencias que se pueden notar en un servidor Windows, dependiendo de la configuración del servidor y de la programación utilizada.
Esta diferencia de rendimiento se observa en la red HFSQL, cuyo rendimiento está relacionado a la gestión de la red del servidor utilizado. Sin embargo, esto no ocurre con HFSQL Client/Server, que gestiona y optimiza de forma independiente los accesos concurrentes y las cachés de memoria.
Datos en un servidor Windows
Para comprobar si un servidor Windows está actualizado, asegúrese de que se aplica un Service Pack reciente.. Lo que significa, el 01/09/2005, el Service Pack 6 para Windows NT4, el Service Pack 4 para Windows 2000 y la versión final de Windows 2003.

Rendimiento notorio

Resumen tabla del rendimiento notado con HFSQL en modo red con un servidor Windows comparado con HFSQL en otro tipo de servidor:
HFSQLservidor WindowsOtro servidor (Novell, Linux, ....)
Usuario individualMecanismo específico del sistema que realiza una optimización adicional.Rendimiento óptimo de HFSQL.
Multiusuario en modo de lecturaMecanismo específico del sistema que realiza una optimización adicional.Rendimiento óptimo de HFSQL.
Multiusuario en modo escritura/bloqueoRendimiento óptimo de HFSQL.Rendimiento óptimo de HFSQL.
Cliente/Servidor (modo monousuario o multiusuario)Mecanismo específico del motor HFSQL que realiza una optimización adicional.Sólo servidor Linux: La misma optimización que para los servidores Windows
note a los usuarios de Hyper File 5.5: Hyper File 5.5 es siempre más lento que HFSQL Classic.

Resumen del mecanismo de bloqueo oportunista de Windows

El sistema de gestión de los ficheros de los servidores Windows cambia en función de los accesos a los ficheros. Un mecanismo importante de los servidores Windows es el "bloqueo oportunista".. Este mecanismo es específico para el servidor Windows y es totalmente independiente de WINDEV y HFSQL.. A partir de Windows NT 4, service Pack 5, este mecanismo de "bloqueo oportunista" funciona siempre para los servidores Windows.
Demos una rápida explicación del "bloqueo oportunista" a través de un ejemplo:
Un ordenador cliente abre un archivo que se encuentra en un servidor Windows. El mecanismo de bloqueo oportunista transfiere todo el archivo (o parte del mismo) a la caché local del ordenador cliente.. Los siguientes accesos al archivo ya no utilizan la red, sino la caché local del ordenador cliente.. Por lo tanto, los accesos son más rápidos, pero los datos que se encuentran en la caché pueden diferir de los datos que se encuentran en el servidor.. N las computadoras cliente pueden realizar esta operación, el mecanismo es idéntico: cada computadora cliente transfiere el archivo completo (o parte del archivo) localmente.
Si un ordenador cliente escribe en este archivo (o lo bloquea), el servidor informa a todos los clientes de que deben desactivar sus cachés locales para asegurar la integridad de los datos.. Los siguientes accesos al fichero por parte de los ordenadores clientes se realizan a través de la red. La velocidad de acceso se convierte en la velocidad de la red (más lenta). Los bloqueos oportunistas se vuelven a habilitar sólo si todas las aplicaciones que utilizan el archivo cierran este archivo.
Este mecanismo no tiene ningún efecto sobre el rendimiento de HFSQL Client/Server dado que solo el motor HFSQL que se encuentra en el servidor accede a los datos.
Por lo tanto, el mecanismo de bloqueos oportunistas sólo puede optimizar los accesos a la red en modo "single client" o en modo "multiple clients in read-only"..
Es importante entender que el acceso en modo multiusuario no es "más lento" sino que el acceso en modo "usuario único" ha sido optimizado por los recientes servidores Windows!
Es Normal para notar las diferencias de rendimiento de la segunda conexión en modo de modificación. Tenga en cuenta que el rendimiento, para una red del tamaño adecuado, será el mismo para 2 o 50 equipos.
El rendimiento es similar al de las redes que utilizan otro software de servidor: Linux, Novell. Esto es causado por el mecanismo de bloqueo oportunista de Windows.
Nota: una prueba de rendimiento profesional de una aplicación multiusuario se realizará en modo multiusuario con datos reales. Ahora entiendes que una prueba en modo monopuesto proporcionará un rendimiento optimizado que no se corresponderá con una situación real. El acceso en modo monousuario puede ocultar errores de concepción de la aplicación.. (ver más adelante en esta Document).
Consejos para acelerar las aplicaciones

Versión de los sistemas operativos de los ordenadores cliente

Los ordenadores cliente deben ejecutar la versión apropiada de Windows. Un solo ordenador cliente mal configurado o un sistema operativo no actualizado pueden influir significativamente en el rendimiento de todos los usuarios de una aplicación de red. Este no es el caso de una base de datos HFSQL Client/Server porque el motor HFSQL accede directamente a los datos. Sin embargo, le recomendamos que mantenga los equipos cliente actualizados para asegurarse de que las aplicaciones funcionen correctamente.
  • Windows 98: Segunda Edición (SE) requerida
  • Windows Millenium: Se requiere Service Pack 1
  • Windows NT4: Se requiere Service Pack 6
  • Windows 2000: Se requiere Service Pack 4
  • Windows XP: Se requiere Service Pack 2
Nota: Para conocer la versión de Windows y el Service Pack instalado en un ordenador, escriba "winver" en el campo "Inicio... Menú"Ejecutar" de Windows.

Comprobaciones periódicas de la red

Es necesario comprobar la red (y especialmente el servidor) cuando se implementa la aplicación.. Sin embargo, se deben realizar comprobaciones periódicas si se realizan modificaciones en la red (añadir nuevos ordenadores, cambiar cables,...).
No dude en llamar a un especialista en redes o sistemas para comprobar su configuración.

Consulte la base de datos de conocimientos de Microsoft

Varios factores que afectan al rendimiento están relacionados con el sistema operativo.
Como las aplicaciones WINDEV funcionan en Windows, es importante saber lo que el editor está comunicando.
Microsoft publica en su sitio INTERNET una base de datos de conocimiento con artículos técnicos sobre comportamientos conocidos. (http://support.microsoft.com/support/search Atención, no hay "www")

Desconfíe de los protectores de pantalla

No utilice protectores de pantalla en los servidores. Algunos protectores de pantalla utilizan casi el 100% de los recursos del servidor cuando están habilitados y hacen que el servidor sea casi inútil para las operaciones solicitadas.

Desconfíe de los programas antivirus

El software antivirus es una causa importante de ralentización en el acceso a los archivos.. Si está utilizando un software antivirus, los archivos con extensión.FIC,.NDX y.MMO deben excluirse de la comprobación.. Si nota una disminución del rendimiento cuando hay un antivirus activado, desactive temporalmente el antivirus y vuelva a comprobar el rendimiento. Asegúrese de comprobar el antivirus en el servidor así como en los ordenadores cliente. Un antivirus en un solo ordenador puede ralentizar toda la red.
ATENCIÓN: Si un antivirus está desactivado, debe volver a activarse después de las pruebas y una vez que se hayan comprobado y/o modificado sus parámetros.

Comprobación de las aplicaciones, casos reales de error

Una aplicación destinada a ser ejecutada en red debe verificarse en el grafo en condiciones similares a su uso real (con accesos concurrentes y archivos de tamaño real).
El rendimiento de un código ejecutado localmente o en una red "monopuesto" puede ser completamente diferente en un caso de uso real en una red multiusuario.
Lista no exhaustiva de errores comunes encontrados en las aplicaciones existentes. Todos estos ejemplos proceden de incidentes reales notificados.
1. El 90% de los problemas de lentitud se deben a claves inadecuadas:
Resolución: Definir las claves adecuadas en el análisis
En sus aplicaciones, compruebe los criterios de filtros, vistas y consultas. Para que get tenga un buen rendimiento en tiempo de ejecución, los archivos deben tener las claves correctas y las claves compuestas. Las claves necesarias para el buen funcionamiento de get dependen de las condiciones de clasificación. Debe examinar detenidamente el análisis, los filtros, las vistas y las consultas para seleccionar las mejores claves posibles.
Esta es la razón por la que WINDEV propone un optimizador de consultas que analiza sus consultas y encuentra las mejores claves para ellas. Para optimizar una consulta, cuando se abra una consulta en WINDEV, en el panel "Consulta", en el grupo "Analizar", haga clic en "Optimizar la consulta".
Es un mecanismo de automatic que proporciona buenos resultados. Sin embargo, para las consultas complejas o para las consultas que utilizan varios parámetros opcionales, esta opción no sustituye a un especialista astuto en bases de datos.
Es difícil decir qué ganancia de rendimiento se puede lograr utilizando las teclas correctas, ya que las situaciones pueden cambiar mucho.. Esta ganancia puede ir desde una mejora del 10% en el tiempo de procesamiento hasta una mejora del 100% e incluso más.
Atención: si la prueba de rendimiento de una aplicación multiusuario se realiza en modo monousuario, los resultados de la prueba no son realistas. Obviamente, una aplicación debe ser probada en su configuración en tiempo de ejecución.
2. Los archivos no están "optimizados".
Resolución: Iniciar WDOptimizer o planificar una optimización Process en la aplicación (HIndex o HStatCalculate)
Los archivos para los que se han realizado recientemente cálculos estadísticos (o una operación de reindexación) serán más eficientes.. Esta operación no requiere ningún cambio en la aplicación. Sin embargo, es necesaria una operación de mantenimiento regular si desea mantener accesos rápidos a una base de datos.. Para optimizar el acceso a los archivos, utilice WDOptimizer que se proporciona con WINDEV o utilice HStatCalculate, HIndex.
3. Uso excesivo de HCreationIfNotFound
Resolución: No utilizar HCreationIfNotFound a menos que sea necesario, y utilizar la constante hDelayedOpening cuando sea necesario utilizar HCreationIfNotFound.
Es común encontrar en las aplicaciones una instrucción HCreationIfNotFound("*") o una serie de HCreationIfNotFound en el código de inicialización del proyecto. Esta función realiza un gran número de comprobaciones y búsquedas y, por lo tanto, utiliza mucho tiempo de ordenador.. Para no perder tiempo, puede solicitar una verificación diferida utilizando la constante hDelayedOpening con la función HCreationIfNotFound. Mejor aún, puede utilizar esta sentencia sólo para los archivos que pueden ser borrados o recreados.
Para las aplicaciones que utilizan un gran número de archivos, este cambio puede ahorrar una cantidad significativa de tiempo.
4. Inicializaciones no requeridas o mal colocadas
Resolución: Elimine las inicializaciones inútiles o muévalas a una ubicación más apropiada.
Al inicializar las ventanas que contienen varios planos o pestañas, no inicialice todos los planos y pestañas tan pronto como se abra la ventana.. Sólo se ejecutan las vistas y consultas de los otros planos cuando el usuario accede a ellos.
Por el contrario, utilice HOptimizeQuery en el código de apertura de ventana para que la futura ejecución de estas consultas sea aún más rápida.
5. Fuentes de datos dinámicas mal definidas (no definidas en el editor de consultas o en los editores de modelos de datos).
Resolución: Utilice el tipo "Data Source" para cada fuente de datos dinámica.
Cuando las vistas son creadas por HCreateView o cuando las consultas son creadas por HExecuteSQLQuery, se debe especificar un nombre. Este nombre le permite utilizar la fuente de datos (vista o consulta) como un archivo. Para recuperar el contenido de los elementos, utilice ViewName.ItemName o QueryName.ItemName.
En el editor de código, ViewName (o ItemName) no se reconoce. Para que el compilador de WLanguage reconozca sus opiniones y consultas, debe declararlas. Le recomendamos que utilice el tipo "Fuente de datos" para declararlos.
6. Uso indirecto en un elemento sin especificar su tipo
Resolución: Especifique el tipo de indirección
Puedes usar la indirecta (llaves { }) para construir dinámicamente un nombre de artículo (o un nombre de Variable...). Los indirectos se utilizan para crear código genérico pero estos códigos son un poco más lentos. Por lo tanto, el código que realiza operaciones de lectura, modificaciones y adiciones y que utiliza la indirección puede ser más lento a la hora de resolver las indirecciones que a la hora de realizar las operaciones reales en los ficheros de datos HFSQL.. Para acelerar los procesos que utilizan el indirecto, tiene la capacidad de especificar el tipo de indirecto. Para obtener más información, consulte Operadores indirectos.
Ejemplo:{NombreDeArchivo+"."+NombreDeArtículo,indItem}=5
7. Uso del perfil de rendimiento para detectar las ralentizaciones
Resolución: Mejorar el código específico que se considera demasiado lento
Hay otros tipos de errores a evitar (operaciones de lectura múltiple o inicializaciones inútiles, ....) u otros tipos de optimización posibles (por ejemplo, recomendamos encarecidamente que utilice HFSQL Client/Server en una red lenta o con un acceso DSL).
Cada caso es diferente, pero la regla general es que cuando se detecta una ralentización, se puede eliminar encontrando su origen.
Analizador de rendimientoproporcionada con WINDEV es una gran herramienta que permite identificar los códigos que tardan en ejecutarse.

PC Soft puede ayudarle a optimizar

Si desea que PC SOFT examine su aplicación y su código fuente, existen dos soluciones posibles:
  • Suscribir un contrato de Assistance Directe (los detalles y los precios están disponibles en http://www.windev.com/ad/index.html)
  • Visita in situ de un ingeniero de servicio de PC SOFT.
No dude en proponer a Contact PC SOFT al departamento de ventas de get.
Hay que tener en cuenta que las intervenciones de PC SOFT se limitan a los productos publicados por PC SOFT y que nuestros ingenieros no intervienen en las configuraciones de la red o en las configuraciones de Windows por ejemplo (aunque su experiencia les permita dar consejos de useful en una red determinada).
Configuración de una red

Varios parámetros

Una red incluye un número importante de elementos, y cada uno de estos elementos puede ser el culpable de la ralentización o de la ruptura de la red.. Ejemplos:
  • 2 tarjetas TCP/IP con la misma Address,
  • Conflicto con un controlador de tarjeta de vídeo,
  • Conflicto con un controlador de impresora,
  • Tipo y velocidad de la unidad de disco,
  • Servidor de red con errores (consulte el sitio del editor para ver si hay service packs que deban instalarse),
  • El rendimiento de una red de 100 MB puede desmoronarse debido a una simple tarjeta de PC de 10 MB,
  • La presencia de perturbaciones electromagnéticas cerca de los cables (transformador, imán,...)
  • etc.
Cada red viene con su propia lista de incompatibilidades (tarjetas de red, versión WIndows, impresora,...), compruebe regularmente el sitio del editor de su servidor.
En caso de duda, llame a una empresa especializada, avalada por el editor de su servidor de red.
Una red no puede instalarse como un PC autónomo, sino que requiere conocimientos específicos.

Caso común de las tarjetas de red

Algunas tarjetas de red funcionan mucho mejor que otras, por lo que es importante comprobar las tarjetas de red instaladas.
Además, las tarjetas de red utilizan controladores para los que pueden existir actualizaciones importantes. Compruebe el sitio de sus editores.
Un conductor demasiado viejo puede causar una fuerte desaceleración (a menudo por un factor de 2).
Ejemplo de las 3 COM 3C590 Artículo Microsoft Q139731 tarjetas: Errores de red con 3COM 3C590 NIC En Windows NT
Motor HFSQL en tecnología Cliente/Servidor
Como se indica en esta Document, puede liberarse de los inconvenientes de la red instalación utilizando el motor HFSQL Client/Server para Windows y para Linux que se suministra sin coste adicional con WINDEV.
Este motor Cliente/Servidor utiliza muchas nuevas optimizaciones para get resultados más rápidos en cualquier situación.
Apéndice
Esta Document se proporciona sólo con fines informativos y no es contractual. Esta información ha sido comprobada en el momento de la redacción de esta Document (16/09/2005).
Debido a la constante evolución del software tanto de PC SOFT como de Microsoft, esta información puede cambiar en cualquier momento.
Versión mínima requerida
  • Versión 12
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local