{"id":738,"date":"2014-04-08T17:15:54","date_gmt":"2014-04-08T20:15:54","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=738"},"modified":"2014-04-08T17:38:02","modified_gmt":"2014-04-08T20:38:02","slug":"controlando-a-banda-de-download-no-apache","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=738","title":{"rendered":"Controlando a banda de download no Apache"},"content":{"rendered":"<p><strong>Prezados Colegas,<\/strong><\/p>\n<p>Primeiramente Sauda\u00e7\u00f5es Pinguianas a todos!<br \/>\nNesse artigo eu vou explicar com limitar a banda no Apache.<\/p>\n<p><em><strong>Introdu\u00e7\u00e3o<\/strong><\/em><\/p>\n<p>O Apache \u00e9 um servidor de p\u00e1ginas WEB mais famoso da atualidade e muito conhecido no mundo livre. Muitas pessoas o utilizam para criar servidores de hospedagem de sites WEB e vendem largura de banda, espa\u00e7o em disco e acesso a algum banco de dados.<\/p>\n<p>O que muitos n\u00e3o sabem como fazer \u00e9 este tipo de controle e como agregar isso ao Apache2 de forma simples e eficiente. O Debian vem nos dar uma m\u00e3o para resolver este problema e conseguir agregar uma solu\u00e7\u00e3o simples e pr\u00e1tica de utilizar rapidamente um controle de banda para seus dom\u00ednios virtuais (Virtual Domains).<\/p>\n<p>Ent\u00e3o, vou pr\u00e9-supor que voc\u00ea tenha o apache instalado para implementar essa solu\u00e7\u00e3o.<!--more--><\/p>\n<p><em><strong>Entendendo o m\u00f3dulo mod_cband do Apache2<\/strong><\/em><\/p>\n<p>O m\u00f3dulo mod_cband \u00e9 um m\u00f3dulo do Apache2 fornecido para resolver o problema de limitar a banda utilizada pelos usu\u00e1rios e virtual hosts. A vers\u00e3o (0.9.7.4-2) do m\u00f3dulo pode definir quotas de banda utilizada tanto para usu\u00e1rios, quanto para os virtual hosts, velocidade m\u00e1xima de download, requisi\u00e7\u00f5es por segundo e o n\u00famero m\u00e1ximo de conex\u00f5es de IP simult\u00e2neas.<\/p>\n<p>Agora, n\u00e3o sei porque cargas d\u2019\u00e1guas esse pacote n\u00e3o vem mais nos reposit\u00f3rios do Debian. Por isso, vamos fazer o download e instala\u00e7\u00e3o, conforme eu vou mostrar nos comandos abaixo:<\/p>\n<p><em>Baixando:<\/em><\/p>\n<div>\n<div id=\"highlighter_399929\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<\/td>\n<td>\n<div>\n<div><code># wget -c <a href=\"http:\/\/downloads.aprendendolinux.com\/programas\/libapache2-mod-cband_0.9.7.4-2_i386.deb\">http:\/\/downloads.aprendendolinux.com\/programas\/libapache2-mod-cband_0.9.7.4-2_i386.deb<\/a><\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>Instalando:<\/em><\/p>\n<div>\n<div id=\"highlighter_953062\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<\/td>\n<td>\n<div>\n<div><code># dpkg -i libapache2-mod-cband_0.9.7.4-2_i386.deb<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Uma vez instalado o pacote do m\u00f3dulo, ativ\u00e1-lo no Debian \u00e9 muito simples, basta executar:<\/p>\n<div>\n<div id=\"highlighter_170516\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<\/td>\n<td>\n<div>\n<div><code># a2enmod cband<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em><strong>Configurando um dom\u00ednio virtual simples<\/strong><\/em><\/p>\n<p>Para que o controle de tr\u00e1fego feito seja aproveitado \u00e9 necess\u00e1rio que sejam adicionados ao dom\u00ednio virtual as seguintes diretivas mostradas no exemplo abaixo:<\/p>\n<div>\n<div id=\"highlighter_843464\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td>\n<div>1<\/div>\n<div>2<\/div>\n<div>3<\/div>\n<div>4<\/div>\n<div>5<\/div>\n<div>6<\/div>\n<div>7<\/div>\n<div>8<\/div>\n<div>9<\/div>\n<div>10<\/div>\n<div>11<\/div>\n<div>12<\/div>\n<div>13<\/div>\n<div>14<\/div>\n<div>15<\/div>\n<\/td>\n<td>\n<div>\n<div><code>&lt;VirtualHost *&gt;<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>ServerName\u00a0 www.dominio.com.br<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>ServerAdmin webmaster@dominio.com.br<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>DocumentRoot <\/code><code>\/var\/www\/dominio<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>CBandLimit 1G<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>CBandRemoteSpeed 10kb<\/code><code>\/s<\/code> <code>3 5<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>CBandExceededSpeed 128 5 15<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>CBandPeriod 4W<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;Location <\/code><code>\/cband-status<\/code><code>&gt;<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>SetHandler cband-status<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;<\/code><code>\/Location<\/code><code>&gt;<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;Location <\/code><code>\/cband-status-me<\/code><code>&gt;<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code>SetHandler cband-status-me<\/code><\/div>\n<div><code>\u00a0\u00a0\u00a0\u00a0<\/code><code>&lt;<\/code><code>\/Location<\/code><code>&gt;<\/code><\/div>\n<div><code>&lt;<\/code><code>\/VirtualHost<\/code><code>&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Podemos ver que as configura\u00e7\u00f5es que diferem de configura\u00e7\u00f5es normais s\u00e3o:<\/p>\n<p><strong>CBandLimit:<\/strong>\u00a0Define a Banda limite que pode ser utilizada<\/p>\n<p><strong>CBandRemoteSpeed:<\/strong>\u00a0Define a velocidade de conex\u00e3o que pode ser utilizada no m\u00e1ximo, onde 10kb\/s \u00e9 a taxa de tr\u00e1fego por segundo, o 3 \u00e9 o n\u00famero m\u00e1ximo de requisi\u00e7\u00f5es por segundo e o 5 \u00e9 o n\u00famero m\u00e1ximo de conex\u00f5es vinda de um mesmo cliente.<\/p>\n<p><strong>CBandExceededSpeed:<\/strong>\u00a0Define o tr\u00e1fego m\u00e1ximo que pode ser utilizado caso a velocidade de transfer\u00eancia tenha sido excedida.<\/p>\n<p><strong>CBandPeriod:<\/strong>\u00a0\u00c9 o tempo que leva para a contagem do uso de banda definido em CBandLimit expirar.<\/p>\n<p><em><strong>Ap\u00f3s estas configura\u00e7\u00f5es, definimos duas localiza\u00e7\u00f5es:<\/strong><\/em><\/p>\n<p><strong>\/cband-status:<\/strong>\u00a0Que vai mostrar a utiliza\u00e7\u00e3o de banda de todos os subdom\u00ednios \u00e9 vai possibilitar realizar um reset nos contadores de banda.<\/p>\n<p><strong>\/cband-status-me:<\/strong>\u00a0Que vai mostrar a utiliza\u00e7\u00e3o de banda do dom\u00ednio na barra de endere\u00e7os (no caso um dom\u00ednio virtual em quest\u00e3o).<\/p>\n<p>Feito estas configura\u00e7\u00f5es, basta dar um \u2018force-reload\u2019 no Apache para ativar as configura\u00e7\u00f5es:<\/p>\n<p><strong># \/etc\/init.d\/apache2 force-reload<\/strong><\/p>\n<p>Prontinho! A banda de download est\u00e1 limitada!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prezados Colegas, Primeiramente Sauda\u00e7\u00f5es Pinguianas a todos! Nesse artigo eu vou explicar com limitar a banda no Apache. Introdu\u00e7\u00e3o O Apache \u00e9 um servidor de p\u00e1ginas WEB mais famoso da atualidade e muito conhecido no mundo livre. Muitas pessoas o utilizam para criar servidores de hospedagem de sites WEB e vendem largura de banda, espa\u00e7o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,42,51],"tags":[457,456,458,459],"class_list":["post-738","post","type-post","status-publish","format-standard","hentry","category-apache2","category-leitura-recomendada","category-linux-linuxrs","tag-a-banda","tag-controlando","tag-de-download","tag-no-apache"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=738"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/738\/revisions"}],"predecessor-version":[{"id":739,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/738\/revisions\/739"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}