Řešení technické optimalizace pro servery. Optimalizace provozu zařízení

Ke zvýšení výkonu serveru můžete použít několik metod, ale nejlepší je optimalizace.

Optimalizace operačního systému (FreeBSD)

  • Přechod na 7.x je užitečný pro vícejádrové systémy, protože lze použít nový plánovač ULE 3.0 a jemalloc. Pokud používáte starší systém 6.x a ten si nedokáže poradit se zátěží, pak je čas přejít na 7.x.
  • Přechod na 7.2 vám umožní zvýšit KVA, optimalizovat ve výchozím nastavení sysctl a používat superstránky. Již se připravuje nové FreeBSD 8.0, které pomůže výrazně zvýšit produktivitu.
  • Přechod na amd64 umožňuje zvýšit objemy KVA a sdílené paměti na více než 2 Gb. Je nutné vytvořit podmínky pro rozvoj serveru, protože databáze neustále přibývají a vyžadují větší velikosti.
  • Vykládání síťového subsystému ve FreeBSD pomůže optimalizovat server. Tento proces lze provést ve dvou fázích: vyladění parametrů ifconfig a nastavení sysctl.conf/loader.conf. Ve fázi přípravy byste měli zkontrolovat schopnosti síťová karta. Ovladače od Yandex pomohou zvýšit rychlost pomocí více vláken, často se používají pro vícejádrové procesy. Pro síťovou kartu třetí třídy je nejlepším řešením dotazování. Nejnovější aktualizovaná verze ladění FreeBSD 7 pomůže problém vyřešit.
  • FreeBSD a obrovské množství souborů fungují skvěle díky ukládání názvů souborů do mezipaměti v adresáři. Vyhledávání v hash tabulce vám pomůže rychle najít požadovaný soubor. Ačkoli maximální množství paměti je asi 2 MB, můžete ji zvětšit, pokud to vfs.ufs.dirhash_mem dovolí.
  • Softupdates, žurnálAnamontovat možnosti- Jedná se o nové terabajtové šrouby, které mají vynikající výkon. Pokud vypadne proud, jejich fsck bude trvat velmi dlouho, takže můžete použít softupdates nebo se přihlásit přes gjournal.

Optimalizace frontendu (nginx)

Tento typ lze klasifikovat jako předčasnou optimalizaci, i když pomůže zvýšit celkovou dobu odezvy webu. Mezi standardní optimalizace Stojí za to věnovat pozornost reset_timedout_connection; poslat soubor; tcp_nopush a tcp_nodelay.

  • Přijmout filtry je technologie, která umožňuje přenášet informace z jádra do procesu v případě příchodu nebo platnosti nových dat http požadavek. Tyto filtry pomohou odlehčit serveru při velkém počtu připojení.
  • Ukládání do mezipaměti nginx se vyznačuje flexibilitou a je vyráběn z backendů fastcgi nebo proxy. Každý může ve svém projektu chytře využívat ukládání do mezipaměti.
  • AIO je velmi užitečný pro některá specifická zatížení serveru, protože šetří dobu odezvy a zároveň snižuje počet pracovníků. Nové verze nginx umožňují používat aio v tandemu s sendfile.

Optimalizace backendu

  • APC je framework, který umožňuje snížit zátěž ukládáním kompilovaného kódu do mezipaměti v OP. Zamykání APC se vyplatí aktualizovat, protože se může zpomalit a mnoho lidí začíná místo APC používat eAccelerator. Zamykání se vyplatí nahradit spinlockem nebo pthread mutexem. Hodnota APC hints by měla být zvýšena, pokud existuje velké množství souborů .php nebo pokud jsou často ukládány do mezipaměti uživatele APC. Fragmentace APC je známkou toho, že APC používáte nevhodně. Nemůže nezávisle mazat záznamy podle TTL nebo LRU.
  • PHP 5.3 pomůže zvýšit produktivitu, takže se vyplatí upgradovat verzi PHP, i když seznam zastaralých funkcí může mnohé vyděsit.

Optimalizace databáze

Nápadů na zlepšení výkonu MySQL je na internetu spousta, protože každý webový projekt dříve či později narazí na omezení v množství paměti, disku nebo procesoru. Proto jednoduchá řešení nepomůže vyrovnat se s problémem, stojí za to věnovat více času profilovačům (dtrace, systemtap a oprofile) a také používat velké množství dalších software. Je potřeba nejen dokonale umět indexy používat, třídit a seskupovat, ale také vědět, jak to všechno uvnitř MySQL funguje. Musíte také znát výhody a nevýhody různých úložišť, rozumět mezipaměti dotazů a EXPLAIN.

Existuje několik způsobů, jak optimalizovat MySQL, a to i beze změny kódů, protože polovinu ladění serveru lze provést v poloautomatickém režimu pomocí utilit tuningprimer, mysqltuner a mysqlsla.

  • Přechod na 5.1 poskytuje mnoho výhod, mezi nimiž stojí za to vyzdvihnout optimalizaci optimalizátoru, dělení, plugin InnoDB a replikaci založenou na řádcích. Pro zrychlení webu již někteří nadšenci extrémních sportů testují verzi 5.4.
  • Přechod na InnoDB poskytuje mnoho výhod. Je kompatibilní s ACID, takže jakákoli operace se provádí pouze jednou transakcí. Má zamykání na úrovni řádků, což umožňuje současně číst a zapisovat mnoho vláken izolovaně od sebe.
  • Vestavěná mezipaměť MySQL – Query Cache je poměrně obtížné pochopit, takže jej mnoho uživatelů používá iracionálně nebo jej vypíná. Více pro něj neznamená lépe, takže nemá cenu tento subsystém maximalizovat. Query Cache je v důsledku toho paralelizována, pokud je použito více než osm procesů, pouze zpomalí celý proces a nepomůže zkrátit dobu načítání webu. Obsah tohoto subsystému, který se vztahuje ke konkrétní tabulce, je zrušen, když jsou v této tabulce provedeny změny. To znamená, že Query Cache poskytuje pozitivní výsledky pouze při použití dobře navržených tabulek.
  • Indexy mohou být škodlivé jak pro SELECT (pokud žádné nejsou), tak pro INSERT/UPDATE (pokud jsou navíc). Index, který se již nepoužívá, stále zabírá paměť a tím zpomaluje změny dat. K vyřešení tohoto problému byste měli použít jednoduchý SQL dotaz.

PostgreSQL

Systém Postgres je poměrně univerzální, protože patří do třídy Enterprise a Skype na něm funguje skvěle, ale zároveň jej lze nainstalovat i na mobilní telefon. Mezi 200 dostupnými parametry je 45 základních a mají na starosti ladění.

Na internetu toho najdete spoustu užitečné informace pro ladění Postgres. Některé články jsou ale již zastaralé, takže byste měli začít od data vydání a věnovat pozornost informacím, kde se používá klíč vakua_mem, případně v nových verzích maintenance_mem. Pokročilí programátoři najdou mnoho kvalitních pojednání, níže uvedeme jen ty základní, které běžnému uživateli pomohou vylepšit jeho projekt.

  • Indexy PostgreSQL je vždy na prvním místě, zatímco v MySQL vždy obsazují poslední pozice, což lze vysvětlit tím, že indexy PostgreSQL mají obrovské možnosti. Programátor musí těmto indexům dobře rozumět a vědět, kdy a který z nich by měl být použit, jako je GiST, GIN, hash a B-tree, stejně jako částečné, vícesloupcové a on výrazy.
  • pgBouncer a jeho alternativy musí být nejprve nainstalovány na databázový server. Bez sdružování připojení vytváří každý požadavek samostatný proces, který využívá paměť RAM. Zdá se, že to není nic špatného, ​​ale při vytváření více než 200 spojení má i velmi výkonný server potíže se zpracováním informací. pgBouncer pomáhá tento problém vyřešit.
  • pgFouine je nepostradatelný program, protože jej lze bezpečně nazvat analogem mysqlsla v php. V tandemu s přehrávačem může provádět optimalizaci dotazů v obtížných podmínkách na stagingových serverech.

Stažení databáze

Chcete-li optimalizovat provoz databáze a zvýšit její výkon, měli byste ji používat co nejméně.

  • SphinxQL lze použít jako MySQL server. K tomu stačí vytvořit sphinx.conf, stejně jako položky pro indexer v cronu a přepnout do jiné databáze. S těmito akcemi není třeba ani měnit kód. Přechod na SphinxQL pomůže zlepšit rychlost a kvalitu vyhledávání a zapomenete na MyISAM a FTS.
  • Úložiště bez RDBMS umožňuje nepoužívat relační databázi. Můžete si vybrat Hive nebo Oracle. Databáze klíč-hodnota díky své rychlosti používá vzorky z relační databáze pro další ukládání do mezipaměti. Majitelé velkých projektů PHP mohou využít vynikající funkci mezipaměti operačních kódů k uložení všech vlastních dat. S jeho pomocí spolehlivě ušetříte i změny globálního významu, protože zabírají málo místa a prakticky nezabírají paměť, výrazně se může zvýšit i rychlost vzorkování. Pokud je u velkého projektu blok globálních změn zapsán pouze na jeden stroj, pak se provoz zvýší a začne se velmi zpomalovat. Chcete-li tento problém vyřešit, musíte uložit globální proměnné do mezipaměti operačních kódů nebo klonovat proměnné na všech serverech a přidat výjimky do algoritmu hašování konzistence.
  • Kódování podívejte se na efektivní metody pro uvolnění databáze. Stojí za zmínku, že UTF-8 je vynikající volbou, ale v ruštině zabírá hodně místa, takže u jednojazyčného kontingentu byste měli nejprve přemýšlet o racionálním použití kódování.
  • Asynchronie pomůže zkrátit dobu odezvy aplikace nebo webové stránky a také výrazně sníží zatížení samotného serveru. Dávkové požadavky jsou prováděny mnohem rychleji než obvyklé jednotlivé. Pro velké projekty můžete použít zprávy RabbitMQ, ApacheMQ nebo ZeroMQ a pro malé projekty můžete použít pouze cron.

Další aplikace pro optimalizaci

  • SSHGuard nebo jeho alternativa je standardní postup pro ssh. Anti-hrubá síla pomáhá tvořit spolehlivou ochranu servery před útoky botů.
  • Xtrabackup od Percona je vynikající zálohovací nástroj MySQL, který má spoustu nastavení. Ideálním řešením je ale stále volat klony v ZFS, protože se vytvářejí velmi rychle a pro obnovu databáze stačí změnit cesty k souborům v konfiguraci svalů. Klony vám umožňují obnovit systém od nuly.
  • Přeneste poštu na jiného hostitele ušetří provoz a IOP, pokud je váš server jednoduše bombardován spamem.
  • Integrace se softwarem třetích stran pomůže optimalizovat mysql server. Pro výměnu zpráv můžete použít například připojení smtp/imap, které nezabere mnoho paměti. K vytvoření chatu stačí použít základ jabber serveru s javascriptovým klientem. Tyto systémy, které jsou založeny na adaptérech na běžné produkty, jsou vysoce škálovatelné.
  • Monitoring je velmi důležitou součástí, protože bez podrobné analýzy nelze nic optimalizovat. K tomu je potřeba hlídat výkonnostní metriky, volné zdroje a prodlevy, pomohou Zabbix, Cacti, Nagios a další. Web Performance Test umožňuje vypočítat rychlost načítání webové stránky nebo projektu, takže je velmi užitečný při monitorování. Při nastavování výkonového serveru nezapomeňte, že pouze důkladná analýza pomůže odstranit všechny problémy a provést optimalizaci.

Pokud nerozumíte polovině toho, co bylo napsáno, nevadí.

Efektivnímu SEO může bránit jen jedna nepříjemná chyba v technické optimalizaci webu, ale to povede k tomu, že roboti vyhledávačů nebudou schopni správně zaindexovat zdroj, pochopit strukturu webu a uživatelé budou nenajdou informace, které potřebují. To vše zase povede k nízkému hodnocení webu.

Technická optimalizace webových stránek je soubor opatření, která jsou zaměřena na úpravu technických aspektů zdroje za účelem zlepšení jeho interakce s roboty vyhledávačů. Technická optimalizace umožňuje nejrychlejší a nejúplnější indexování stránek webu.

5 hlavních parametrů technické optimalizace

1. Soubor Robots.txt

Je důležité si uvědomit, že soubor robots.txt musí být obsažen v kořenovém adresáři každého zdroje. Toto je první soubor, ke kterému mají roboti PS přístup, když navštíví stránku, a ve kterém jsou uloženy pokyny pro ně.

Tento soubor určuje parametry indexování webu: které stránky by měly být zahrnuty do vyhledávací databáze a které by měly být vyloučeny. Navíc umí specifikovat direktivy jak pro všechny roboty vyhledávačů najednou, tak pro roboty každého vyhledávače zvlášť. O kompilaci tohoto souboru a jeho konfiguraci lze podrobněji zjistit na webu pomoci pro webmastery Yandex.

Soubor můžete zkontrolovat ve službě Yandex.Webmaster, položka nabídky „Analýza robots.txt“ (https://webmaster.yandex.ru/robots.xml).

2. Sitemap - mapa stránek

Mapa webu je jednou ze zdrojových stránek, jejíž informace jsou podobné obsahu běžné knihy. Tato stránka se používá jako navigační prvek. Mapa webu obsahuje úplný seznam sekcí a/nebo všech stránek zveřejněných na zdroji.

Soubor HTML Sitemap uživatelé potřebují k rychlému a pohodlné vyhledávání informace a XML – vyhledávačům pro zlepšení indexování stránek.

S pomocí mapy webu vidí vyhledávací roboti celou strukturu a rychleji indexují nové stránky.

Kontrola mapy webu(https://webmaster.yandex.ru/sitemaptest.xml)

Příklad správného souboru Sitemap ve formátu .html:

3. Přesměrování (přesměrování)

Přesměrování se používá k přesměrování návštěvníků webu z jedné stránky na druhou. Existuje mnoho příkladů, proč jsou přesměrování potřebná:

  1. Změna názvu domény webu.
  2. Překližková zrcadla. Mnoho webů nemá nakonfigurováno přesměrování 301 z domény, která obsahuje www v adrese, na doménu bez www nebo naopak.

Přesměrování musí být zadáno v souboru .htaccess. Protože vyhledávače site.ru a www.site.ru mohou být považovány za různé stránky, pak se ve výsledcích mohou objevit duplikáty. To způsobí potíže s hodnocením ve výsledcích vyhledávání atd.

Hlavní stavové kódy přesměrování:

  • 300 - Multiple Choices (několik možností na výběr);
  • 301 - Trvale přesunuto (navždy přesunuto);
  • 302 - Dočasné přesměrování;
  • 303 - Viz Jiné (požadovaný zdroj lze nalézt na jiné adrese);
  • 304 - Neupraveno (obsah nebyl změněn - mohou to být obrázky, styly atd.);
  • 305 - Použít proxy (přístup musí být přes proxy);
  • 306 - Nepoužité (nepoužívané).

Užitečná služba pro určování odpovědí stránek: http://www.bertal.ru/

4. Přizpůsobení zobrazení stránky URL

Je důležité zkontrolovat web, abyste se ujistili, že adresy všech jeho stránek jsou konzistentní. Například na celém webu musí mít stránky uzavírací lomítko: http://site.ru/katalog/ a http://site.ru/products/ . Pokud některé stránky vypadají jako http://site.ru/katalog a některé jako http://site.ru/products/, není to správné.

Po vytvoření mapy webu bude vhodné zkontrolovat adresy stránek interních zdrojů na chyby.

5. Chyby webu

Když je načtena jakákoli stránka na webu, je odeslán požadavek na server, který odpoví stavovým kódem HTTP a načte (nebo nenačte) stránku.

Základní stavové kódy:

  • 200 - stránka je v pořádku;
  • 404 - neexistující stránka;
  • 503 - server je dočasně nedostupný.

„Chyba 404“ je jedním z nejdůležitějších technických parametrů optimalizace, který je třeba zlepšit.

Pokud stránka existuje a server při požadavku na ni informuje o chybě 404, nebude stránka indexována vyhledávači. Jinak velké množství stránek s stejný text, což má extrémně negativní dopad na pořadí.

Stavové kódy můžete zkontrolovat pomocí http://www.bertal.ru/ nebo Yandex.Webmaster.

Zvažovali jsme pouze hlavní parametry technického vylepšení webu, kterým je třeba věnovat pozornost jako první. Pokud takové chyby na svém webu najdete nebo máte potíže s jejich odstraněním, obraťte se pouze na profesionální SEO společnost.

Optimalizace databázové infrastruktury a virtuálních prostředí

Zlepšete výkon své aktuální databázové infrastruktury a získejte doporučení pro další optimalizaci pomocí cloudové služby.

Projekt Optimalizace serveru je relevantní v následujících případech:

  • absence centralizovaný systém ukládání a obnova dat;
  • problémy s výkonem SQL serverů;
  • problémy s aplikacemi;
  • nedostatek systému odolnosti proti chybám datového centra;
  • posouzení připravenosti a proveditelnosti migrace IT infrastruktury do cloudu;
  • nedostatek společného chápání stavu databázové infrastruktury a virtuálního prostředí.
    Spravujte své serverové prostředí efektivněji:
    Technický audit základní infrastruktury SQL data
    Detekce problémů s konfigurací serveru Doladění SQL serveru není snadný úkol ani pro správce databáze s dostatečnými zkušenostmi. Provedeme vyčerpávající analýzu nastavení na systémové úrovni, jako je výchozí nastavení paměti, rozdělení, paralelní relace, mezipaměť, disky, nastavení Rezervovat kopii atd.

    Optimalizace paměti a diskového úložiště Hlavním faktorem ovlivňujícím výkon každé moderní databáze je vstupní/výstupní subsystém. Zanalyzujeme charakter zatížení databáze a poskytneme doporučení pro optimalizaci úložiště a paměť s náhodným přístupem jak z hlediska rychlosti provozu, tak spolehlivosti ukládání informací.

    Optimalizace výkonu databáze Každý vývojář databáze má svá vlastní doporučení pro optimalizaci výkonu serveru nebo clusteru. Specialisté naší společnosti provedli různé možnosti nastavení databáze pro odlišné typy nakládá a může nabídnout optimální nastavení produktivita. Tato doporučení jsou vždy podpořena odkazy na dokumentaci dodavatele a osvědčené postupy pro nasazení softwaru.

    Analýza chybových protokolů a detekce kritických problémů Protokoly chyb jsou hlavním zdrojem informací o provozu databáze a problémech v aplikacích, které tuto databázi využívají. Naši specialisté vyvinuli vlastní nástroje pro analýzu problémů a hledání metod k jejich odstranění. Každý projekt zpravidla nezbytně obsahuje analýzu logů databázového serveru, na základě které jsou vydána doporučení pro optimalizaci. 

    Optimalizace databáze(spouštěče, indexy, trasovací zprávy) Všechny moderní databáze shromažďují informace o vlastním výkonu ve formě sady datových řezů, které umožňují určit, jak efektivně databáze spolupracuje s diskovým subsystémem, cache dotazů, dostatečnost indexů v tabulkách, atd. Tyto informace zanalyzujeme a poskytneme doporučení pro změny vašeho nastavení.

    Vytvoření architektury odolné proti chybám Vývoj databázové architektury s nepřetržitým provozem a prostoji nepřesahujícími 2 hodiny ročně vyžaduje zvýšení počtu serverů, podrobný vývoj softwaru a odstranění jediného bodu selhání. Pomůžeme vám tento problém vyřešit a navíc obdržíte politiku zálohování a obnovy jak spustitelného kódu databáze, tak všech dat.

    Připravte vysoce dostupnou databázi s minimální dobou odezvy Naši specialisté vám pomohou optimalizovat provoz databází získat maximální rychlost provoz vašeho serveru. Provádí se analýza latence, efektivity mezipaměti, indexů, „těžkých dotazů“ a fungování optimalizátoru dotazů a jsou poskytnuta doporučení ke zlepšení efektivity.

    Optimalizace databází pro konkrétní aplikace Optimalizujeme a konfigurujeme databáze MS SQL a Oracle pro podnikové aplikace, jako jsou systémy pro správu dokumentů, systémy manažerského účetnictví, portálová řešení atd. Při provádění prací se řídíme doporučeními dodavatelů softwaru pro konfiguraci softwaru, jakož i vlastní zkušenost optimalizace databáze pro různé druhy uživatelská zátěž.

    Výběr hardwarové platformy pro nasazení databázového softwaru Dodavatelé moderních databází disponují seznamy zařízení, která jsou pro provoz databáze optimální. Dokážeme analyzovat vaše preference dodavatele, najít servery, na které můžete nasadit databázový software, nebo připravit specifikace pro nákup databázového hardwaru.

    Analýza a optimalizace operačního prostředí virtuální databáze Problémy s výkonem jakéhokoli softwaru ve virtualizovaném prostředí obvykle souvisí s konkrétním hypervizorem a hardwarem, na kterém běží virtuální servery. Naši specialisté pomohou určit příčiny zpomalení práce a optimalizovat umístění databázového softwaru virtuální servery ve vašem datovém centru.

    Získejte přesnou kalkulaci projektu od nás nebo zjistěte, jak provést průzkum zdarma pro vás s podporou dodavatele.

  •