Dienstag Feb. 21, 2012

Apache 2.4 - Wie geil is das denn ;-)

Apache 2.4 ist released! - Guter Artikel bei heise.de. Das Wichtigste in Kürze:

- Event-MPM: Mit diesem Modul schließt der Apache von der Performance her wohl zu nginx auf.
- Weniger Speicherverbrauch als 2.2
- Die neue If-Direktive erlaubt es, Konfigurationsblöcke abhängig von Eigenschaften einzelner Requests zu aktivieren.
- mod_sed (alles was mit SED funktioniert, sollte auch hiermit tun) und mod_proxy_html (HTML-Parser) können Antworten dynamisch umschreiben.
- mod_proxy_fcgi als einfach Alternative zu mod_fcgi (ähnlich mod_proxy_ajp)
- Eine neue Implementierung ist die Lastverteilungsmethode Heartbeat. Hierbei melden die Knoten einer Backend-Farm dem Webserver in regelmäßigen Abständen über das Heartbeat-Protokoll ihre Existenz und Auslastung.
- mod_remoteip reicht die eigentliche Client-IP durch, wenn der Apache hinter einem Proxy steht
- Im Bereich Authentication, Authorization und Accounting hat sich wieder einiges getan.
- Der Loglevel ist jetzt pro Modul einstellbar und viel feiner einstellbar
- Per mod_log_debug kann man sehr detailiert festlegen, wann man was loggen will

Apache forever! ;-)

Mittwoch Feb. 08, 2012

Links 20120208 - SYN Flood, Firefox Yoono und Tilt 3D, OpenConnect

Tatort Internet S02E01 - Nach uns die SYN-Flut: Ein ganz interessanter Artikel über eine SYN-Flood Attacke.
Mozilla Addon Tilt 3D  - Ziemlich cooles Plugin. Damit kann man sich eine Seite in 3D betrachten und die einzelnen HTML-Elemente inspizieren.
OpenConnect - Wie VPNC ein OpenSource Client für Cisco AnyConnect SSL VPN.
Mozilla Addon Yoono - Twitter Facebook LinkedIn YouTube GTalk AIM von über eine zusätzliche Sidebar immer im Überblick.

Dienstag Feb. 07, 2012

Links 20120207 - HekaFS, GlusterFS, StackOps

HekaFS (ehemals CloudFS) - Ein verteiltes Dateisystem das auf GlusterFS basiert, welches vor einiger Zeit von Redhat übernommen wurde. Auch wenn das Projekt in den nächsten Monaten komplett in GlusterFS aufgehen wird, sind ein paar interessante Artikel zu finden.
The Future of GlusterFS - Mit der Übernahme von Redhat bekommt GlusterFS natürlich noch einen ganz anderen Drive und wird wohl früher oder später auch in OpenStack (Cloud Plattform Software) landen.
StackOps - Eine OpenStack Distribution (aktuell auf Ubuntu 10.04 LTS basierend) welche es relativ einfach macht, seine eigene Cloud aufzusetzen. Aufgrund der vielen Unterstützer, wird OpenStack wohl die (private) Cloud-Plattform schlecht hin werden.


Freitag Feb. 03, 2012

Oracle - Statements ohne Bindungsvariablen

Größere Performanceprobleme bei Oracle können sich ergeben, wenn man nicht konsequent Queries mit Bindungsvariablen einsetzt. Um mal schnell rauszufinden, welche davon so laufen, kann man folgende Statements nutzen:

create table t1 as select sql_text from v$sqlarea;

alter table t1 add sql_text_wo_constants varchar2(1000);


create or replace function

remove_constants( p_query in varchar2 ) return varchar2
as
    l_query long;
    l_char  varchar2(1);
    l_in_quotes boolean default FALSE;
begin
    for i in 1 .. length( p_query )
    loop
        l_char := substr(p_query,i,1);
        if ( l_char = '''' and l_in_quotes )
        then
            l_in_quotes := FALSE;
        elsif ( l_char = '''' and NOT l_in_quotes )
        then
            l_in_quotes := TRUE;
            l_query := l_query || '''#';
        end if;
        if ( NOT l_in_quotes ) then
            l_query := l_query || l_char;
        end if;
    end loop;
    l_query := translate( l_query, '0123456789', '@@@@@@@@@@' );
    for i in 0 .. 8 loop
        l_query := replace( l_query, lpad('@',10-i,'@'), '@' );
        l_query := replace( l_query, lpad(' ',10-i,' '), ' ' );
    end loop;
    return upper(l_query);
end;
/
update t1 set sql_text_wo_constants = remove_constants(sql_text);

select sql_text_wo_constants, count(*)

  from t1
 group by sql_text_wo_constants
having count(*) > 100
 order by 2
/