Por qué las descargas de Squid pueden superar una cuota mensual de tráfico
Entienda por qué los informes periódicos y los registros de solicitudes completadas no pueden imponer una cuota exacta de tráfico en tiempo real.
Un informe de cuota actualizado cada diez minutos puede perder mucho más de diez minutos de tráfico actual. El registro nativo de transacciones de Squid normalmente escribe la transacción completada, así que una descarga abierta o un túnel CONNECT puede que aún no haya aportado su recuento final de bytes.
Primero defina qué tráfico cuenta la cuota.
La admisión ocurre antes de la contabilidad final
Un asistente puede admitir una nueva solicitud usando una base de datos de contabilidad. Actualizar esa base más tarde no detiene automáticamente el trabajo ya admitido.
Las solicitudes concurrentes también pueden consultar el mismo saldo. Con 20 MB restantes, dos operaciones simultáneas de 15 MB podrían admitirse ambas antes de que ninguna cambie el total. Un informe preciso posterior no puede deshacer el exceso.
El almacenamiento en caché de autenticación y de ACL externas puede retrasar aún más una decisión cambiada. Un permiso en caché no es una comprobación nueva del saldo. La contabilidad por IP también puede agrupar usuarios detrás de una única fuente traducida.
Defina el límite que puede imponer
Una política mensual blanda puede permitir totales retrasados y un margen de exceso documentado. Un límite duro en tiempo real necesita un medidor autoritativo y una aplicación que pueda actuar sobre el tráfico en curso.
Decida si las transferencias admitidas terminan, se interrumpen o reservan un presupuesto. Defina cómo las operaciones concurrentes comparten ese presupuesto y cómo las operaciones fallidas liberan reservas. Una transferencia que empieza justo por debajo del límite debería tener un resultado predecible.
Incluya el cambio de periodo, los registros tardíos, los reinicios del servicio y la rotación de registros en el diseño de la contabilidad. Mantenga un progreso de procesamiento duradero; borrar un registro activo para evitar el doble recuento puede en cambio perder pruebas.