Kategoriarkiv: Teknik

Blixtsnabb WordPress med php7 och redis

redis

Vi på EgenSajt arbetar ständigt med att erbjuda bästa tänkbara prestanda och bästa verktyg för att få alla dina sidor ultrasnabba. Och detta till marknadens absolut lägsta pris.

I din kontrollpanel kan du enkelt aktivera php 7.0 som är otroligt mycket snabbare än sina föregångsversioner och tester visar att den är 2-3 gånger snabbare än PHP 5.6.

Ändra till PHP 7.0 i kontrollpanelen

Man kan enkelt ändra genom att gå till PHP pooler i kontrollpanelen, se bild

php-poolDu som kund kan ha en eller flera php pool och du väljer antal processer och php version för varje pool. Har du bara en process kan du välja endast en pool, men har du 2 eller fler processer kan du skapa lika många pooler som processer. Sedan kan du fördela dessa pooler till vafri webbplats.

REDIS

Redis är den överlägset snabbaste cache metoden för WordPress, mycket snabbare än tex. w3Cache. Redis är en extratjänst på EgenSajt som du enkelt kan beställa. Redis kostar endast från 40kr/år, beroende på hur mycket minne du behöver. EgenSajt är det enda webbhotellet i Sverige som erbjuder redis för alla sina kunder.

bestall-redis

Aktivera REDIS

Att aktivera redis är lite avancerat och vi hjälper dig gärna om du behöver hjälp! För att aktivera redis se följande kunskapsbanksartikel: Installera-redis-i-Wordpress

Från 2,4 sekunder till 276 millisekunder

En kund till oss hade en WordPress + WooCommerce sajt upplevde att hans sajt gick väldigt långsamt och undrade om vi kunde hjälpa till.

enyled

Vi upplevde att sajten gick väldigt långsamt och mätte hastigheten på pingdom som visade att den laddade på hela 2,40 sek enligt nedan:

pingdom-before

Se: https://tools.pingdom.com/#!/eQzLtg/http://www.enyled.se/

Vi aktiverade php 7.0 och Redis och fick följande resultat enligt pingdom:

pingdom-after

Efter optimering och aktiverad redis laddar sida på endast 276 ms enligt ovanstående resultat!

Se: https://tools.pingdom.com/#!/eQzLtg/http://www.enyled.se/

Så från att ha laddat på 2-3 sekunder så laddar nu sajten på under en halv sekund, som natt och dag!

 

WordPress på EgenSajt med Varnish och PHP 7.0

Du som kund på EgenSajt kan alltid förvänta dig bästa tänkbara prestanda och bästa verktyg för att få alla dina sidor ultrasnabba! Vi vill därför uppmärksamma på att man kan välja php 7.0 och varnish i vår kontrollpanel och vi ska gå igenom vad som skiljer mot vanliga webbhotell.

PHP 7.0

PHP 7.0 är den senaste versionen och du kan se nedan vilken enorm skillnad det är i prestanda mot den tidigare versionen 5.6. EgenSajt stöder versionerna: 5.4, 5.5, 5.6 och 7.0

WordPress-PHP-5.6-vs-HHVM-3.7-vs-PHP-7-1024x571PHP 7.0 är mycket snabbare än tidigare versioner och tester visar att den är 2-3 gånger snabbare än PHP 5.6.

Senaste version av WordPress fungerar mycket bra med PHP 7.0, även om det kan finnas vissa tillägg som kan sluta fungera.

Ändra till PHP 7.0 i kontrollpanelen

Man kan enkelt ändra genom att gå till PHP pooler i kontrollpanelen, se bild

php-poolDu som kund kan ha en eller flera php pool och du väljer antal processer och php version för varje pool. Har du bara en process kan du välja endast en pool, men har du 2 eller fler processer kan du skapa lika många pooler som processer. Sedan kan du fördela dessa pooler till vafri webbplats.

Varnish web cache

Sedan för att göra det ännu roligare kan du enkelt aktivera varnish webb cache i kontrolpanelen genom ett enkelt klick. Varnish är ett cache minne som ligger framför våra lastbalanserade webbservrar och visar bilder och filer direkt ur ett snabbt cache-minne. Detta snabbar upp din sida rejält, du går till Tjänst i din kontrollpanel under den aktuella domänen:

webbinstallningar-varnish

Dags att uppdatera till WordPress 4.0

About_‹_Demo_Wordpress_—_WordPress_and_web20consulting

När wordpress 4.0 nu finns färdig kommer alla användare av wordpress självinstallerade programvara få uppmaningen att uppdatera till den nya versionen.
Redigera_inlägg_‹_EgenSajt_Webbhotell_—_WordPress

Användare och webmasters med administratör behörighet i wordpress göra detta enkelt via den inbyggda kontrollpanel.

Dashboard_‹_Demo_Wordpress_—_WordPress

I wordpress kontrollpanel finns som en undermeny alternativet uppdatera.  Där kan wordpress administratörer kontrollera om det finns uppdateringar och uppdatera direkt när dessa finns att hämta.  Kom ihåg att som administratör sker uppdateringen på egen risk så skapa alltid en kopia av främst databasen för wordpress så att du kan gå tillbaka om något går fel vid uppdateringen.

När uppdateringen är gjord kommer du som användare se ett antal nyheter och förbättringar. I stort skulle jag säga det nya är hantering och publicering av innehåll i wordpress 4 som förbättrats. Totalt handlar det om över 700 uppdateringar och fixar av wordpress i version 4. Nedan ser du en liten genomgång av förändringar. Den smidiga hanteringar av inbäddat innehåll och redigerarens nya flyttande visning av större inlägg ser jag som de största förbättringarna.

Hanteringen av media i mediabiblioteket
Media_Library_‹_Demo_Wordpress_—_WordPress2

Mediahanteringen i biblioteket har snabbats upp och fått nya visningslägen med rutnät. Sökningen har också snabbats upp liksom redigering och hantering av enskild media.

Hantering av inbäddat innehåll har förbättrats

Det räcker att lägga till länken till en video t ex för att bädda in videoklipp från ett stor antal källor. Det finns inget behov av att klippa och klistra in html kod i redigerarens text läge längre.

Add_New_Post_‹_Demo_Wordpress_—_WordPress4
För att bädda in en Youtube video kopierar du länken från webbläsarens adressfält till wordpress redigerarens lägg till media och lägger till en ny länk. Eller så klistrar du direkt in youtube länken på en ny rad i det wordpress inlägg du håller på att skapa.

Add_New_Post_‹_Demo_Wordpress_—_WordPress

WordPress 4.0 stödjer idag direkt inbäddning av innehåll via en sidlänk för ljud, bild och video från de flesta av de större websajterna på internet. Du kan se listan här på vilka typer av inbäddningar som stöds. Där är precis lika lätt att lägga in musik eller länkar till presentationer från t ex Slideshare som det är att  lägg in en youtube video.

Uppdatering av Innehållsredigeraren

Edit_Post_‹_Demo_Wordpress_—_WordPress

Att den utlovade möjligheten att redigera inlägg via framsidan på WordPress ännu ej är klar är något av en besvikelse samtidigt som redigeraren i WordPress 4.0 ändå innehåller många förbättringar och finjusteringar.  För de som skriver längre inlägg har redigeraren nu anpassats så den flytande följer med medan man skriver med menyerna  tillgängliga.  Ingen mer rulllist.  De förbättrade möjligheterna till att bädda in innehåll är redan nämnda ovan.

Hitta och hantera tillägg för WordPress

Add_Plugins_‹_Demo_Wordpress_—_WordPress

Att hitta och hantera tillägg till WordPress har uppdaterats och gjorts mycket mer visuellt med en klarare överblick över de olika tilläggens funktioner.

Mer nyheter i WordPress 4.0 versionen är möjligheten att direkt välja språk vid installation och du kan även direkt i wordpress kontroll panel ändra språk om wordpress redan är installerad.  Även widget hanteringen har förbättrats.

Det är som alltid värt att följa med i utvecklingen av WordPress och uppdatera till nya versioner. Och det känns tryggt att veta att automatic fortsätter utvecklingen av  Wordpress som lite av ett universalverktyg för att publicera innehåll på internet.

EgenSajts tekniska plattform

Skalbara system

Framtidens webbhotell bör använda skalbara och redundanta system med säkerhetssystem och lastbalanseringsteknik. EgenSajt bygger allt utifrån ett skalbarhets- och prestandaperspektiv.

Mjukvara

På EgenSajt används enbart s.k. open-source och däribland:

  • Lighttpd/nginx
  • php-fpm
  • Varnish
  • memcached
  • mysql galera kluster
  • Apache2 med mod security
  • NFSv4/rdma

Hårdvara

HP-servrar med Dual Core 2.2 samt Quad Core 2.0-3.0 MHz

inifiniband 40Mbit/s

 

Apache2 vs. lighttpd

Apache är process-baserad och kör en pool av processer (prefork) och äter mycket minne, samt har generellt dålig prestanda. Apache MPM Worker fungerar bättre, men rekommenderas inte av php själva, då det kräver att servrarna är trådsäkra.

Lighttpd däremot är asynkron, vilket betyder att den körs som en enda process som är non-blocking I/O, dvs annan I/O kan börja innan transmissionen har slutförts. Fördelen är att lighttpd kan skala bättre, har mindre overhead och använder mycket mindre minne samt visar statiskt material 3-4 ggr snabbare än Apache.

PHP-FPM

Några av egenskaperna med php-fpm är följande:

  • Adaptiv process spawning
  • Statistik
  • Avancerad process administration
  • Möjlighet att starta worker med med valfri gid/gid/environment och separat php.ini
  • Kan köras chrootat
  • Har emergency restart möjligheter (vid tex. opt kod cache problem eller liknande)
  • Slow log support

Alla dessa funktionaliteter har vi utnyttjat på EgenSajt och vi kan bland annat enkelt se varför en WordPress blogg går långsamt. Det syns direkt vilken php-fil som exekverar långsamt och man kan se om tex. ett plugin inte fungerar som det ska.

Varnish

Varnish är en http cache accelerator och en förutsättning för att erbjuda riktigt snabba sajter. Den kan konfigureras utan gräns i sk. .vcl-filer och är designad speciellt för sajter med mycket innehåll och bilder. Den sparar data i virtuellt minne.

Disksystem med NFSv4/rdma

NFSv4/rdma är ett distribuerat nativt filöverföringssystem. Vi kör rdma ( remote direct memory access ) över infiniband och detta betyder helt enkelt att nätverkskort kan transferera data direkt till minnen i applikationsnivå, inget behov av att kopiera data mellan minne och data bufferts i operativet.

Memcached

Memcached är ett multifunktionellt och distribuerad minnescachesystem som utvecklades av Danga Interactive för LiveJournal. memcached används ofta för att snabba upp dynamska databasdriva sajter genom att cacha data och objekt i ramminne för att reducerat externa databas anrop. En unik fördel med memcached är att den stöder redundanta och skalbara plattformar och används av många Web 2.0-/socialmeda-sajter som Youtube, reddit, facebook, twitter osv.

Mod Security

Mod Security är ett säkerhetssystem som skyddar både från obehörig trafik, spam-botar samt attacker, tex. file/sql injections. De flesta känner inte inget webbhotell i Sverige har skydd mot dessa typer av attacker. Så långt vi känner till är EgenSajt ensamma om detta. Exempel på skydd och utdrag ur våra loggar:

Obehörig trafik

 [Sun Mar 17 08:54:24 2013] ModSecurity: Access denied with code 403 (phase 2). Match of "rx ^0$" against "REQUEST_HEADERS:Content-Length" required. [file "/etc/apache2/modsec/10_asl_rules.conf"] [line "100"] [id "392301"] [rev "5"] [msg "WAF Rules: Request Containing Content, but Missing Content-Type header"] [severity "NOTICE"] [hostname "193.42.159.252"] [uri "/wp-tmp/gate.php"]

Spam

[Sat Mar 16 10:41:47 2013] [error] [client 198.144.116.150] ModSecurity: Access denied with code 403 (phase 2). Pattern match "[-_ ]?(?:adipex|suboxone|pseudovent|topamax|trazodone|prevacid|
 zyrtec|xenical|toprol|zoloft|synthroid|valtrex|wellbutrin|valium|protonix|vytorin|ritalin|zocor|seroquel|ultracet|plavix|voltaren|zyprexa|xanax|vicodin|penicillin|tramadol|provigil|predniso..." at ARGS:subject. [file "/etc/apache2/modsec/30_asl_antispam.conf"] [line "248"] [id "300061"] [rev "25"] [msg " AntiSpam Rules: Possible Spam or Restricted content: Pharmacy and/or Drug content detected"] [data " cialis "] [severity "CRITICAL"] [hostname "193.42.159.250"] [uri "/posting.php"]

File injection

[Sat Mar 16 10:41:39 2013] [error] [client 127.0.0.1] ModSecurity: Access denied with code 403 (phase 2). Match of "beginsWith %{request_headers.host}" against "TX:1" required. [file "/etc/apache2/modsec/10_asl_rules.conf"] [line "483"] [id "340162"] [rev "289"] [msg "Rules: Remote File Injection attempt in ARGS (AE)"] [data "videofoni.net/diziizle/seyret-1tspqefvmmq&-neil-young-harvest-moon-subtitulado.html"] [severity "CRITICAL"] [hostname "193.42.159.252"] [uri "/search"]