Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    32

    [C#] Log di sistema per un piccolo server: Utilizzare un DB o no?

    Buongiorno a tutti, sto sviluppando un server in Linguaggio Visual Studio C# che riceve connessioni simultanee dal web e che metterà in collegamento contemporaneo centinaia di utenti i quali potranno chattare l'uno con l'altro in una unica chat principale e potranno altresì scambiarsi messaggi privati.

    Il codice del programma è gia in buona parte scritto e ora mi trovo a dover implementare una feature molto importante: i log di sistema.

    Ad ogni connessione ho l'esigenza di dover memorizzare IP e nickname dell'utente in modo tale da poter poi rileggere da console quali IP abbia avuto un nickname e, viceversa, quali nickname abbiano avuto il medesimo IP.


    Esempio 1:
    <console> nick_info PiPPo

    ***Informazione nickname: PiPPo***
    IP di connessione: x.y.z.t in data 12/02/2004 ore 15.54
    IP di connessione: x.y.r.e in data 14/02/2004 ore 16.04
    IP di connessione: y.r.t.x in data 15/02/2004 ore 20.25
    ***
    Esempio 2:
    <console> ip_info y.r.t.x

    *** Informazione ip y.r.t.x***
    L'indirizzo ip y.r.t.x è stato utilizzato dai seguenti utenti:
    14/02/2004 ore 08.25 Paperino
    15/02/2004 ore 19.20 Pluto
    15/02/2004 ore 20.25 PiPPo
    ***
    Come memorizzo questi dati? Utilizzo una tecnologia database oppure alloco dinamicamente i dati in memoria (e preventivamente magari ne faccio una copia in un file di testo ".log")? Altre idee?

    La prerogativa da dover rispettare è la massima efficenza e stabilità del server, nonchè evitare colli di bottiglia nell'esecuzione del programma stesso.
    In particolare, una delle caratteristiche fondamentali è la velocità della chat (è già tutto studiato in multithreading): la chat non deve "laggarsi", e in ogni caso il lag deve necessariamente dipendere solo dalle risorse di banda disponibile e non, ad esempio, da un database troppo sovraccaricato a causa degli innumerevoli collegamenti contemporanei o da una memoria ram esaurita e quindi da un elevato paging su disco. Quindi la memorizzazione dei log di sistema deve essere una soluzione che sia un giusto compromesso tra la velocità e l'efficienza.

    Quali sono i vostri consigli?


    Per entrare nell'ordine di idee, le macchine che ospiteranno questi server saranno all'incirca così confezionati:
    OS: Windows 2003 Server o Windows XP,
    Ram: 256-512 MByte,
    Processori: 1800-2600 MHz,
    Connessioni internet di pochi MBit.


    Grazie per l'attenzione.
    FiFFiO
    A questo mondo ci sono 10 persone:
    quelli che capiscono il codice binario e quelli che non lo capiscono.

  2. #2
    Utente di HTML.it L'avatar di JamesD
    Registrato dal
    Oct 2001
    Messaggi
    415
    Secondo il mio punto di vista per stilare dei log nello stile che tu hai descritto ti basta un semplice file di testo a prescindere dal linguaggio che usi o dal OS che adotti.

    Se le informazioni che dovrai memorizzare cresceranno e non sranno più solo IP e Nickname, ma magari anagrafiche di tutti gli utenti, history delle chat e così via allora potrai fare un pensierino anche all'utilizzo di un DB.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    32
    Ok grazie, più o meno ero già di questa idea...

    FiFFiO
    A questo mondo ci sono 10 persone:
    quelli che capiscono il codice binario e quelli che non lo capiscono.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    32
    Ok grazie, più o meno ero già di questa idea...

    FiFFiO
    A questo mondo ci sono 10 persone:
    quelli che capiscono il codice binario e quelli che non lo capiscono.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    32
    Ok grazie, più o meno ero già di questa idea...

    FiFFiO
    A questo mondo ci sono 10 persone:
    quelli che capiscono il codice binario e quelli che non lo capiscono.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    32
    Scusate, il mio browser mi ha creato qualche problema e mi ha replicato il post più volte...

    (Per di più non risulto avere i permessi per cancellare i post inviati da me stesso!)

    FiFFiO
    A questo mondo ci sono 10 persone:
    quelli che capiscono il codice binario e quelli che non lo capiscono.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.