André P. Muga

Interfice errorem, diligere errantem

Optimizar o Core do Windows

O sistema operativo, como qualquer outro software, pode ser paginado na swap. Para prevenir esta situação, com o regedit, criar/alterar chave:

Chave: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
        Control\Session Manager\Memory Management]
Nome: DisablePagingExecutive 
Tipo: REG_DWORD (DWORD Value) 
Valor: (0 = por omissão, 1 = desactivar paginação do sistema)

Desactivar o NTFS Last Access Time Stamp

Sempre que o windows acede uma pasta ou um ficheiro, este actualiza uma propriedade que indica último acesso ao objecto em causa. Esta informação pode ser útil em caso de auditoria mas normalmente só atrasa o sistema. Para o desactivar, com o regedit, deve criar/editar a seguinte chave:

Chave: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] 
Nome: NtfsDisableLastAccessUpdate 
Tipo: REG_DWORD (DWORD Value) 
Dado: (0 = Inactivo, 1 = Activo)

Activar suporte 48-bit LBA para discos grandes

Até o windows XP, discos com tamanho maior que 137 GB não tinham, por omissão, o LBA de 48 bits activo. Para activar o mesmo, utilizar o regedit para criar/editar o registo:

Chave: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Atapi\Parameters]
Nome: EnableBigLba
Tipo: REG_DWORD (DWORD Value)
Dado: (0 = Inactivo, 1 = Activo) 

Activação do Network Adaptor Onboard Processor

Se a sua placa tiver um processador embutido, o mesmo provavelmente estará desactivado. Para o activar, utilizar o regedit e editar/criar o seguinte registo: 

Chave: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
Nome: DisableTaskOffload
Tipo: REG_DWORD (DWORD Value)
Valor: (0 = Utilzar processador NIC, 1 = Desactivar Processador NIC)

Tratamento de erros em ASP

O ASP não possui um mecanismo de try catch como as linguagens baseadas em C++. No entanto tem um mecanismo simples que podemos utilizar para tornar os nossos scripts robustos. Podemos obrigar, na ocorrência de um erro em runtime, o continuar do fluxo de execução. Basta depois verificar o objecto err para verificar se houve erro e, se sim, qual a respectiva mensagem de erro.

Ex:

function DoSomeThing()
on error resume next
'Código 
.....
  If Err.number <> 0 then 
    Response.Write "Erro:" & Err.description 
  End If
'Mais código
...
  If Err.number <> 0 then 
    Response.Write "Erro:" & Err.description 
  End If 
 
end function

Para o programador, basta verificar a existência de erros depois de cada operação crítica, como abertura de ficheiros ou acessos aos servidores de dados, e reagir conforme os códigos de erros obtidos.

APM