Quiero crear una aplicación en C# con los lados del cliente y del servidor. Funcionará a través de la red local. Los lados del cliente deben verificar las actualizaciones en un SQL Server remoto. Digamos que hemos establecido el intervalo de tiempo de actualización en 2 segundos. Si tengo 20 aplicaciones del lado del cliente, enviarán consultas al SQL Server remoto cada 2 segundos y cargará bastante el servidor. Ahora quiero saber si hay alguna manera de reducir la carga del servidor o si es la única manera de buscar actualizaciones.Cómo reducir las cargas remotas de SQL Server?
Respuesta
Desde mi punto de vista, no hay necesidad de permitir a los clientes conectar el seridor DB directamente. Debería haber un nivel más aquí que solo se conectará al servidor y almacenará información en caché sobre las actualizaciones. Sus clientes deben conectarse a esta información adicional y trabajar con la información en caché.
ACTUALIZACIÓN Por lo que yo entiendo, el problema aparece debido a que todos sus clientes ping a su servidor de base de datos cada dos segundos. La solución a este problema es crear un módulo especial que solo tendrá acceso al servidor de BD y le pedirá la actualización. Por ejemplo, cada dos segundos. Si la actualización está lista, debería poder obtenerla de la base de datos y almacenarla. Esto es lo que quise decir debajo del nivel adicional.
Ahora, volvamos a sus clientes. Deberían poder comunicarse con este módulo y obtener información sobre una actualización (esta información está almacenada en la memoria caché y, por lo tanto, es muy rápido para obtenerla. Además, no necesita hacer ping al servidor a petición de cada cliente). Si la actualización está lista, búsquela en el lado del cliente y trabaje en el lado del cliente.
En cuanto a la comunicación entre este nivel adicional y los clientes. Dado que está trabajando con .NET, le sugiero que eche un vistazo al WCF que, desde mi punto de vista, se convierte en un enfoque estándar para implementar la comunicación entre procesos en .NET. Hay mucha información en la red al respecto, publicaré los enlaces en breve.
Aquí es mi libro favorito WCF:
MSDN entrada:
por favor explique más detallado, si puede, por adelantado –
@ user841470: En otras palabras, llame a una capa de nivel medio. Podría usar algo como una SqlCacheDependency que almacena en caché una consulta o tabla. De esta manera, la memoria caché siempre tiene los últimos datos. Esto podría implementarse como un servicio web o servicio WCF que está haciendo el almacenamiento en caché. La aplicación llama al servicio web/WCF, al que se devuelven los datos relevantes. –
@ user841470, he actualizado la respuesta – platon
- 1. SQL Server: habilite conexiones remotas sin SSMS
- 2. ¿SQL Server 2008 express permite conexiones remotas?
- 3. Permitir todas las conexiones remotas, MySQL
- 4. ¿Cómo bloquear las cargas de imágenes desnudas?
- 5. reanudar las cargas usando HTTP?
- 6. Administración de las conexiones de SQL Server
- 7. Cómo puedo administrar el tamaño de registro de SQL Server
- 8. Cómo reducir el tamaño de Heap de WebSphere Server
- 9. ¿Cómo enviar cargas de imágenes en las pruebas de Django?
- 10. ¿Cómo controlar las bases de datos de SQL Server?
- 11. ¿Las cargas alineadas con palabras son más rápidas que las cargas desalineadas en los procesadores x64?
- 12. counter_cache optimización has_many_through sql, reducir el número de consultas SQL
- 13. Problemas con MSDTC: transacciones remotas
- 14. Cómo validar las cargas de archivos en ASP.NET Web API
- 15. ¿Cómo probar unida las cargas de archivos con MockHttpServletRequest?
- 16. ¿Cómo veo las conexiones de SQL Server activas?
- 17. ¿Cómo habilito MSDTC en SQL Server?
- 18. Eliminar todas las vistas desde SQL Server
- 19. Cómo reducir las solicitudes css http?
- 20. ¿Cómo habilito las transacciones anidadas con ADO.NET y SQL Server?
- 21. ¿Cómo se enumeran todas las vistas indizadas en SQL Server?
- 22. cómo implementar las funciones CLR en SQL Server 2008
- 23. SQL Server 2008 a SQL Server 2005
- 24. SQL Server
- 25. SQL en SQL Server
- 26. ¿Cómo se crean las plantillas de procedimientos almacenados de SQL Server 2005 en SQL Server 2005 Management Studio?
- 27. Comprensión de bloqueos de SQL Server en las consultas SELECT
- 28. tinyMCE - cómo manejar cargas de imágenes
- 29. ¿Cómo escapo _ en SQL Server?
- 30. ¿Cómo cambio los nombres de las columnas de SQL Server en T-SQL?
¿Qué son los datos Qué se necesita para comprobar si hay tanta frecuencia? – Gareth
es sistema de administración de colas –