1 |
Szia László! |
2 |
|
3 |
Az igen kurta nodejs doksi alapján: |
4 |
http://nodejs.org/api/fs.html#fs_fs_statsync_path |
5 |
arra tippelek, hogy egészen egyszerű stat rendszerhívás lehet a háttérben: |
6 |
http://linux.die.net/man/2/fstat |
7 |
|
8 |
Márpedig ehhez nem kell megnyitni egy fájlt sem. Továbbra is erősen |
9 |
gyanús hogy súlyos programhiba van a háttérben. |
10 |
|
11 |
Bár a /proc/sys/fs alatti dolgokkal nem vagyok érdemben ismerős, a |
12 |
/proc/sys/fs/inotify egy könyvtár és alatt nálam az alábbi fájlok annak |
13 |
benne (tartalommal): |
14 |
max_queued_events (16384) |
15 |
max_user_instances (128) |
16 |
max_user_watches (524288) |
17 |
|
18 |
Ezek egyike sem jelent milisec-enkénti korlátozást. Viszont, ha jól |
19 |
értem ezek olyasmiről szólnak, hogy értesítést lehet kérni a kerneltől |
20 |
ha egyik vagy másik fájl változik. Valószínű hogy az fs.statSync-ben van |
21 |
ilyen figyelés is kérve, s azok túl későn lesznek elengedve. Talán |
22 |
mintha ugyanazon 300 fájlt többszörösen is figyelni próbálná a script. |
23 |
És lehet hogy csak előre leprogramozott intervallumonként fut le az a |
24 |
kód ami elengedi a fájl figyelést. Ez pedig programhiba. Ha van elég |
25 |
memóriád emelheted ezeket a limiteket, jóformán kockázat nélkül. De |
26 |
azért jobb ha utánaolvasol, hogy pontosan mi a szerepe ezeknek egyenként. |
27 |
|
28 |
Mégis, én inkább nem demóznék egy olyan kétes programot, ami egy stat |
29 |
hívás-t, mely nem igényel fájl megnyitást sem, nem tud biztonsággal |
30 |
végrehajtani. Egyébként is, a rendszernek számtalan olyan karbantartási |
31 |
feladata van melyhez esetenként sok fájlt kell megnyitnia és bezárnia. |
32 |
Mégis működik nem? Ez nem kernel-beállítás hanem valami nodejs-sel vagy |
33 |
a nálad lévő scripttel kapcsolatos hiba lesz. |
34 |
|
35 |
Üdv, |
36 |
Péter |
37 |
|
38 |
2014-11-26 14:13 keltezéssel, Testa írta: |
39 |
> Szia Peter, |
40 |
> |
41 |
> Koszi a valaszod. |
42 |
> Meg egzsyer meg probalom meg fogalmazni. |
43 |
> Egy 200 sorros scriptrol beszelunk ami egy set interval utan csinal 300 |
44 |
> fs.statSync et... (ha read lenne akkor lassabb lenne es nem lepne fel a |
45 |
> hiba.) |
46 |
> Persze tudom hogy az emelt file rendszer cache a fo ok amiert ilyen |
47 |
> gyorsan kepes az olvasast vegre hajtani a rendszer. Szoval technikailag |
48 |
> az en hibam is. De szuksegem van erre a teljesitmenyre... ( Mivel a |
49 |
> rendszer egy demonstracio ) |
50 |
> |
51 |
> A problema az hogy a linux kernel 8 file megnyisat teszi lehetove ms |
52 |
> ekenkent... Probaltam a /proc/sys/fs be meg talalni a erre a megoldast. |
53 |
> Ugyan meg is talaltam a /proc/sys/fs/inotify ba amit keresek. De ezt nem |
54 |
> merem 300 ra allitani. Ha persze a programot le lassitom akkor |
55 |
> tokeletesen fut. Viszont nem hiszem hogy ez hosszu tavon jo megoldas... |
56 |
> (Teny jelenleg ezt a modszert valasztottam) |
57 |
> |
58 |
> |
59 |
> Udv |
60 |
> Laszlo |
61 |
> |
62 |
> On 11/26/14 12:50, Császár Péter wrote: |
63 |
>> Szia Testa, |
64 |
>> |
65 |
>> Kissé homályos hogy mi is történik pontosan, de majdnem biztos vagyok |
66 |
>> benne hogy vagy az a nodejs progi, vagy az általa használt libekben |
67 |
>> valahol súlyos hiba van. Helyesen megírt program nem fog elszállni csak |
68 |
>> mert gyorsabb gépet teszünk alá. |
69 |
>> |
70 |
>> Szóval a helyedben én írnék egy bugriportot, ha fontos ez a program a |
71 |
>> számodra. |
72 |
>> |
73 |
>> Üdv, |
74 |
>> Péter |
75 |
>> |
76 |
>> 2014-11-26 13:08 keltezéssel, Testa írta: |
77 |
>>> Hello mindenki, |
78 |
>>> |
79 |
>>> Tenyleg olyan hibam van amit nehez elhinni. |
80 |
>>> Nem gentoos hiba de remelem lesz valakinek otlete. |
81 |
>>> Szoval. Adott egy nodejs program ami olvas a file 300 filet. |
82 |
>>> Ezt elvegzi minden masodpercben. |
83 |
>>> A program tokeletesen mukodik majdnem minden desktopon. |
84 |
>>> Ha az nem i7 es a merevlemez nem egy jo gyors ssd es nincs szanaszet |
85 |
>>> optimalizalt gentoo a rendszeren. |
86 |
>>> Sajnos ssd -n plusz i7-en vagy xeon-on olyan gyors hgy a sigserv kilovi. |
87 |
>>> (XEON on mar az elso olvasas meghal, i7 en en csak a madsodik ellenorzes) |
88 |
>>> Sajonos ez nodejs es nem tudok wait-et/sleep-et hasznalni. |
89 |
>>> Van ra mod hogy a file limitet/ms -et atirjam ? |
90 |
>>> |
91 |
>>> |
92 |
>>> Elore is koszi. |
93 |
>>> |
94 |
>> |
95 |
> |
96 |
> |