Salut,
lucrez la un proiect cu tema analiza performante protocol Net Remoting / Mono . Am ajuns la ultimele capitole si pe baza unor grafice construite din dialogul client-server am urmatoarea problema ce nu stiu sa [mi] - o explic ! Un client face zece apeluri distante pe un server scris in C#. Serverul face o simpla adunare si ..nici nu trimite rezultatul la client. Am toate metodele ce sunt apelate in executia programului .. si apoi am delimitat cele zece cicluri pt acele apeluri . Intii scriu niste cifre ..si apoi comentez ! :-) /// pe client ! #CALL-1 # 0---- [64.793] --- Server --- [574.200]---- [596.131] #CALL-2 # 0---- [1.972] --- Server --- [11.206]---- [45.435] #CALL-3 # 0---- [1.796] --- Server --- [47.876]---- [79.896] /// pe server ! #CALL-1 # From client --> 0--440.088---444.133---489.536---> To client #CALL-2 # From client --> 0--6.442---6.924---8.228---> To client #CALL-3 # From client --> 0--43.761---44.238---45.312---> To client Toate datele sunt in milisecunde. Incepind cu apelul 3 ... se observa pe grafic ( nu am cum sa il atasez ... daca vreti il trimit via email ! ) ca exista 2 apeluri de Socket:Receive .. pe client care dureaza 45 respectiv 30 milisecunde ..care normal ca face ca performantele apelului sa fie ..mici , fata de apelul 2! A cui este vina ..a OS, Linux care comanda cind si cat vrea sa primeasca via Socket:Receive() ? Cum pot monitoriza activitatea acestora ... e vorba de 10 apeluri in vreo max 10 secunde ... cu vmstat si socklist , rezultate slabe, nu ma ajuta sa vad ce se intimpla !? Si inca ceva ... cum se explica timpii foarte mici la cel de-al doilea apel , are datele in registri ? , nu e vorba de cache ca nu are la ce face ? La al 2-lea se sincronizeaza perfect cele 2 socket-uri ?? si apoi se desincronizeaza ?! Dupa acest al doilea apel 3-10 ..sunt cu valori apropiate ! Multumesc ..anticipat, ca ati avut rabdare sa cititi emailul ! Daniel G --- Detalii despre listele noastre de mail: http://www.lug.ro/
