{"id":2937,"date":"2014-09-07T16:23:07","date_gmt":"2014-09-07T16:23:07","guid":{"rendered":"http:\/\/www.deuzebranaweb.com.br\/?p=2937"},"modified":"2014-09-07T16:23:07","modified_gmt":"2014-09-07T16:23:07","slug":"melhorando-o-desempenho-em-wordpress-passando-de-myisam-para-innodb","status":"publish","type":"post","link":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/2014\/09\/07\/melhorando-o-desempenho-em-wordpress-passando-de-myisam-para-innodb\/","title":{"rendered":"Melhorando o desempenho em WordPress passando de MyISAM para InnoDB"},"content":{"rendered":"<section class=\"entry-content clearfix\">Recentemente eu estava lidando com alguns problemas de bloqueio em bancos de dados de suporte WordPress. Para aqueles que n\u00e3o sabem ainda o WordPress \u00e9 uma ferramenta muito legal open source para f\u00e1cil blogging.Esta ferramenta \u00e9 muito f\u00e1cil de instalar (basta arrastar e soltar em seu diret\u00f3rio home) e torn\u00e1-lo realmente f\u00e1cil para voc\u00ea se levantar e correr.Como parte desta instala\u00e7\u00e3o f\u00e1cil, existem algumas coisas que n\u00e3o s\u00e3o as melhores pr\u00e1ticas para o bom desempenho e locais escal\u00e1veis. Estas limita\u00e7\u00f5es est\u00e3o relacionadas com o uso de MyISAM como um mecanismo de armazenamento. Este motor foi durante muitos anos o mecanismo de armazenamento padr\u00e3o no MySQL. Isso mudou, felizmente, com 5,5, mas em instala\u00e7\u00f5es anteriores MyISAM vai estar l\u00e1 para o uso.Mecanismo de armazenamento MyISAM \u00e9 realmente bom em recupera\u00e7\u00e3o de dados, mas:<br \/>\n&#8211; ele n\u00e3o suporta concorr\u00eancia<br \/>\n&#8211; todas as opera\u00e7\u00f5es provoca bloqueio em n\u00edvel de tabela (isso n\u00e3o \u00e9 inteiramente verdade, mas na maior parte)<br \/>\n&#8211; n\u00e3o \u00e9 falhar-seguro (voc\u00ea vai odi\u00e1-lo durante um acidente)<br \/>\n<span id=\"more-23117\"><\/span><br \/>\nVamos nos concentrar nas primeiras duas coisas.O que poderia acontecer se voc\u00ea tem um site muito visitado? Simplesmente, com a degrada\u00e7\u00e3o da tabela normal (dados e fragmenta\u00e7\u00e3o do \u00edndice) o seu site vai se tornar muito lento para responder. Confie em mim, eu j\u00e1 vi essa situa\u00e7\u00e3o, especialmente durante seu pico de uso quando a concorr\u00eancia \u00e9 fundamental.<\/p>\n<p>Mas (e h\u00e1 sempre um mas), h\u00e1 uma boa not\u00edcia para aqueles que t\u00eam esses problemas com o bloqueio durante a p\u00f3s ou consult\u00e1-los: WordPress suporta InnoDB!<\/p>\n<p>O que isto significa? Bem, InnoDB \u00e9 o mecanismo de armazenamento do MySQL utilizado em alta concorr\u00eancia, alta estabilidade e cen\u00e1rios de alto desempenho.<\/p>\n<p>Ok, ent\u00e3o agora voc\u00ea est\u00e1 pensando em como voc\u00ea pode fazer isso em seu ambiente? Vamos tentar algumas abordagens diferentes:<\/p>\n<p>1- Se voc\u00ea j\u00e1 instalou o WordPress s\u00e3o dois os scripts f\u00e1ceis para obter a lista de comando para realizar mudan\u00e7as apropriadas e fazer essas mudan\u00e7as (gra\u00e7as 619cloud !!):<\/p>\n<p>mysql -uuser -p -e &#8220;show tables in db_name;&#8221; | tail &#8211;lines=+2 | xargs -i echo &#8220;ALTER TABLE {} ENGINE=INNODB;&#8221; &gt; alter_table.sql<\/p>\n<p>mysql -uuser -p nome_db &lt;alter_table.sql<\/p>\n<p>2-Se voc\u00ea n\u00e3o tem o WordPress instalado ainda, ent\u00e3o voc\u00ea tem duas op\u00e7\u00f5es poss\u00edveis para fazer antes de iniciar a instala\u00e7\u00e3o:<br \/>\na- Para aqueles de voc\u00eas que est\u00e3o se sentindo pregui\u00e7oso, definir o mecanismo de armazenamento padr\u00e3o, adicionando a linha abaixo para my.cnf arquivo e Reinicie o MySQL:<\/p>\n<p>default-storage-engine=innodb.<\/p>\n<p>A partir deste ponto, todas as novas tabelas ser\u00e3o InnoDB, exceto que voc\u00ea definir o mecanismo de armazenamento em seu DDL.<\/p>\n<p>b-Para aqueles de voc\u00eas que querem fazer trabalho extra para si mesmos e n\u00e3o querem mudar o seu ambiente, voc\u00ea pode modificar os arquivos de instala\u00e7\u00e3o que criar e modificar o esquema utilizado pelo WordPress. Como voc\u00ea pode fazer isso? F\u00e1cil. Vamos dar uma caminhada neste pequeno como.<\/p>\n<p>Execute este comando shell dentro da pasta WordPress:<\/p>\n<p><code>find *.php | xargs -n1 sed -i -e 's\/) ENGINE=InnoDB $charset_collate;\/) ENGINE=innodb $charset_collate;\/g'<br \/>\n<\/code><br \/>\nIsso vai mudar todos os arquivos que possuem comandos DDL para usar ENGINE = InnoDB durante mesa cria\u00e7\u00e3o.<\/p>\n<p>A partir de agora, cada vez que voc\u00ea instalar uma nova inst\u00e2ncia do WordPress, voc\u00ea ter\u00e1 uma escal\u00e1vel, de alto desempenho e aplica\u00e7\u00e3o simult\u00e2nea do usu\u00e1rio.<\/p>\n<\/section>\n<h3 id=\"comments\" class=\"h2\">Uma resposta para &#8220;melhorar o desempenho em WordPress passando de MyISAM para InnoDB&#8221;<\/h3>\n<p>&nbsp;<\/p>\n<p>http:\/\/www.pythian.com\/blog\/enhancing-performance-in-wordpress-by-moving-from-myisam-to-innodb\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recentemente eu estava lidando com alguns problemas de bloqueio em bancos de dados de suporte WordPress. Para aqueles que n\u00e3o sabem ainda o WordPress \u00e9 uma ferramenta muito legal open source para f\u00e1cil blogging.Esta ferramenta \u00e9 muito f\u00e1cil de instalar (basta arrastar e soltar em&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_angie_page":false,"page_builder":"","footnotes":""},"categories":[13,7],"tags":[],"class_list":["post-2937","post","type-post","status-publish","format-standard","hentry","category-msql","category-wordpress"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=2937"}],"version-history":[{"count":0,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2937\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.deuzebranaweb.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}