¿Qué Hacer?

110 views
Skip to first unread message

Carlos Mauricio Torres Suárez

unread,
May 13, 2011, 10:26:41 PM5/13/11
to Comunidad de Visual Foxpro en Español
Tenemos un Servidor con Windows Server 2033 y 6 estaciones de trabajo,
el problema que tenemos es que al accesar las 6 máquinas a nuestro
sistema hecho en VFP v9.0 SP2, la red se ponde lentísima y los
usuarios están muy molestos, no sabemos qué hacer para aumentar la
velocidad del servicio.

Agradezco sus comentarios

Saludos

Walter R. Ojeda Valiente

unread,
May 13, 2011, 10:48:18 PM5/13/11
to publice...@googlegroups.com
Supongo que estás usando tablas nativas, por eso es tan lento.

Una solución a largo plazo es pasar todo a SQL, te recomiendo Firebird, es rapidísimo.

Una solución a corto plazo es tratar de tener muchas tablas locales y evitar el uso de las grillas, salvo que sea totalmente imprescindible. Por ejemplo, si en el Servidor tienes una tabla llamada Clientes y en ella guardas los datos de miles de clientes, mostrarlos en una grilla será lentísimo. Te convendría tener los datos de los clientes en una tabla local para obtenerlos desde allí. Y olvidarte de las grillas, salvo que muestres pocos datos en ella (digamos, un máximo de 20 registros).

Saludos.

Walter.



> Date: Fri, 13 May 2011 19:26:41 -0700
> Subject: [vfp] ¿Qué Hacer?
> From: cama...@ctsoft.com.ec
> To: publice...@googlegroups.com

IVAN MARTINEZ

unread,
May 13, 2011, 10:51:38 PM5/13/11
to publice...@googlegroups.com
Primero que todo haria una prueba para verificarla certeza de que es cuando
entran las 6 maquinas.

Probaria la velocidad entrando una por una y cheueando la velocidad.
Entraria al mismo programa por ejemplo a uno de consulta.
Y bueno eso es lo primero que hay que hacer.

Ivan Martinez


>>>-----Mensaje original-----
>>>De: publice...@googlegroups.com
>>>[mailto:publice...@googlegroups.com] En nombre de
>>>Carlos Mauricio Torres Suárez
>>>Enviado el: Viernes, 13 de Mayo de 2011 09:57 p.m.
>>>Para: Comunidad de Visual Foxpro en Español
>>>Asunto: [vfp] ¿Qué Hacer?

Edgar Acevedo

unread,
May 14, 2011, 12:10:52 AM5/14/11
to publice...@googlegroups.com
No pretendo ser "señalador" o "abogado del diablo", pero si solo tienes 6 estaciones en tu red, NO HAY razón para que tu aplicación funcione tan lento.  Creo que tiene que ver mucho "la calidad" de código con la que programas.

Uno de mis casos mas éxitosos es el de un sistema que hice en FOXPRO 2.6 para D.O.S en el año 1,995 y AÚN esta en funciones !!!!.  El servidor es WINDOWS SERVER 2003 y hay 24 estaciones usando mi sistema.  Se maneja un inventario de 118 mil artículos y una cartera de 12 mil clientes y a diario se elaboran unas 700 facturas de ventas. 

Otro caso ya con VFP 9 SP2, tengo un servidor con un "sabor de Linux" llamado ClearOS y tengo 22 estaciones conectadas.  La historia es la misma:  alta velocidad, confiabilidad, estabilidad y usuarios totalmente complacidos.  En el caso de este cliente en particular, 3 de las tablas ya superaron el millon y medio de registros.

Por ello me extraña mucho tu caso de solo 6 estaciones, por eso me inclino mucho a pensar que talvez tu sistema NO ESTA utilizando la tecnología RUSHMORE de FOXPRO.  Se activa "automáticamente" cuando tus tablas cumplen con ciertas condiciones (por ejemplo, una buena estructura de índices compuestos CDX) y bajo la sintaxis en el uso de determinados comandos.  Te invito a investigar mas sobre la tecnología RUSHMORE de Foxpro.

Te copio un texto tomado del HELP de FOXPRO 2.6 para D.O.S.

La tecnología Rushmore es una técnica de acceso a datos que permite acceder muy eficazmente a conjuntos de registros, a velocidades comparables a las que se consigue mediante el acceso indexado a un único registro. Se denomina "Rushmore" ya que fue el nombre interno elegido para el proyecto después de ver la película "North By Northwest" de Hitchcock la noche anterior.

Con Rushmore, algunas operaciones complejas sobre tablas se realizan cientos o incluso miles de veces más deprisa que antes. FoxPro 2.5 permite que los sistemas personales manejen tablas realmente gigantescas, que contienen millones de registros, a velocidades comparables a las de los sistemas de base de datos de los grandes sistemas. 

Rushmore utiliza los índices estándar de FoxPro en forma de árbol B y no requiere ningún tipo nuevo de archivo o índice. Puede utilizarse con cualquier índice FoxPro: índices estándar (.IDX) utilizados en las versiones 1.xx de FoxPro, índices compactos (.IDX) o índices compuestos (.CDX).

En particular, Rushmore no utiliza el nuevo formato de índice compacto. Los índices compactos, tanto en formato .CDX como .IDX, utilizan una técnica de compresión que produce índices de una sexta parte del tamaño que tienen los índices comparables del formato antiguo. Los índices compactos pueden procesarse más deprisa simplemente porque son físicamente menores. Esto significa que se requieren menos accesos a disco para procesarlos y que en los búferes de FoxPro se pueden almacenar fragmentos mayores del índice. 

Si bien Rushmore aprovecha el menor tamaño de los índices compactos, al igual que ocurre con el acceso a archivos, también funciona perfectamente con los índices de formato antiguo.

Indices y Rushmore

      Cuando Rushmore busca índices que pueden ayudar a optimizar las consultas, ignora el operador lógico NOT (NOT o !). De esta forma, desde la misma expresión se pueden optimizar más tipos de expresiones. Por ejemplo,

 

      * Indexado según estado

      COUNT FOR estado = 'OH'        && optimizable

      COUNT FOR NOT (estado = 'OH')  && también optimizable

     

      * Indexado según DELETED()

      COUNT FOR DELETED()   && optimizable

      COUNT FOR !DELETED()  && también optimizable

     

Rushmore no utiliza índices que contienen NOT o ! en sus expresiones de índice.

 

Cuando se están procesando tablas muy grandes, quizá Rushmore no tenga suficiente memoria para funcionar en equipos menores. En estos casos aparecerá un mensaje de advertencia ("Not enough memory for optimization") y la ejecución continuará como en las versiones anteriores de FoxPro. Si bien no se perderá ningún dato y su programa funcionará correctamente, la consulta no podrá aprovechar las ventajas que ofrece la tecnología Rushmore.

 

Por tanto, si va a procesar tablas grandes le sugerimos que utilice la versión Extendida de FoxPro (que se suministra sin cargo adicional alguno junto con el paquete estándar).

 

Debe utilizar la versión Extendida de FoxPro si sus tablas tienen en total más de 500.000 registros.

 

En su forma más sencilla, Rushmore acelera los comandos ejecutados sobre una sola tabla ya que utiliza cláusulas FOR que especifican conjuntos de registros en términos de índices existentes. Además, Rushmore puede acelerar la ejecución de ciertos comandos cuando está vigente SET FILTER y cuando la condición de filtrado se especifica en términos de índices existentes.

 

Para aprovechar Rushmore con varias tablas debe utilizar el comando SELECT de SQL. La función SQL de FoxPro utiliza Rushmore como herramienta básica para la optimización de consultas en múltiples bases de datos, ya que emplea Rushmore con índices existentes e incluso crea nuevos índices ad-hoc para acelerar las consultas.

 

Rushmore con múltiples tablas

      Para poder utilizar la optimización que logra Rushmore cuando esté recuperando datos desde más de una tabla debe emplear el comando SELECT de SQL. SQL utiliza Rushmore como tecnología básica para optimizar sus consultas.

 

      Cuando utilice el comando SELECT, todas las reglas que debe seguir normalmente para aprovechar Rushmore ya no estarán vigentes. SQL decide qué es necesario para optimizar una consulta y realiza el proceso automáticamente. No es necesario abrir tablas ni índices. Si SQL decide que necesita índices, creará índices temporales para su propio uso interno.

 

Rushmore con tablas únicas

      Si utiliza tablas únicas puede aprovechar Rushmore en cualquier lugar donde aparezca una cláusula FOR. Rushmore está diseñada de forma que su velocidad sea proporcional al número de registros recuperados.

 

      Comandos posiblemente optimizables mediante cláusulas FOR

 

            AVERAGE                 INDEX

            BROWSE                  LABEL

            CALCULATE         LIST

            CHANGE                  LOCATE

            COUNT             RECALL 

            COPY TO                 REPLACE    

            COPY TO ARRAY     REPORT     

            COUNT             SCAN

            DELETE                  SORT

            DISPLAY                 SUM

            EDIT              TOTAL

            EXPORT

           

    Además de una expresión optimizable mediante una cláusula FOR, los comandos anteriores deben tener una cláusula de alcance ALL o NEXT para poder utilizar Rushmore. Rushmore también funciona cuando se utiliza el alcance predeterminado ALL.

 

      Durante la optimización, Rushmore puede utilizar todos los índices abiertos excepto los índices filtrados y los índices únicos.

 

      Para conseguir un rendimiento óptimo, no establezca el orden de la tabla. Puede emplear SET ORDER TO para asegurarse de que no ha establecido ningún orden. También puede mejorar el rendimiento de Rushmore estableciendo DELETED como OFF, especialmente en aquellas consultas que devuelven un gran número de registros.

 

      Si crea índices o indicadores, recuerde que esto establece automáticamente el orden. Si desea sacar el máximo partido de Rushmore con un conjunto de datos grande y necesita que los datos estén en un determinado orden, ejecute SET ORDER TO para desactivar el control de índice y utilice luego el comando SORT.

 

Expresiones básicas optimizables

      La tecnología Rushmore se basa en la presencia de una expresión básica optimizable en una cláusula FOR. Una expresión básica optimizable puede formar una expresión completa o puede aparecer como parte de una expresión. En la sección "Combinar expresiones básicas optimizables" se explican las reglas que rigen la combinación de expresiones básicas optimizables.

 

      Una expresión básica optimizable adopta uno de los siguientes formatos:

 

            <expresión índice> <operador relacional> <expresión constante>

 

      o bien

 

            <expresión constante> <operador relacional> <expresión índice>

 

      En una expresión básica optimizable:

 

           <expresión índice> debe coincidir exactamente con la expresión sobre la cual se ha construido un índice y no debe contener alias.

 

           <operador relacional> debe ser uno de los siguientes: <, >, =, < =, > =, < >, #, !=.

 

           <expresión constante> puede ser cualquier expresión, incluyendo variables de memoria y campos de otras tablas no relacionadas.

 

      Por ejemplo, si tiene índices según las siguientes expresiones:

 

            NOMBRE

            NUMCLIENTE

            UPPER(APELLIDO)

            FECHACONTR

            DIREC

 

      las siguientes serán expresiones básicas optimizables:

 

            NOMBRE = 'Fernando'

            NUMCLIENTE >= 1000

            UPPER(APELLIDO) = 'SUAREZ'

            FECHACONTR < {12/30/90}

 

      Si ejecuta el comando STORE 'WASHINGTON AVENUE' TO X, las siguientes también serán expresiones básicas optimizables:

 

            DIREC = X

            DIREC = SUBSTR(X,8,3)

 

Combinar expresiones básicas optimizables

      La optimización Rushmore para la recuperación de datos utiliza la expresión de la cláusula FOR. Si la expresión FOR es optimizable, con una expresión de cláusula FOR simple o compleja podrá mejorarse la velocidad de recuperación de datos. En esta sección se explican las reglas que rigen la combinación de expresiones básicas para crear una expresión FOR.

 

           Las expresiones básicas pueden ser optimizables. Las expresiones básicas se pueden combinar con los operadores lógicos AND, OR y NOT para formar una expresión compleja de cláusula FOR que también puede ser optimizable.

 

           Una expresión creada con una combinación de expresiones básicas optimizables es totalmente optimizable. Si una o más de las expresiones básicas no son optimizables, la expresión compleja puede ser parcialmente optimizable o no ser optimizable.

 

           Una serie de reglas determina si una expresión compuesta por expresiones básicas optimizables o no optimizables es totalmente optimizable, parcialmente optimizable o no es optimizable. En la tabla siguiente se describen las reglas a seguir para determinar la optimización de consultas; a continuación hay otra tabla en la que se muestran ejemplos.

 

Combinar expresiones básicas

────────────────────────────

Expr básica       Optimizable

Operador          AND

Expr básica       Optimizable

Result consulta   Totalmente optimizable

 

Exp básica        Optimizable

Operador          OR

Expr básica       Optimizable

Result consulta   Totalmente optimizable

 

Expr básica       Optimizable

Operador          AND

Expr básica       No optimizable

Result consulta   Parcialmente optimizable

 

Expr básica       Optimizable

Operador          OR

Expr básica       No optimizable

Result consulta   No optimizable

 

Expr básica       No optimizable

Operador          AND

Expr básica       No optimizable

Result consulta   No optimizable

 

Expr básica       No optimizable

Operador          OR

Expr básica       No optimizable

Result consulta   No optimizable

 

Expr básica       --

Operador          NOT

Expr básica       Optimizable

Result consulta   Totalmente optimizable

 

Expr básica       --

Operador          NOT

Expr básica       No optimizable

Result consulta   No optimizable

 

Ejemplos de expresiones

básicas combinadas

───────────────────────

 

Ejemplo           NOMBRE = 'FERNANDO' AND FECHACONTR < {12/30/89}

Tipos expr Optimizable AND Optimizable

Operador    =

Resultado   Totalmente optimizable

 

───────────────────────────────────

 

Ejemplo           NOMBRE = 'FERNANDO' OR FECHACONTR < {12/30/89}

Tipos expr  Optimizable OR Optimizable

Operador    =

Resultado   Totalmente optimizable

 

───────────────────────────────────

 

Ejemplo           NOMBRE = 'FERNANDO' AND 'S' $ APELLIDO

Tipos expr  Optimizable AND No optimizable

Operador    =

Resultado   Parcialmente optimizable

 

───────────────────────────────────

 

Ejemplo           NOMBRE = 'FERNANDO' OR 'S' $ APELLIDO

Tipos expr  Optimizable OR No optimizable

Operador    =

Resultado   No optimizable

 

───────────────────────────────────

 

Ejemplo           'FERNANDO' $ NOMBRE AND 'S' $ APELLIDO

Tipos expr  No optimizable AND No optimizable

Operador    =

Resultado   No optimizable

 

───────────────────────────────────

 

Ejemplo           'FERNANDO' $ NOMBRE OR 'S' $ APELLIDO

Tipos expr  No optimizable OR No optimizable

Operador    =

Resultado   No optimizable

 

───────────────────────────────────

 

Ejemplo           NOT NOMBRE = 'FERNANDO'

Tipos expr  El operador NOT con Optimizable

Operador    =

Resultado   Totalmente optimizable

 

───────────────────────────────────

 

Ejemplo           NOT 'FERNANDO' $ NOMBRE

Tipos expr  El operador NOT con No optimizable

Operador    =

Resultado   No optimizable

 

───────────────────────────────────

 

      También puede utilizar paréntesis para agrupar las combinaciones de expresiones básicas. Las reglas anteriores también se aplican a las combinaciones de expresiones agrupadas mediante paréntesis. 

 

Combinar expresiones complejas

      Puede combinar diversas expresiones complejas para crear una expresión más compleja que sea totalmente optimizable, parcialmente optimizable o no optimizable, según se muestra en la tabla anterior. Estas expresiones más complejas pueden combinarse a su vez para crear expresiones que, de nuevo, pueden ser total o parcialmente optimizables o no optimizables. En la siguiente tabla se muestra el resultado de combinar estas expresiones más complejas. Estas reglas se aplican también a las expresiones agrupadas mediante paréntesis.

 

Combinar expresiones complejas

──────────────────────────────

Expr        Totalmente optimizable

Operador    AND

Expr        Totalmente optimizable

Resultado   Totalmente optimizable

 

Expr        Totalmente optimizable

Operador    OR

Expr        Totalmente optimizable

Resultado   Totalmente optimizable

 

Expr        Totalmente optimizable

Operador    AND

Expr        Parcialmente optimizable

Resultado   Parcialmente optimizable

 

Expr        Totalmente optimizable

Operador    OR

Expr        Parcialmente optimizable

Resultado   Parcialmente optimizable

 

Expr        Totalmente optimizable

Operador    AND

Expr        No optimizable

Resultado   Parcialmente optimizable

 

Expr        Totalmente optimizable

Operador    OR

Expr        No optimizable

Resultado   No optimizable

 

Expr        --

Operador    NOT

Expr        Totalmente optimizable

Resultado   Totalmente optimizable

 

Expr        Parcialmente optimizable

Operador    AND

Expr        Parcialmente optimizable

Resultado   Parcialmente optimizable

 

Expr        Parcialmente optimizable

Operador    OR

Expr        Parcialmente optimizable

Resultado   Parcialmente optimizable

 

Expr        Parcialmente optimizable

Operador    AND

Expr        No optimizable

Resultado   Parcialmente optimizable

 

Expr        Parcialmente optimizable

Operador    OR

Expr        No optimizable

Resultado   No optimizable

 

Expr        --

Operador    NOT

Expr        Parcialmente optimizable

Resultado   Parcialmente optimizable

 

Expr        No optimizable

Operador    AND

Expr        No optimizable

Resultado   No optimizable

 

Expr        No optimizable

Operador    OR

Expr        No optimizable

Resultado   No optimizable

 

Expr        --

Operador    NOT

Expr        No optimizable

Resultado   No optimizable

 

      La siguiente tabla contiene ejemplos de cómo se pueden combinar las expresiones complejas y la optimización que se consigue en el resultado.

 

Ejemplos de expresiones

complejas combinadas

───────────────────────

Ejemplo           (NOMBRE = 'FERNANDO' AND

                  FECHACONTR <{12/30/89}) OR (APELLIDO = '' AND FECHACONTR > {12/30/88})

Tipos expr  Totalmente optimizable OR Totalmente optimizable

Operador    =

Resultado   Totalmente optimizable

 

───────────────────────────────────

 

Ejemplo           (NOMBRE = 'FERNANDO' AND FECHACONTR < {12/30/89}) AND 'S' $ APELLIDO

Tipos expr  Totalmente Optimizable AND No optimizable

Operador    =

Resultado   Parcialmente optimizable

 

───────────────────────────────────

 

Ejemplo           (NOMBRE = 'FERNANDO' AND 'S' $ APELLIDO) OR (NOMBRE = 'DAVID' AND 'T' $ APELLIDO)

Tipos expr  Parcialmente optimizable OR Parcialmente optimizable

Operador    =

Resultado   Parcialmente optimizable

 

───────────────────────────────────

 

Ejemplo           ('FERNANDO' $ NOMBRE OR 'S' $ APELLIDO) OR ('MAYOR' $ CALLE OR 'AVENIDA' $ CALLE)

Tipos expr  No optimizable OR No optimizable

Operador    =

Resultado   No optimizable

 

───────────────────────────────────

 

Optimización Rushmore y

secuencias de ordenación

────────────────────────

      Rushmore sólo puede aprovechar los índices cuya secuencia de ordenación coincida con la secuencia actual. Si va a generar índices en varios idiomas, asegúrese de que la secuencia de ordenación actual coincide con las secuencias de ordenación de las marcas de índice y los índices activos.

 

      Utilice IDXCOLLATE() para devolver la secuencia de ordenación de un índice o de las marcas de índice; utilice SET("COLLATE") para devolver la secuencia de ordenación actual.

 

Desactivar Rushmore

───────────────────

      En algunas ocasiones deberá desactivar Rushmore. Cuando ejecute un comando que utiliza Rushmore, Rushmore determinará inmediatamente qué registros cumplen la expresión de la cláusula FOR. Luego, el comando manipula estos registros.

 

      Si un comando posiblemente optimizable modifica la clave de índice de la cláusula FOR, quizá el conjunto de registros Rushmore quede obsoleto. En este caso, puede desactivar Rushmore para asegurarse de que obtiene la información más actualizada de la tabla/.DBF.

 

      Si desea desactivar Rushmore para un comando individual, incluya la palabra clave NOOPTIMIZE junto con el comando. Para desactivar (o activar) globalmente Rushmore para todos los comandos que aprovechan la tecnología Rushmore, utilice SET OPTIMIZE. El comando SET OPTIMIZE OFF desactiva Rushmore y SET OPTIMIZE ON activa Rushmore. La opción predeterminada es ON.

 

───────────────────────────────────

 

Vea también: SET OPTIMIZE, IDXCOLLATE(), SET COLLATE

 

───────────────────────────────────

 


ricardo peña

unread,
May 14, 2011, 7:55:17 AM5/14/11
to GRUPO-VFP GRUPO-VFP
Me surgen algunos interrogantes.
 
En el servidor 2003
¿ Es el servidor de autenticación de los usuarios ?
¿ Es el servidor donde está el antivirus ?
¿ Es el servidor que maneja el tráfico de internet ?
¿ Es el tráfico de internet pesado ( maneja pocos mails o bajan archivos grandes ) ?
¿ Todos graban sus hojas excel, docs de word en un directorio compartido ?
¿ Es el único servidor que se usa para todo ?
¿ Cuál es la configuración de ese servidor en Procesador central, memoria y disco ?

Ricardo Luis Peña
Analista de Sistemas
BA - Argentina




 
> Date: Fri, 13 May 2011 19:26:41 -0700
> Subject: [vfp] ¿Qué Hacer?
> From: cama...@ctsoft.com.ec
> To: publice...@googlegroups.com
>

Luis Maria Guayan

unread,
May 14, 2011, 8:17:02 AM5/14/11
to publice...@googlegroups.com
¿El servidor es PDC (Primary Domain Controler)?

Mira, este mensaje lo envie hace varios meses

"... Esto es un Bug de Windows 2003 Server en equipos que son controladores primarios de dominios. En algunos casos hay parches que debes pedir a Microsoft. Te paso algunos artículos de la Base de Conocimientos de Microsoft, pero busca por mas, a ver cual se asemeja mas a tu caso.

-- Los equipos basados en Windows Server 2003 funcionan más lentamente y dejan de responder después de ejecutarse durante varios día --
http://support.microsoft.com/kb/821008/es

-- El rendimiento puede ser lento en un controlador principal de sitio que ejecuta servicio de Message Queuing Server --
http://support.microsoft.com/kb/832716/es

-- Puede experimentar rendimiento lento por algunos programas en Microsoft Windows Server 2003 --
http://support.microsoft.com/kb/831168/es


Saludos,

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

Carlos Miguel FARIAS

unread,
May 14, 2011, 9:31:51 AM5/14/11
to publice...@googlegroups.com
Creo que debe ser lo que el servidor, es un esclavo, le "da" servicio a todo. O alguien esta escuchando radio por la web (y ya no es broma para Chapin..) o hay trafico "espureo" (acceso a sitios web, que con la jodita del ajax, tienen un tráfico endemoniado, por que el ajax es muy lindo pero si no esta bien hecho, produce mas trafico que paginas estaticas).
Con solo 6 puestos de trabajo, el código debería ser malo a proposito, para que produzca las demoras que se indican.

El 14 de mayo de 2011 09:54, Alfonso Arias Lemas <arias...@yahoo.es> escribió:
Huuuu..., la base de datos es Nativa??? si es asi te gugiero que utilices el modelo cliente-servidor con SQL server, MySQL, Firebird o cualquier otro.
 
Saludos,
   Alfonso


De: Carlos Mauricio Torres Suárez <cama...@ctsoft.com.ec>
Para: Comunidad de Visual Foxpro en Español <publice...@googlegroups.com>
Enviado: sáb,14 mayo, 2011 01:26
Asunto: [vfp] ¿Qué Hacer?

Alfonso Arias Lemas

unread,
May 14, 2011, 8:54:41 AM5/14/11
to publice...@googlegroups.com
Huuuu..., la base de datos es Nativa??? si es asi te gugiero que utilices el modelo cliente-servidor con SQL server, MySQL, Firebird o cualquier otro.
 
Saludos,
   Alfonso

De: Carlos Mauricio Torres Suárez <cama...@ctsoft.com.ec>
Para: Comunidad de Visual Foxpro en Español <publice...@googlegroups.com>
Enviado: sáb,14 mayo, 2011 01:26
Asunto: [vfp] ¿Qué Hacer?

Carlos Mauricio Torres Suárez

unread,
May 14, 2011, 10:54:54 AM5/14/11
to Comunidad de Visual Foxpro en Español
Gracias sus opiniones pero les debo contar que nuestro sistema está
instalado en 355 empresas en el Ecuador y el lento es el único cliente
que tiene ese problema, con los demás no tenemos el problema.
Nosotros le estamos culpando al servidor de manera que ya hemos pedido
que se cambie de servidor para no tener el problema.

Gracias por sus comentarios

Saludos

Arnaldo Toledano

unread,
May 14, 2011, 11:14:06 AM5/14/11
to publice...@googlegroups.com
Estimado.

Para tener una BUENA REPUESTA debes hacer UNA BUENA PREGUNTA.

Tu problema esta obviamente en el servidor.
Si hubieses informado lo que acá informas, la repuesta hubiese estado dirigida hacia otro punto.

Como esta instalado el Winserver 2033   (no lo conozco, conozco hasta el 2008)
Hay controlador de Dominio ?
Tenes acceso a Internet ?
Hay DNS para navegar por Internet o lo haces directamente a través del router ?
Es el servidor de archivos también servidor de DNS, si es así ,hay instalado Reeinviadores ?

Como dicen otros colegas,
Hay mucho trafico de internet ?
El cableado esta correcto ?
No viaja el cable de la red por el mismo ducto que la electricidad ?  De ser así, tenes luces fluorescentes ?

Son múltiples los problemas que podes tener a través de un servidor.

Si podes contesta estas preguntas y por allí te damos una mejor repuesta.


Atte.

Arnaldo Toledano
--
Arnaldo Toledano Tesys Informática Córdoba Argentina

Walter R. Ojeda Valiente

unread,
May 14, 2011, 11:23:11 AM5/14/11
to publice...@googlegroups.com
¿Lo están usando en 355 empresas?

Hubieras empezado por ahí.

Saludos.

Walter.



> Date: Sat, 14 May 2011 07:54:54 -0700
> Subject: [vfp] Re: ¿Qué Hacer?
> From: cama...@ctsoft.com.ec
> To: publice...@googlegroups.com
>

GeoSys Diseño de Software

unread,
May 14, 2011, 12:05:34 PM5/14/11
to publice...@googlegroups.com
Obviamente es el servidor, porque te voy a decir una cosa, he tenido hasta 10 terminales trabajando al mismo tiempo en una red de archivos compartidos y usando el mismo ejecutable (EXE) y la verdad con computadoras con pocos recursos y VFP no se nota la lentitud, ni siquiera conflictos me ha dado porque utilizo solo un exe para todos lo usuarios,  lo cual no es recomendable, pero cuando empezaba lo hacía así de esa forma y algunas aplicaciones hoy en día están trabajando de esa manera y no hay problemas.

La verdad que VFP es bien potente para manejar las tablas nativas,  6 terminales no van a significar mucho para él en volúmenes de trabajos aceptables.

Otra cosa es que si usas instrucciones SQL mejor todavía, por ejemplo todos mis reportes de aplicaciones actuales están basadas en consultas SQL con un cursor y no usar la tabla con todos los datos para reportar, esto hace más lento el proceso.

El set filter ya se sabe que es lento con varios registros, por eso la mejor manera es consultado con SELECT _ SQL.

Los comandos FOR utilizan la tecnología Rushmore (optimizable) Como te comentaba el colega anterior y teniendo bien estructurados los índices va a ser más rápido.

De hecho, motores SQL es lo recomendable por seguridad, rapidez y otras tantas ventajas para trabajar como Cliente_Servidor, pero VFP con sus tablas nativas tampoco es que es lento como para trabajar con 6 terminales y un volúmen aceptable.

VFP es un lenguaje muy rápido en la manipulación de datos...

Saludos


Anthony Contreras Peralta

Costa Rica.

Douglas Sánchez Guillén

unread,
May 14, 2011, 12:11:46 PM5/14/11
to publice...@googlegroups.com
Un comentario.

Bueno yo diria que todas las opiniones son validas, pero yo tengo sistemas que son de 4 sucursales paso todas la informacion por la red tablas nativas de vfp es hoy en dia y nunca he tenido ese problema, para empezar el inventario son de 16 mil registro en cada sucursal,  y a veces me toca hacer consulta de las 4 sucurales, eso si estan bien optimizadas, y en caso que veo q el informe es de masiado grande no utilizo consulta mas que tablas indexada y bucles anidados. creo q eso lo contesto ya alguin, se resuleve optimizando todo. 

Con Respecto a lo que comenta Luis Maria, tambien tiene razon, yo con mi red certificada antes como grupo super rapido el inicio de la de las estaciones (encendido) ahora el logueo dilata casi 16 minutos,  y es por ello comentario anterior, parchar, no es por foxpro es por la red tu problema habria q probar con un tester si los Conectores u alguno en el switch no te estan dando agua.

saludes

--
Ing. Douglas Sánchez Guillén
      Consultor Informatico
Movistar: 505 8759 - 5342
Claro: 505 88495476

IVAN MARTINEZ

unread,
May 14, 2011, 2:23:12 PM5/14/11
to publice...@googlegroups.com
Por que no comensaste por ahí.
Bo....

Ivan

>>>-----Mensaje original-----
>>>De: publice...@googlegroups.com
>>>[mailto:publice...@googlegroups.com] En nombre de
>>>Carlos Mauricio Torres Suárez

>>>Enviado el: Sábado, 14 de Mayo de 2011 10:25 a.m.


>>>Para: Comunidad de Visual Foxpro en Español

>>>Asunto: [vfp] Re: ¿Qué Hacer?

Luis Maria Guayan

unread,
May 14, 2011, 3:57:06 PM5/14/11
to publice...@googlegroups.com
Con respecto al Login en una red con controlador de dominio Windows Server 2008, tenia una PC cliente que se tardaba minutos en iniciar sesión. El problema: A la placa de red se le configuro como servidor DNS las IPs del servidor de OpenDNS y no al servidor local de la red Windows :-(


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________


Intel Man

unread,
May 15, 2011, 9:32:03 AM5/15/11
to publice...@googlegroups.com
Hola, no necesariamente tener tablas nativas es sinonimo de lentitud.

Yo tengo sistemas con aproximadamente 30 estaciones y un servidor donde se guardan las tablas nativas y el exe es usado desde el servidor y NO en cada estacion. Varias tablas nativas superan los 500 mil registros y nada de lentitud en las consultas ni en los ingresos ni nada por el estilo, y eso que algunas estaciones son pentium 3 celeron con 128 Mb de memoria y cero lentitud :)

Saludos



From: wr...@hotmail.com
To: publice...@googlegroups.com
Subject: RE: [vfp] ¿Qué Hacer?
Date: Sat, 14 May 2011 02:48:18 +0000
Reply all
Reply to author
Forward
0 new messages