Consumo de CPU alto al actualizar UDF por DI API

Buen día expertos, estoy realizando una actualización del valor de un campo de usuario (UDF) dentro de una cotización mediante una página web, el problema que se presenta es que se dispara mucho el consumo de CPU del servidor al realizar dicha operación, y quería consultar con ustedes si la forma en la que realizo el proceso es la correcta y éste consumo de recursos es normal.

Mediante el clic de un botón mando a llamar la siguiente función:

private void ActualizarUDF(int cotizacion, string status)
{
    if (oCompany == null || !oCompany.Connected)
        this.ConectarCompany();

    oQut = oCompany.GetBusinessObject(BoObjectTypes.oQuotations);

    try
    {
        if (oQut.GetByKey(cotizacion))
        {
            oQut.UserFields.Fields.Item("U_Transferido").Value = status;

            if (oQut.Update() != 0)
            {
                error = "Error al actualizar UDF: " + oCompany.GetLastErrorDescription();
                ShowMessage(error, MessageType.Error);
            }
            else
                ShowMessage("UDF actualizado con éxito", MessageType.Success);
        }
    }
    catch (Exception ex)
    {
        error = "Error en función ActualizarUDF(): " + ex.Message;
        ShowMessage(error, MessageType.Error);
    }
    finally
    {
        if (oCompany.Connected)
            oCompany.Disconnect();

        if (oQut != null)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oQut);

        oQut = null;
        GC.Collect();
    }
}

Entiendo que es un proceso bastante sencillo, es sólo un campo al que se le cambia su texto, pero al ejecutarlo se detectan estos incrementos en el consumo de CPU:

Pasa de un 2-3 % hasta un 32% el uso del CPU, en la memoria no hay ningun cambio. Estoy haciendo algo mal? O es lo normal?

Cabe aclarar que se distinguen 8 picos de consumo, debido a que realicé 8 operaciones, 4 de ellas en una BD de pruebas, y 4 más en la BD productiva. Luego de éstos picos de menos de un segundo, el consumo de CPU vuelve a su estado regular de 2-3 %.

Agradezco de antemano su tiempo y apoyo en este asunto. Saludos cordiales.

haz lo mismo pero con la pestaña Process, checa que proceso es el que usa el cpu, pero parece normal… ya que se ve que es una virtualización. es un Procesador de 10 nucleos a los cuales asignaste 2 en la maquina virtual. imagino que los 8 estan para el proceso en Linux si usas. pero se ve normal, ya que no se cuelga.

1 me gusta

Buen día, si al revisar en la pestaña de Procesos, sólo hay uno que aparece un segundo y luego se suprime, no se queda abierto.

Gracias por las observaciones, quería estar seguro que fuera el método correcto y no provocara un consumo alto de recursos. Muchas gracias y un saludo.

1 me gusta