Ir al contenido principal
BlogLinodeLinode Cron Times

Linode Cron Times

A continuación se muestra el correo electrónico que envié a los miembros en host3 y host5. En su mayoría, esto sólo se aplica a los primeros miembros - miembros que se desplegaron antes de que tuviera la oportunidad de actualizar los sistemas de archivos de la plantilla. No estaría de más echar un vistazo a sus tiempos de cron. Eliminar, o al menos mover el tiempo de cron de updatedb de diario a semanal ayudaría.

——

Estimado miembro de Linode ,

En un esfuerzo por reducir la carga de E/S del disco en su servidor anfitrión, le pido que
ejecute el siguiente comando (como root) para su distribución:

Debian
mv /etc/cron.daily/find /etc/cron.weekly/

RedHat
mv /etc/cron.daily/slocate.cron /etc/cron.weekly/

Gentoo
mv /etc/cron.daily/slocate /etc/cron.weekly/

Mandrake:
mv /etc/cron.daily/slocate.cron /etc/cron.weekly/

Slackware
mv /etc/cron.daily/slocate /etc/cron.weekly/

Fedora
No es necesario ningún cambio

Esto hace que el trabajo "updatedb" pase de ejecutarse diariamente a ejecutarse sólo semanalmente. El comando
comando "updatedb" vuelve a indexar todo el sistema de archivos, para que pueda encontrar archivos
rápidamente usando el comando "locate (filename)". Si no utiliza a menudo el comando
comando "locate", mover la actualización del índice a la semana (o eliminar el trabajo cron
completamente) ayudará a reducir la carga durante las primeras horas de la mañana. Actualmente,
el host se ralentiza mientras muchos Linodes intentan reindexar sus
sistemas de archivos.

Esto no es un problema en los hosts más nuevos, ya que he modificado la plantilla
y la gente ha desplegado con estos archivos ya movidos.

Si haces el cambio y no se queja de archivo no encontrado (indicando
que ya ha sido movido), por favor envíeme un correo electrónico y hágamelo saber.

Gracias,
-Chris

Comentarios (3)

  1. Author Photo

    [quote:90ec82635e=”caker”]Below is the email I sent to members on host3 and host5. Mostly this only applies to early members — member’s that deployed before I had a chance to update the template filesystems. It couldn’t hurt to take a look at your cron times. Removing, or at least moving the updatedb cron time from daily to weekly would help.
    [/quote]

    I would like to add that if you do not move your daily cron jobs to weekly as mentioned, or delete them, that you at least “randomize” the times that your daily cron jobs run. This is probably the best way to solve this problem as it allows you to install services as normal and not worry about whether they put cron jobs in daily or weekly, and yet help prevent huge loads on the Linode host at specific times. To do this, simply edit your /etc/crontab file, under the # run-parts entry.

    Here is an example section from an /etc/crontab file:

    [code]
    # run-parts
    01 * * * * root run-parts /etc/cron.hourly
    02 4 * * * root run-parts /etc/cron.daily
    22 4 * * 0 root run-parts /etc/cron.weekly
    42 4 1 * * root run-parts /etc/cron.monthly
    [/code]

    These indicate that cron.hourly jobs run at 1 minute past the hour, cron.daily jobs run at 4:02 am every day, cron.weekly jobs run at 4:22 am every Monday, and cron.monthly jobs run at 4:42 am on the first day of each month.

    An example random change would be:

    [code]
    # run-parts
    16 * * * * root run-parts /etc/cron.hourly
    25 6 * * * root run-parts /etc/cron.daily
    45 6 * * 2 root run-parts /etc/cron.weekly
    55 6 3 * * root run-parts /etc/cron.monthly
    [/code]

    This moves the hourly jobs to the 16th minute of every hour, dailies to 6:25 am, weeklies to Wednesday at 6:45 am, and monthlies to 6:55 on the third day of each month.

    If we all stagger our times randomly like this, we can go a long way towards eliminating some common performance bottlenecks on Linodes.

    Thanks!

  2. Author Photo

    In addition to ‘randomising’ start times, I schedule maintenance cron jobs after hours or on weekends, 😀

  3. Author Photo

    Just a reminder that each time you upgrade the package containing the “find” utility (in Debian, it’s “findutil”), the cron job will likely be unpacked into /etc/cron.daily again, while the old cron job you have moved into /etc/cron.weekly will be left there as an orphan.

    So remember to move /etc/cron.daily/(find|slocate(.cron)?) back to /etc/cron.weekly (overwriting the orphan) after each upgrade of the parent package.

Dejar una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.