"Simon [2700]" <devnull@linux.org> writes:
[snip]
> #!/usr/bin/perl
> print "Content-type:text/html\n\n";
> 
> use CGI;
> $query = new CGI();
> $table  = $query->param('id');
> 
> use DBI;
> $|= 1;
> $dbh = DBI->connect("DBI:mysql:db:localhost","user","pass");
> $dbh->do("update $table SET hits=hits+1;");
> exit(0);
Hej,
Bare nogle generelle tips:
* Som Peter siger: Er det netop det script du vil optimere?  Du siger du
  regner med  1-2mill hits/dag paa den, er den counter det eneste din server
  laver med den frekvens?  (1-2mill = 12-24 hits/sekund).
* Brug mod_perl eller lign. saa dit script ikke skal genindlaeses
  fra 'scratch' hele tiden. At kompilere script-sprog for hvert kald
  tager tid (mere end selve eksekveringen sandsynligvis) og meget hukommelse.
* Hvis det viser sig at det netop er det script du vil optimere, saa se
  paa at lade vaere med at importere pakker:
  + CGI, bruger du kun til at finde en parameter. Hvis du aldrig faar andet
    end den ene parameter kan du goere ala:
    my $table = substring($ENV{QUERY_STRING}, length("?id"));
    (og du kan sikkert selv her se at du kan optimere length(), bare for at
    demonstrere princippet - og, at det er noget af et sikkerhedshul direkte
    at angive sql-stumper i html'en 

.
  + DBI, brug en tekst-fil istedet som Peter skriver.
Og saa lige til sidst:  Hvorfor har du et image der returnerer html?  Og
du skal nok have noget javascript'random med i stien for at snyde browseren
til at kalde dit script for hver pageload.
Mvh,
-- 
                                                             ___
   Soren Davidsen                                           /  o\
   Deliver yesterday, code today, think tomorrow.          (_____)
__ 
http://www.tanesha.net/ _________________________________(___)_______