Re: Az evszazad poenja.

Császár Péter <[email protected]> Wed, 26 Nov 2014 16:03:59 +0100
Newsgroups gmane.linux.gentoo.user.hungarian
Message-ID <[email protected]>
Szia L=C3=A1szl=C3=B3!

Az igen kurta nodejs doksi alapj=C3=A1n:
http://nodejs.org/api/fs.html#fs_fs_statsync_path
arra tippelek, hogy eg=C3=A9szen egyszer=C5=B1 stat rendszerh=C3=ADv=C3=A1=
s lehet a h=C3=A1tt=C3=A9rben:
http://linux.die.net/man/2/fstat

M=C3=A1rpedig ehhez nem kell megnyitni egy f=C3=A1jlt sem. Tov=C3=A1bbra =
is er=C5=91sen
gyan=C3=BAs hogy s=C3=BAlyos programhiba van a h=C3=A1tt=C3=A9rben.

B=C3=A1r a /proc/sys/fs alatti dolgokkal nem vagyok =C3=A9rdemben ismer=C5=
=91s, a
/proc/sys/fs/inotify egy k=C3=B6nyvt=C3=A1r =C3=A9s alatt n=C3=A1lam az a=
l=C3=A1bbi f=C3=A1jlok annak
benne (tartalommal):
max_queued_events (16384)
max_user_instances (128)
max_user_watches (524288)

Ezek egyike sem jelent milisec-enk=C3=A9nti korl=C3=A1toz=C3=A1st. Viszon=
t, ha j=C3=B3l
=C3=A9rtem ezek olyasmir=C5=91l sz=C3=B3lnak, hogy =C3=A9rtes=C3=ADt=C3=A9=
st lehet k=C3=A9rni a kernelt=C5=91l
ha egyik vagy m=C3=A1sik f=C3=A1jl v=C3=A1ltozik. Val=C3=B3sz=C3=ADn=C5=B1=
 hogy az fs.statSync-ben van
ilyen figyel=C3=A9s is k=C3=A9rve, s azok t=C3=BAl k=C3=A9s=C5=91n leszne=
k elengedve. Tal=C3=A1n
mintha ugyanazon 300 f=C3=A1jlt t=C3=B6bbsz=C3=B6r=C3=B6sen is figyelni p=
r=C3=B3b=C3=A1ln=C3=A1 a script.
=C3=89s lehet hogy csak el=C5=91re leprogramozott intervallumonk=C3=A9nt =
fut le az a
k=C3=B3d ami elengedi a f=C3=A1jl figyel=C3=A9st. Ez pedig programhiba. H=
a van el=C3=A9g
mem=C3=B3ri=C3=A1d emelheted ezeket a limiteket, j=C3=B3form=C3=A1n kock=C3=
=A1zat n=C3=A9lk=C3=BCl. De
az=C3=A9rt jobb ha ut=C3=A1naolvasol, hogy pontosan mi a szerepe ezeknek =
egyenk=C3=A9nt.

M=C3=A9gis, =C3=A9n ink=C3=A1bb nem dem=C3=B3zn=C3=A9k egy olyan k=C3=A9t=
es programot, ami egy stat
h=C3=ADv=C3=A1s-t, mely nem ig=C3=A9nyel f=C3=A1jl megnyit=C3=A1st sem, n=
em tud biztons=C3=A1ggal
v=C3=A9grehajtani. Egy=C3=A9bk=C3=A9nt is, a rendszernek sz=C3=A1mtalan o=
lyan karbantart=C3=A1si
feladata van melyhez esetenk=C3=A9nt sok f=C3=A1jlt kell megnyitnia =C3=A9=
s bez=C3=A1rnia.
M=C3=A9gis m=C5=B1k=C3=B6dik nem? Ez nem kernel-be=C3=A1ll=C3=ADt=C3=A1s =
hanem valami nodejs-sel vagy
a n=C3=A1lad l=C3=A9v=C5=91 scripttel kapcsolatos hiba lesz.

=C3=9Cdv,
P=C3=A9ter

2014-11-26 14:13 keltez=C3=A9ssel, Testa =C3=ADrta:
> Szia Peter,
>=20
> Koszi a valaszod.
> Meg egzsyer meg probalom meg fogalmazni.
> Egy 200 sorros scriptrol beszelunk ami egy set interval utan csinal 300
> fs.statSync et... (ha read lenne akkor lassabb lenne es nem lepne fel a
> hiba.)
> Persze tudom hogy az emelt file rendszer cache a fo ok amiert ilyen
> gyorsan kepes az olvasast vegre hajtani a rendszer. Szoval technikailag
> az en hibam is. De szuksegem van erre a teljesitmenyre... ( Mivel a
> rendszer egy demonstracio )
>=20
> A problema az hogy a linux kernel 8 file megnyisat teszi lehetove ms
> ekenkent... Probaltam a /proc/sys/fs be meg talalni a erre a megoldast.
> Ugyan meg is talaltam a /proc/sys/fs/inotify ba amit keresek. De ezt ne=
m
> merem 300 ra allitani. Ha persze a programot le lassitom akkor
> tokeletesen fut. Viszont nem hiszem hogy ez hosszu tavon jo megoldas...
> (Teny jelenleg ezt a modszert valasztottam)
>=20
>=20
> Udv
> Laszlo
>=20
> On 11/26/14 12:50, Cs=C3=A1sz=C3=A1r P=C3=A9ter wrote:
>> Szia Testa,
>>
>> Kiss=C3=A9 hom=C3=A1lyos hogy mi is t=C3=B6rt=C3=A9nik pontosan, de ma=
jdnem biztos vagyok
>> benne hogy vagy az a nodejs progi, vagy az =C3=A1ltala haszn=C3=A1lt l=
ibekben
>> valahol s=C3=BAlyos hiba van. Helyesen meg=C3=ADrt program nem fog els=
z=C3=A1llni csak
>> mert gyorsabb g=C3=A9pet tesz=C3=BCnk al=C3=A1.
>>
>> Sz=C3=B3val a helyedben =C3=A9n =C3=ADrn=C3=A9k egy bugriportot, ha fo=
ntos ez a program a
>> sz=C3=A1modra.
>>
>> =C3=9Cdv,
>> P=C3=A9ter
>>
>> 2014-11-26 13:08 keltez=C3=A9ssel, Testa =C3=ADrta:
>>> Hello mindenki,
>>>
>>> Tenyleg olyan hibam van amit nehez elhinni.
>>> Nem gentoos hiba de remelem lesz valakinek otlete.
>>> Szoval. Adott egy nodejs program ami olvas a file 300 filet.
>>> Ezt elvegzi minden masodpercben.
>>> A program tokeletesen mukodik majdnem minden desktopon.
>>> Ha az nem i7 es a merevlemez nem egy jo gyors ssd es nincs szanaszet
>>> optimalizalt gentoo a rendszeren.
>>> Sajnos ssd -n plusz i7-en vagy xeon-on olyan gyors hgy a sigserv kilo=
vi.
>>> (XEON on mar az elso olvasas meghal, i7 en en csak a madsodik ellenor=
zes)
>>> Sajonos ez nodejs es nem tudok wait-et/sleep-et hasznalni.
>>> Van ra mod hogy a file limitet/ms -et atirjam ?
>>>
>>>
>>> Elore is koszi.
>>>
>>
>=20
>=20