zaterdag 11 maart 2006 in Weblog. Permanente link | 2 reacties
Bon, ik ben er min of meer redelijk zeker van dat ik weet wat de problemen op mijn weblog veroorzaakte.
Zoals ik onlangs pas ontdekte (die statistieken nakijken is dan toch voor meer dan egotripperij goed :)) bleek dat er om de zoveel seconden onverlaten mijn archiefpagina van april 2004 opvraagden.
En blijkbaar had PHP (of WordPress, of MySQL, of wie weet wat) daar een probleem mee. Waardoor er redelijk vaak sessies van PHP opgestart werden en niet meer afgesloten. Wat na een tijd leidde tot een volgepropt geheugen, en wellicht ook teveel diskswappen wegens te weinig geheugen, en in ‘t algemeen: miserie.
Ik heb voorlopig die ene pagina vervangen door een html-pagina, en sinds ik dat deed heb ik bij ettelijke steekproeven nooit meer van die ellenlange lijsten PHP-processen zien staan. En is de site ook niet meer vreselijk vertraagd, zoals hij vroeger de neiging had te doen.
Helaas, helaas: gisteren en ook vandaag is de server zelf op zijn bek gegaan. Niet mijn schuld, echt niet. Het kan er aan liggen dat ik sinds mijn recentste resource usage-perikelen terug op de limbo-server sta, en dat die servers nu eenmaal niet de meest stabiele van het serverpark zijn.
In alle geval: nog maar eens een support request ingevuld, en ook meteen opgemerkt dat ze hun request types aangepast hebben. Goeie interfacedeskundigen, dat hebben ze wel:
Please select the type of this request:
- Just a casual question, comment, idea, suggestion..
- I need some help but it’s not super time-sensitive.
- I can’t get things done until I hear back from you, please reply asap.
- Things are broken and I’d like them not to be!
- OMG! EXTREME CRITICAL EMERGENCY!! EVERYTHING’S BROKEN! People are DYING!
Ook de andere drop-down op het supportform is trouwens in orde:
Please select your general expertise in the area of this request:
- Please explain everything to me very carefully.
- I do know some stuff, but please don’t assume too much.
- Overall I know my stuff, but I’m a little shaky in this area.
- I have a good understanding of this stuff.
- >Not to be rude, but I probably know more about this than you!
Waarmee andermaal bewezen is dat technisch niet altijd droog hoeft te zijn. En dat grappig ook accuraat kan zijn.
Nóg beter zou het zijn mocht de server niet dood geweest zijn natuurlijk, maar een mens kan niet alles hebben in het leven.
donderdag 9 maart 2006 in Weblog. Permanente link | 3 reacties
Hm. Tiens. Aardig.
Met een béétje geluk heb ik het gevonden wat de problemen geeft op mijn weblog, met vertragingen en alles.
Ik was tijdens de middagpauze al in uiterste nood aan gaan kloppen bij fijne ex-collega David van het onvolprezen Data Matters om te zien of hij (tegen betaling, ‘t zal wel zijn! steun de kleine zelfstandigen hé meneer!) eventjes deze site een week of zo op een andere server zou kunnen zetten, en daar dan al zijn kennis-ter-zake zou kunnen op botvieren.
Natuurlijk kunnen zij dat (onvolprezen, had ik dat al gezegd?), maar de logische vraag terug: de kostprijs hangt uiteraard af van hoeveel schijfruimten en hoeveel bandbreedte ik opsoepeer.
Diskruimte is snel gedaan en maar een du -k ver weg: zo’n 300 megabyte waarvan misschien wel de helft reservekopieën en andere nonsens. Nonsens zoals een volledige statische kopie via wget afgehaald om standby te hebben mocht het niet gelukt zijn met de verhuis van Typepad naar WordPress 1.5, een volledige kopie van de WordPress 1.5–site toen ik de upgrade deed naar WordPress 2, database-backups, dat soort dingen.
Bandbreedte: geen flauw idee. Ik kijk mijn statistieken al làng niet meer na. Bandbreedte was geen probleem toen ik bij Typepad zat, en nu ik bij Dreamhost zit, is het al helemaal geen probleem—een terabyte per maand, daar geraak ik nog lang niet aan, mijn gedacht. Snel eens die stats bekijken, dacht ik dus, maar nee: ik heb er gewoon geen draaien! Zelfs het standaard door Dreamhost geïnstalleerde één-keer-per-dag-quick-and-dirty-gratis-pakketje had ik uitgeschakeld om resources te bewaren.
Dan maar een weekje logfiles gedownload en er een evaluatieversie van FastStats op losgelaten. Het was deze week, zegt Google Analytics me, relatief rustig, maar dat in acht genomen: een kleine 50.000 bezoekers die in totaal voor 3.8 GB traffiek zorgden.
Dat was eigenlijk alles wat ik nodig had voor David, maar die FastStats (of is het Mach5 Analyzer? ze zijn er zelf gelijk niet al te zeker van) ziet er eigenlijk wel fijn uit, dus ik heb wat verder gegrasduind.
En wat ziet mijn lodderig oog? Dat de archiefpagina van april 2004 door een paar tiental steeds wijzigende IP-adressen per dag in totaal zo’n duizend keer opgeroepen wordt. Zou dat het kunnen zijn?
Ik heb ze in ieder geval vervangen door een statische html-pagina. Eens zien wat dat geeft.
Geschreven al luisterend naar: Johann Sebastian Bach - Toccaten BWV 912-916 - Toccata d-moll, BWV 913
dinsdag 1 november 2005 in Sonstiges. Permanente link | 5 reacties
Pffff… ik zal het wel allemaal helemaal verkeerd doen, en dat is wat er gebeurt als een mens begint te prutsen in een programma dat hij niet kent, in een omgeving die hij niet gewoon is, met een taal die hij al geen vijf jaar meer boven gehaald heeft en zonder te weten wat of hoe.
De situatie: ik krijg een URL van de vorm “website/dir1/file1.html”. Ik heb een tabelletje in een database waar die URL eventueel verbonden wordt met een URL van de vorm “website/dir2/file2.html”. WordPress stuurt standaard zijn 404s naar een 404.php in de templatedirectory.
Ik dus naar die 404.php, en daar zet ik het volgende in:
<?php
$fromURL=$_SERVER['REQUEST_URI'];
global $wpdb;
$redirs = $wpdb->get_results("select toURL from tblRedirects where fromURL = ‘$fromURL’");
if (count($redirs)==1) {
Header("location: ".$redirs[0]->toURL);
exit;
}
?> <?php get_header(); ?>
<h2>Error 404 - Not Found</h2>
<?php get_footer(); ?>
Allemaal proper en simpel, en dat werkt precies zoals het zou moeten, behalve dat het niet werkt. Dus de header wordt wel gezet, maar toch doet het niets. Als ik navigeer naar http://website/2005/10/apple_wast_witt.html, en ik bekijk de response headers, dan staat daar proper tussen
Location: http://website/2005/10/apple-wast-witter.html
…maar hij doet helemaal niets. Dedju, een gewone Response.Redirect is toch een heel eind gemakkelijker.
Zet ik in de plaats van de header stomweg
echo("<meta http-equiv = refresh content=0;url=".$redirs[0]->toURL.">");
dan werkt het voor de menselijke bezoeker wél zoals het zou moeten, maar niet voor Google natuurlijk. En niet voor Internet Explorer, die stomweg blijft staan op een 404. Bah. Verder zoeken.