synology e vmware com mpio lento de 4 vias com velocidades iscsi
<p>estou tentando alcançar altas velocidades iscsi entre minha caixa esx e o nas de sinologia. espero alcançar uma velocidade máxima de 300-400 mb/s. mas até agora tudo o que alcancei é 150 - 170 mb/s.</p><p>o principal teste que estou usando é criar um disco virtual de 20 gb, think eager zeroed, no armazenamento de dados iscsi ssd. (e variações disso.)</p><p>algumas perguntas:</p><ol> <li>estou assumindo que a criação deste disco seria gravação sequencial?</li> <li>a synology nunca passa em 30%/40% do uso da cpu, e a memória é quase usada. estou assumindo que o synology é capaz de escrever nessas velocidades em um ssd, certo?</li> <li>além disso, o esx consegue maximizar a largura de banda disponível ao criar um disco virtual sobre iscsi?</li> <li>se estiver usando uma ferramenta de benchmark, o que você recomendaria e como posso ter certeza de que não terei o gargalo no lado do envio de dados? posso instalar esta ferramenta em um vm no armazenamento de dados ssd e executá-la "contra ela mesma"?</li> </ol><p>esta é a minha configuração.</p><p>eu tenho um synology 1513+ com os seguintes discos e configurações:</p><ol> <li>3 discos wd de 4 tb (não utilizados)</li> <li>1 samsung evo 860. (1 volume, sem invasão)</li> <li>1 samsung 256gb sata iii 3d nand. (1 volume, sem invasão)</li> <li>2 destinos iscsi, um por ssd. (total de 8 iniciadores iscsi vmware conectados)</li> </ol><p>configuração de rede:</p><ol> <li> <p>ligação synology 4000 mbps. mtu 1500, full duplex.</p> </li> <li> <p>agregação de link dinâmico synology 802.3ad lacp.</p> </li> <li> <p>cisco sg350 com agregação de link configurada para as 4 portas synology.</p> </li> <li> <p>a rede de armazenamento e iscsi é fisicamente separada da rede principal.</p> </li> <li> <p>cabos cat 6.</p> </li> </ol><p>vsphere:</p><ol> <li>poweredge r610 (xeon e5620 a 2,40ghz, memória de 64 gb)</li> <li>broadcom netxtreme ii bcm5709 1000base-t (8 nics)</li> <li>vsphere 5.5.0 1623387</li> </ol><p>configuração do vsphere:</p><ol> <li>4 vswitch, 1 nic cada um para o iscsi.mtu 1500. full duplex.</li> <li>iniciador de software iscsi com os 4 switches vmkernel no grupo de portas, todos os status de conformidade e caminho ativos.</li> <li>2 destinos iscsi com 4 caminhos mpio cada. todos ativos e round robin</li> </ol><p>então, basicamente, 4 cabos do nas vão para o cisco lag e 4 iscsi do esx vão para as portas regulares do switch).</p><p>testes e configurações que realizei:</p><ol> <li>configurando o mtu para 9000 em todos os vmswitches, vmkernel, sinologia e cisco. eu também tentei outros valores como 2000 e 4000.</li> <li>criação de 1 (e 2, 3 simultâneos) discos virtuais em 1/2 destinos iscsi para maximizar a carga de trabalho.</li> <li>cabeçalho e resumo dos dados desativados/ativados, confirmação atrasada.</li> </ol><p>perdi a conta de todas as coisas que tentei. não tenho certeza de onde está meu gargalo ou o que eu configurei de maneira errada. anexei algumas capturas de tela.</p><p>qualquer ajuda seria muito apreciada!</p><p> <a href="https://i.stack.imgur.com/pfhpw.png">caminhos iscsi no esx</a> </p><p> <a href="https://i.stack.imgur.com/x9i6y.png">configuração de rede no esx</a> </p><p> <a href="https://i.stack.imgur.com/7vgt3.png">exemplo da configuração do vmkernel</a> </p><p> <a href="https://i.stack.imgur.com/8zbpb.png">configuração de rede do iniciativa iscsi</a> </p><p> <a href="https://i.stack.imgur.com/dt6vf.png">configuração 1 do cisco lag</a> </p><p> <a href="https://i.stack.imgur.com/afzlt.png">configuração 2 do cisco lag</a> </p>
<ol> <li>pode ser acelerado com o primitivo vaai zero (não sei exatamente na sua versão desatualizada do vsphere). mas é uma gravação sequencial de qualquer maneira. também depende de como você criou seu destino iscsi. os dsm-s mais recentes, por padrão, criam luns avançados criados na parte superior nos sistemas de arquivos. as versões mais antigas, por padrão, usavam discos lvm diretamente e tiveram um desempenho muito pior.</li> <li>~ 400 mb/s deve ser possível</li> <li>400mb/s não é um problema, se o destino puder fornecer o io</li> <li>se você estiver olhando para uma taxa de transferência sequencial pura, o dd no lado do linux ou o crystaldiskmark simples no windows funcionará.</li> </ol><p>lags e iscsi geralmente não se misturam. desative a ligação no synology e configure como interfaces separadas. ative o iscsi com vários iniciadores no synology. infelizmente não tenho uma synology em mãos para obter instruções exatas.</p><p>configure o vsphere assim.</p><ul> <li>iniciador do vsphere -&gt; ip/porta de destino da synology 1</li> <li>iniciador do vsphere -&gt; ip/porta de destino 2 da synology</li> <li>iniciador do vsphere -&gt; ip/porta de destino synology 3</li> <li>iniciador do vsphere -&gt; ip/porta de destino da synology 4</li> </ul><p>desabilite caminhos desnecessários (mantenha um ip de origem do vsphere em um synology ip), o vsphere suporta (não imposto) apenas 8 caminhos por destino no iscsi. não me lembro se você pode limitar o acesso ao destino por fonte no lado da synology, provavelmente não. além disso, você já possui caminhos suficientes para garantir a confiabilidade e mais nada ajudará, pois provavelmente a largura de banda é limitada.</p><p>altere a política para um valor mais baixo, consulte aqui <a href="https://kb.vmware.com/s/article/2069356">https://kb.vmware.com/s/article/2069356</a> caso contrário, 1000 iops seguirão um caminho até que ocorra a alteração do caminho.</p><p>continue usando quadros jumbo. são cerca de 5% de vitória somente na largura de banda e no gigabit, você pode facilmente ficar sem largura de banda.</p>
olá [@wallacy dellatesta](/usuarios/50318/wallacy-dellatesta/) veja se essa matéria pode te ajudar, eu estava com uma dúvida parecida:<http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2016/02/usar-ssd-e-hd-ao-mesmo-tempo-deixa-o-pc-mais-rapido-veja-dicas.html> <p>se você está procurando um bom artigo, recomendo</p><p> <a href="http://icrontic.com/articles/how\_ssds\_work/2">como e por que os ssds</a> por robert hallock</p><p>vinculei a página 2, que contém a parte que discute o cluster e o tamanho do bloco.</p><blockquote> <p>[...] a solução para o problema é aumentar o tamanho do cluster, para o qual existem várias vantagens:</p> <ul> <li>complexidade reduzida do sistema de arquivos; menos clusters significa menos para organizar.</li> <li>maior velocidade de leitura e gravação à medida que o tamanho do cluster se aproxima da paridade com o tamanho do bloco.</li> <li>diminuição do espaço livre se o sistema for composto principalmente de arquivos grandes.</li> </ul> <p>no entanto, o aumento do tamanho do cluster não é um item mágico para os discos de estado sólido, pois a maioria das pessoas tem uma mistura de informações. os jogos geralmente contêm uma infinidade de arquivos pequenos e os sistemas operacionais são a soma de arquivos pequenos quase como regra; no entanto, filmes, músicas, arquivos e mmos são candidatos perfeitos para tamanhos de cluster ampliados. mais frustrante do que a âncora de pequenos clusters é o processo complicado de obter clusters maiores nos modernos sistemas operacionais windows. tal feito requer o uso premeditado de programas como o acronis disk director, que podem aumentar o tamanho do cluster antes da instalação do windows. também é possível redimensionar os clusters existentes, mas esse procedimento é realizado com um grau assustadoramente variado de sucesso.</p> </blockquote> se você queria dizer hd externo ligado a porta usb-3, originalmente não é suportado e mesmo assim discos externos usb são bem mais lentos.


se o disco interno de 500 gb está cheio, muitos já trocaram por um disco maior.


veja no video como trocar por um ssd, mas qualquer disco de 2,5" pode ser usado:  
<https://www.youtube.com/watch?v=3qjuoi6hgvs> <p>a idéia aqui é que a maioria de nós já <em> já </em> saiba <em> a maioria </em> do que está nesta lista. mas pode haver apenas um ou dois itens que você realmente não analisou antes, que não entende completamente, ou talvez nunca tenha ouvido falar.</p><p><strong> interface e experiência do usuário </strong></p><ul> <li>esteja ciente de que os navegadores implementam os padrões de maneira inconsistente e verifique se o site funciona razoavelmente bem em todos os principais navegadores. em um teste mínimo com relação a um <a href="https://en.wikipedia.org/wiki/gecko\_%28layout\_engine%29">gecko</a> engine recente ( <a href="http://firefox.com/">firefox</a> ), um mecanismo webkit ( <a href="http://www.apple.com/safari/">safari</a> e alguns navegadores móveis) , <a href="http://www.google.com/chrome">chrome</a> , seus navegadores <a href="https://en.wikipedia.org/wiki/internet\_explorer">ie suportados</a> (aproveite as <a href="http://www.microsoft.com/downloads/details.aspx?familyid=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;displaylang=en">imagens vpc de compatibilidade de aplicativos</a> ) e <a href="http://www.opera.com/">opera</a> . considere também como <a href="http://www.browsershots.org">browsers processam seu site</a> / em diferentes sistemas operacionais.</li> <li>considere como as pessoas podem usar o site que não seja dos principais navegadores: telefones celulares, leitores de tela e mecanismos de pesquisa, por exemplo. - algumas informações de acessibilidade: <a href="http://www.w3.org/wai/"> wai </a> e <a href="http://www.section508.gov/">section508</a> , desenvolvimento móvel: <a href="http://mobiforge.com/">mobiforge</a> .</li> <li>preparo: como implantar atualizações sem afetar seus usuários. tenha um ou mais ambientes de teste ou teste disponíveis para implementar alterações na arquitetura, no código ou no conteúdo abrangente e garantir que eles possam ser implantados de maneira controlada sem quebrar nada. tenha uma maneira automatizada de implantar alterações aprovadas no site ativo. isso é implementado de maneira mais eficaz em conjunto com o uso de um sistema de controle de versão (git, subversion, etc.) e um mecanismo de compilação automatizado (ant, nant, etc.).</li> <li>não exiba erros hostis diretamente para o usuário.</li> <li>não coloque os endereços de email dos usuários em texto sem formatação, pois eles receberão spam até a morte.</li> <li>adicione o atributo \_<code>rel="nofollow"</code>\_ aos links gerados pelo usuário <a href="https://en.wikipedia.org/wiki/nofollow">para evitar spam</a> .</li> <li> <a href="http://www.codinghorror.com/blog/archives/001228.html">crie limites bem considerados no seu site</a> - isso também pertence a segurança.</li> <li>aprenda a fazer <a href="https://en.wikipedia.org/wiki/progressive\_enhancement">aprimoramento progressivo</a> .</li> <li> <a href="https://en.wikipedia.org/wiki/post/redirect/get">redirecione após um post</a> se esse post foi bem-sucedido, para impedir que uma atualização seja enviada novamente.</li> <li>não se esqueça de levar em consideração a acessibilidade. é sempre uma boa ideia e, em determinadas circunstâncias, é um <a href="http://www.section508.gov/">requisito legal</a> . <a href="http://www.w3.org/wai/intro/aria">wai-aria</a> e <a href="http://www.w3.org/tr/wcag20/">wcag 2</a> são bons recursos nessa área.</li> <li>leia <a href="http://www.sensible.com/dmmt.html">não me faça pensar</a> .</li> </ul><p><strong> segurança </strong></p><ul> <li>é muito difícil de digerir, mas o guia de desenvolvimento <a href="http://www.owasp.org/index.php/category:owasp\_guide\_project">owasp</a> cobre a segurança do site de cima para baixo.</li> <li>saiba mais sobre a injeção, especialmente <a href="https://en.wikipedia.org/wiki/sql\_injection">sql injection</a> e como evitá-la.</li> <li>nunca confie na entrada do usuário, nem em qualquer outra coisa que esteja presente na solicitação (que inclui cookies e valores ocultos do campo do formulário!).</li> <li>hash senhas usando <a href="https://security.stackexchange.com/q/21263/396">salt</a> / e use sais diferentes para suas linhas para evitar ataques do rainbow. use um algoritmo de hash lento, como bcrypt (tempo testado) ou scrypt (ainda mais forte, mas mais recente) ( <a href="http://www.tarsnap.com/scrypt.html">1</a> , <a href="http://it.slashdot.org/comments.pl?sid=1987632&amp;cid=35149842">2</a> ), para armazenar senhas. ( <a href="http://codahale.com/how-to-safely-store-a-password/">como armazenar com segurança uma senha</a> ). o <a href="https://security.stackexchange.com/q/7689/396">nist também aprova o pbkdf2 para senhas de hash</a> "e é <a href="https://security.stackexchange.com/a/2136/396">fips aprovado no .net</a> (mais informações <a href="https://security.stackexchange.com/questions/211/how-to-securely-hash-passwords">aqui</a> ) . <em> evite </em> usar md5 ou a família sha diretamente.</li> <li> <a href="https://stackoverflow.com/questions/1581610/how-can-i-store-my-users-passwords-safely/1581919#1581919">não tente criar seu próprio sistema de autenticação sofisticado</a> . é uma coisa tão fácil cometer erros de maneiras sutis e não testáveis ​​e você nem saberia até <em> depois de </em> ser invadido.</li> <li>conheça as <a href="https://www.pcisecuritystandards.org/">regras para o processamento de cartões de crédito</a> . ( <a href="https://stackoverflow.com/questions/51094/payment-processors-what-do-i-need-to-know-if-i-want-to-accept-credit-cards-on-m">veja também esta pergunta</a> )</li> <li>use <a href="http://www.mozilla.org/projects/security/pki/nss/ssl/draft302.txt">ssl/tls</a> / <a href="https://en.wikipedia.org/wiki/session\_hijacking#prevention"> https </a> para sites em que dados confidenciais são inseridos (como credenciais, informações de identificação pessoal, informações do cartão de crédito). <a href="https://letsencrypt.org">let's encrypt</a> é uma autoridade de certificação gratuita que pode ajudar.</li> <li> <a href="https://en.wikipedia.org/wiki/session\_hijacking#prevention">impedir o seqüestro de sessão</a> .</li> <li>evite <a href="https://en.wikipedia.org/wiki/cross-site\_scripting">scripts entre sites</a> (xss).</li> <li>evite <a href="https://en.wikipedia.org/wiki/cross-site\_request\_forgery">falsificações de solicitação entre sites</a> (csrf).</li> <li>evite <a href="https://en.wikipedia.org/wiki/clickjacking">clickjacking</a> .</li> <li>mantenha seu (s) sistema (s) atualizado (s) com as últimas correções.</li> <li>verifique se as informações de conexão do banco de dados estão protegidas.</li> <li>mantenha-se informado sobre as mais recentes técnicas de ataque e vulnerabilidades que afetam sua plataforma.</li> <li>leia <a href="https://code.google.com/archive/p/browsersec/">manual de segurança do navegador google</a> .</li> <li>leia <a href="https://rads.stackoverflow.com/amzn/click/com/0470170778">manual do hacker de aplicativos da web</a> .</li> <li>considere <a href="https://en.wikipedia.org/wiki/principle\_of\_least\_privilege">o princípio do menor privilégio</a> . tente executar o servidor de aplicativos <a href="https://security.stackexchange.com/questions/47576/do-simple-linux-servers-really-need-a-non-root-user-for-security-reasons">como não raiz</a> . ( <a href="http://tomcat.apache.org/tomcat-8.0-doc/security-howto.html#non-tomcat\_settings">exemplo do tomcat</a> )</li> <li>coloque \_<code>rel="noopener noreferrer"</code>\_ em todos os links fornecidos pelo usuário com \_<code>target="\_blank"</code>\_ para impedir que o javascript na página de destino redirecione sua página para outro lugar, como uma página de login falsa. <a href="https://dev.to/phishing">mais informações</a> </li> <li>considere usar uma <a href="https://csp.withgoogle.com/docs/index.html">política de segurança de conteúdo estrita</a> .</li> </ul><p><strong> desempenho </strong></p><ul> <li>implemente o cache, se necessário, entenda e use <a href="http://www.mnot.net/cache\_docs/">http caching</a> corretamente, bem como <a href="http://www.w3.org/tr/2011/wd-html5-20110525/offline.html">html5 manifest</a> .</li> <li>otimizar imagens - não use uma imagem de 20 kb para um fundo repetitivo.</li> <li>compactar conteúdo para velocidade, consulte <a href="https://www.smashingmagazine.com/2016/10/next-generation-server-compression-with-brotli/">brotli</a> , <a href="http://developer.yahoo.com/performance/rules.html#gzip">gzip/deflate</a> (<strike> <a href="https://stackoverflow.com/questions/1574168/gzip-vs-deflate-zlib-revisited">deflate é melhor</a> </strike>).</li> <li>combine/concatene várias folhas de estilo ou vários arquivos de script para reduzir o número de conexões do navegador e melhorar a capacidade do gzip para compactar duplicações entre arquivos.</li> <li>dê uma olhada no site <a href="http://developer.yahoo.com/performance/">yahoo exceptional performance</a> , muitas ótimas diretrizes, incluindo a melhoria do desempenho do front-end e sua <a href="http://developer.yahoo.com/yslow/">yslow</a> ferramenta (requer firefox, safari, chrome ou opera). além disso, <a href="https://developers.google.com/speed/docs/best-practices/rules\_intro">velocidade da página do google</a> (use com <a href="https://developers.google.com/speed/pagespeed/insights\_extensions">extensão do navegador</a> ) é outra ferramenta para criação de perfil de desempenho e otimiza suas imagens também.</li> <li><strike>use <a href="http://alistapart.com/articles/sprites">css image sprites</a> para imagens relacionadas pequenas, como barras de ferramentas (consulte o ponto "minimizar solicitações http")</strike></li> <li>use <a href="https://24ways.org/2014/an-overview-of-svg-sprite-creation-techniques/">sprites de imagem svg</a> para pequenas imagens relacionadas, como barras de ferramentas. a coloração svg é um pouco complicada. você pode ler sobre isso <a href="http://tympanus.net/codrops/2015/07/16/styling-svg-use-content-css/">aqui</a> .</li> <li>sites ocupados devem considerar <a href="http://developer.yahoo.com/performance/rules.html#split">dividir componentes entre domínios</a> . especificamente...</li> <li>o conteúdo estático (ou seja, imagens, css, javascript e, geralmente, o conteúdo que não precisa de acesso a cookies) deve ir em um domínio separado <em> <a href="http://blog.stackoverflow.com/2009/08/a-few-speed-improvements/">que não usa cookies</a> </em>, porque todos os cookies de um domínio e seus subdomínios são enviados com todas as solicitações para o domínio e seus subdomínios. uma boa opção aqui é usar uma rede de entrega de conteúdo (cdn), mas considere o caso em que essa cdn pode falhar incluindo cdns alternativas ou cópias locais que podem ser veiculadas.</li> <li>minimize o número total de solicitações http necessárias para um navegador renderizar a página.</li> <li>escolha um <a href="http://garann.github.io/template-chooser/">template engine</a> e renderize/pré-compile usando os executores de tarefas como gulp ou grunt</li> <li>verifique se há um arquivo \_<code>favicon.ico</code>\_ na raiz do site, ou seja, \_<code>/favicon.ico</code>\_. <a href="http://mathiasbynens.be/notes/rel-shortcut-icon">os navegadores solicitarão automaticamente</a> , mesmo que o ícone não seja mencionado no html. se você não tiver um \_<code>/favicon.ico</code>\_, isso resultará em muitos 404s, consumindo a largura de banda do servidor.</li> </ul><p><strong> seo (otimização de mecanismos de pesquisa) </strong></p><ul> <li>use urls "compatíveis com o mecanismo de pesquisa", ou seja, use \_<code>example.com/pages/45-article-title</code>\_ em vez de \_<code>example.com/index.php?page=45</code>\_</li> <li>ao usar \_<code>#</code>\_ para conteúdo dinâmico, altere \_<code>#</code>\_ para \_<code>#!</code>\_ e, em seguida, no servidor \_<code>$\_request["\_escaped\_fragment\_"]</code>\_, é o que o googlebot usa em vez de \_<code>#!</code>\_. em outras palavras, \_<code>./#!page=1</code>\_ se torna \_<code>./?\_escaped\_fragments\_=page=1</code>\_. além disso, para usuários que possam estar usando o ff.b4 ou o chromium, <code>history.pushstate({"foo":"bar"}, "about", "./?page=1");</code> é um ótimo comando. portanto, mesmo que a barra de endereço tenha mudado, a página não é recarregada. isso permite que você use \_<code>?</code>\_ em vez de \_<code>#!</code>\_ para manter o conteúdo dinâmico e também informar ao servidor quando você enviar por e-mail o link que estamos após esta página, e o ajax não precisa para fazer outro pedido extra.</li> <li>não use links que digam <a href="https://ux.stackexchange.com/questions/12100/why-shouldnt-we-use-the-word-here-in-a-textlink">"clique aqui"</a> . você está desperdiçando uma oportunidade de seo e isso torna as coisas mais difíceis para as pessoas com leitores de tela.</li> <li>tenha um <a href="http://www.sitemaps.org/">xml sitemap</a> , de preferência no local padrão \_<code>/sitemap.xml</code>\_.</li> <li>use <a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">\_<code>&lt;link rel="canonical" ... /&gt;</code>\_</a> quando você tiver vários urls que apontam para o mesmo conteúdo, esse problema também pode ser solucionado em <a href="http://www.google.com/webmasters/">ferramentas do google para webmasters</a> .</li> <li>use <a href="http://www.google.com/webmasters/">ferramentas para webmasters do google</a> e <a href="http://www.bing.com/toolbox/webmaster">ferramentas para webmasters do bing</a> .</li> <li>instale <a href="http://www.google.com/analytics/">google analytics</a> logo no início (ou uma ferramenta de análise de código aberto como <a href="http://piwik.org/">piwik</a> /).</li> <li>saiba como <a href="https://en.wikipedia.org/wiki/robots\_exclusion\_standard">robots.txt</a> e as aranhas dos mecanismos de pesquisa funcionam.</li> <li>redirecione solicitações (usando \_<code>301 moved permanently</code>\_) solicitando \_<code>www.example.com</code>\_ para \_<code>example.com</code>\_ (ou o contrário) para impedir a divisão da classificação do google entre os dois sites.</li> <li>saiba que pode haver aranhas mal comportadas por aí.</li> <li>se você tiver conteúdo não textual, procure as extensões de mapa do site do google para vídeos, etc. há algumas informações boas sobre isso em <a href="https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site#167608">tim farley's answer</a> .</li> </ul><p><strong> tecnologia </strong></p><ul> <li>entenda <a href="http://www.ietf.org/rfc/rfc2616.txt"> http </a> e coisas como get, post, sessões, cookies e o que significa ser "sem estado".</li> <li>escreva seu <a href="http://www.w3.org/tr/xhtml1/"> xhtml </a> / <a href="http://www.w3.org/tr/rec-html40/"> html </a> e <a href="http://www.w3.org/tr/css2/"> css </a> de acordo com as especificações <a href="http://www.w3.org/tr/">w3c</a> e certifique-se de que eles <a href="http://validator.w3.org/">validam</a> /. o objetivo aqui é evitar os modos peculiares do navegador e, como bônus, facilitar o trabalho com navegadores não tradicionais, como leitores de tela e dispositivos móveis.</li> <li>entenda como o javascript é processado no navegador.</li> <li>entenda como o javascript, as folhas de estilo e outros recursos usados ​​por sua página são carregados e considere seu impacto no <em> desempenho percebido </em>. agora, é amplamente considerado adequado <a href="https://developer.yahoo.com/blogs/ydn/high-performance-sites-rule-6-move-scripts-bottom-7200.html">mover scripts para o final das páginas</a> das suas páginas, com exceções que normalmente são coisas como aplicativos de análise ou shims html5.</li> <li>entenda como a sandbox javascript funciona, especialmente se você pretende usar iframes.</li> <li>esteja ciente de que o javascript pode e será desativado e que ajax é, portanto, uma extensão, não uma linha de base. mesmo que a maioria dos usuários o deixe ligado agora, lembre-se de que <a href="http://noscript.net/">noscript</a> está se tornando mais popular. embora os robôs de rastreamento modernos suportem a indexação de conteúdo gerado por javascript, considere usar a renderização no servidor para outros robôs ou usuários que desativaram o javascript.</li> <li>aprenda a diferença <a href="http://www.bigoakinc.com/blog/when-to-use-a-301-vs-302-redirect/">entre os redirecionamentos 301 e 302</a> (esse também é um problema de seo).</li> <li>aprenda o máximo possível sobre sua plataforma de implantação.</li> <li>considere usar uma <a href="https://stackoverflow.com/questions/11578819/css-reset-what-exactly-does-it-do">redefinir folha de estilos</a> ou <a href="http://necolas.github.com/normalize.css/">normalize.css</a> .</li> <li>considere estruturas javascript (como <a href="http://jquery.com/">jquery</a> , <a href="http://mootools.net/">mootools</a> , <a href="http://www.prototypejs.org/">prototype</a> , <a href="http://dojotoolkit.org">dojo</a> ou <a href="http://developer.yahoo.com/yui/3/">yui 3</a> ), que ocultará muitas diferenças do navegador ao usar javascript para manipulação de dom.</li> <li>reunindo o desempenho percebido e as estruturas js, considere usar um serviço como a <a href="http://developers.google.com/speed/libraries/devguide">api das bibliotecas do google</a> para carregar estruturas para que um navegador possa usar uma cópia da estrutura que ele já armazenou em cache, em vez de fazer o download de uma cópia duplicada. copiar do seu site.</li> <li>não reinvente a roda. antes de fazer qualquer coisa, procure um componente ou exemplo de como fazê-lo. há 99% de chance de alguém ter feito isso e lançado uma versão oss do código.</li> <li>por outro lado, não comece com 20 bibliotecas antes mesmo de decidir quais são suas necessidades. particularmente na web do lado do cliente, onde quase sempre é mais importante manter as coisas leves, rápidas e flexíveis.</li> </ul><p><strong> correção de erros </strong></p><ul> <li>entenda que você gastará 20% do seu tempo codificando e 80% dele mantendo, portanto, codifique de acordo.</li> <li>configure uma boa solução de relatório de erros.</li> <li>tenha um sistema para as pessoas entrarem em contato com você com sugestões e críticas.</li> <li>documente como o aplicativo funciona para futuras equipes de suporte e pessoas que realizam manutenção.</li> <li>faça backups frequentes! (e verifique se esses backups estão funcionando) tenha uma estratégia de restauração, não apenas uma estratégia de backup.</li> <li>use um sistema de controle de versão para armazenar seus arquivos, como <a href="http://subversion.apache.org/">subversion</a> , <a href="http://mercurial.selenic.com/">mercurial</a> ou <a href="http://git-scm.org">git</a> .</li> <li>não se esqueça de fazer seu teste de aceitação. estruturas como <a href="http://seleniumhq.org/">selenium</a> podem ajudar. especialmente se você automatizar completamente seus testes, talvez usando uma ferramenta de integração contínua, como <a href="http://jenkins-ci.org/">jenkins</a> .</li> <li>verifique se você possui log suficiente usando estruturas como <a href="http://logging.apache.org/log4j/">log4j</a> , <a href="http://logging.apache.org/log4net/">log4net</a> ou <a href="http://log4r.rubyforge.org/">log4r</a> . se algo der errado no seu site ao vivo, você precisará descobrir como.</li> <li>ao fazer o log, certifique-se de capturar as exceções tratadas e não tratadas. relate/analise a saída do log, pois mostrará onde estão os principais problemas em seu site.</li> </ul><p><strong> outros </strong></p><ul> <li>implemente monitoramento e análise do lado do servidor e do cliente (um deve ser proativo em vez de reativo).</li> <li>use serviços como uservoice e intercom (ou qualquer outra ferramenta similar) para manter contato constante com seus usuários.</li> <li>siga <a href="http://nvie.com/about/">vincent driessen</a> 's <a href="http://nvie.com/posts/a-successful-git-branching-model/">git branching model</a> </li> </ul><p>muitas coisas foram omitidas não necessariamente porque não são respostas úteis, mas porque são muito detalhadas, estão fora do escopo ou vão um pouco longe demais para alguém que deseja obter uma visão geral do que deve saber. sinta-se à vontade para editar isso também, provavelmente perdi algumas coisas ou cometi alguns erros.</p> @joojinho\_ com os valores atuais acho difícil ainda mais para notebook, se for desktop até da para conseguir algo melhor, mas notebook esta muito caro.  para uso de escritorio esse vai servir para ela e se precisar é so comprar uma memoria que ja vai dar uma melhorada no desempenho. nossa quantas perguntas rsrs, sim esse pc com i5 3330 é muito bom, 3.00 ghz é a velocidade padrão e 3.20 é o maximo que ele pode chegar. 


a placa mae é chipset h61 ou seja bem simples, mas suporta até 16 gb de ram, porem como só tem 2 slots para memoria ddr3 voce deverá colocar dois pentes de 8gb. 


quanto a fonte que veio nele deve ser genérica de no maximo 200 watts, por isso se tiver intenção de colocar uma boa placa de video deverá trocar de fonte. sugiro uma com pfc ativo e selo 80 plus, de uns 450 w pelo menos, o que deve dar para vc colocar até uma placa video de até 2gb ddr5 e 256 bits. 


esse modelo de i5 é muito bom e com ele vc não terá necessidade de trocar por um i7 por bastante tempo. quanto ao pc antigo vc conseguirá usar somente o hd. amigo já trabalhei em um provedor de internet, então tenho certa experiência em problemas parecidos.


possibilidades:


1) instabilidade no link - o provedor pode não estar entregando esses 25mb o tempo todo;


2) instabilidade na tua placa de rede - a tua placa pode não estar funcionando corretamente, é possível que quando aqueça perca a eficiência e comprometa a qualidade da conexão. o único teste de fato eficiente para esse problema é a substituição por outra placa, recomendo uma gigabit... quando identificar essa instabilidade tenta usar um adaptador wireless na máquina e vê se o problema persiste...;


3) aplicativos ou serviços do próprio windows usando a rede em segundo plano (não seria a atualização automática do windows?)... tenta usar o ubuntu via live cd ou por usb e faz um download de um site confiável para teste (<ftp://ftp.embratel.net.br/pub/tst/load.tst>) e monitora pelo "monitor do sistema"


4) será que não tem mais alguém usando tua conexão? outras máquinas não estariam ligadas ao mesmo tempo? 


tudo isso só é possível identificar testando e/ou substituindo componentes. eu te mandaria outra pergunta: para que?


<http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2014/06/vale-a-pena-usar-um-estabilizador.html>


boa leitura e um abraço o windows tem o limite do alfabeto americano, que são as letras usadas para endereçar o disco, são 26 dispositivos, que incluem todos dispositivos; partições, dvds, pendrivers..


mas no seu caso o mais provável é incompatibilidade entre os dispositivos que estão ligados na mesma controladora, cada controladora administra 2 portas sata.


tenta colocar os discos em controladoras diferentes! Note-se que não se trata de "programação estrita unicode" per se, mas alguma experiência prática.


O que fizemos na minha empresa era criar uma biblioteca invólucro em torno da biblioteca ICU da IBM. A biblioteca wrapper tem uma interface UTF-8 e converte para UTF-16 quando é necessário chamar UTI. No nosso caso, nós não se preocupar muito com sucessos de desempenho. Quando o desempenho foi um problema, nós também fornecido interfaces de UTF-16 (usando o nosso próprio tipo de dados).


Aplicações poderia permanecer em grande parte como-é (usando caracteres), embora em alguns casos, eles precisam estar cientes de certas questões. Por exemplo, em vez de strncpy () usamos um invólucro que evita cortar sequências UTF-8. No nosso caso, isso é suficiente, mas também pode considerar cheques para combinar caracteres. Temos também wrappers para a contagem do número de codepoints, o número de grafemas, etc.


Quando a interface com outros sistemas, às vezes precisamos fazer composição caráter personalizado, assim você pode precisar de alguma flexibilidade lá (dependendo do aplicativo).


Nós não usamos wchar\_t. Usando UTI evita problemas inesperados na portabilidade (mas não outros problemas inesperados, é claro :-).