Ok, recentemente, enviei uma grande atualização para o meu projeto no meu servidor Ubuntu 14.
Até agora tem sido estável, no entanto, desde o momento em que exatamente 00:36 GMT cada dia mysql é morto !! Não é ideal, pois precisamos de tanto tempo de atividade quanto possível. Eu ampliei o log de erros para ver se eu posso pegá-lo na próxima vez.
Não relacionado a recursos, não acho ...
Eu verifiquei o seguinte:
- Recursos do servidor. Nada picos, é constante e mais do que suficiente RAM disponível ~ 200MB livre, pelo menos. Usando o Scoutapp para acompanhar isso.
- Nenhum cron está sendo executado no momento exato.
- O
key_buffer_size
foi de 16M e acabei de colocá-lo em 32MB. Mas não consigo ver nada que esteja causando isso.
Log de erros
No entanto, verifiquei os logs no momento da falha e é isso que está lá:
141123 00:36:47 mysqld_safe Number of processes running now: 0
141123 00:36:47 mysqld_safe mysqld restarted
141123 0:36:48 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
141123 0:36:48 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
141123 0:36:48 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
141123 0:36:48 [Note] Plugin 'FEDERATED' is disabled.
141123 0:36:48 InnoDB: The InnoDB memory heap is disabled
141123 0:36:48 InnoDB: Mutexes and rw_locks use GCC atomic builtins
141123 0:36:48 InnoDB: Compressed tables use zlib 1.2.8
141123 0:36:48 InnoDB: Using Linux native AIO
141123 0:36:48 InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12
141123 0:36:48 InnoDB: Completed initialization of buffer pool
141123 0:36:48 InnoDB: Fatal error: cannot allocate memory for the buffer pool
141123 0:36:48 [ERROR] Plugin 'InnoDB' init function returned error.
141123 0:36:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141123 0:36:48 [ERROR] Unknown/unsupported storage engine: InnoDB
141123 0:36:48 [ERROR] Aborting
141123 0:36:48 [Note] /usr/sbin/mysqld: Shutdown complete
141123 00:36:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Então isso significa ...?
Isso significa que o mecanismo InnoDB precisa ser configurado. Eu percebi que as variáveis my.cnf precisam ser alteradas, mas essas são apenas advertências.
Fatal error: cannot allocate memory for the buffer pool
me faz pensar que preciso definir um tamanho de buffer pool para o InnoDB, que é menor, se sim, como?
Além disso, isso não estava acontecendo antes da atualização. Mas o VPS tem apenas 512mb de RAM, o tráfego está crescendo e a complexidade do aplicativo, especialmente com a nova atualização.
O que eu não entendo é porque acontece exatamente o mesmo todos os dias. O Ubuntu executa atualizações ou há um cronograma no Ubuntu que eu deveria saber, talvez esteja usando a memória?
Obrigado
-Stefan