Linux-haladó

Többszálú program elvi wallclock-time mérése

Fórumok

A cím is elég béna lett, de a felvetés még bénább lesz:

Szóval egy 4 core-os gépen egy többszálú program hatékonyságát szeretném mérni, ha lehet úgy, hogy közben a napi desktop munka mehessen, de olyan időt mérjek, mintha csak a vizsgált progi futna.

Hogy világosabb legyek: az a baj, hogy a szálak néha várnak egymásra, így ha az egyik core-t egy kicsit leterheli mondjuk egy nagyobb weboldal behozása, az ott futó szál lelassul, de ez a szinkronizáció miatt a többit is várakoztatja, így a végső hatás meglehetősen bonyolultan alakul ki.

A cél pedig az lenne, hogy azt mérjem, milyen lenne a futásidő, ha nem zavarnának be a többi processzek, hisz ez méri a vizsgált algoritmus hatékonyságát.

1. megoldás: mindenkit kitiltok a benchmark idejére a gépről és csak a teszt fut. Ez nehezzen oldható meg.

2. megoldás?: Valahogy egy virtuális gépet kreálok, amin csak a mérni kívánt kód fut és ott mérek egy virtuális wallclock time-ot.

Nagy baromság a 2. megoldás ötlete? Az nem baj, hogy a virtualizáció lassít: csak az egyes algoritmusváltozatok egymáshoz képesti viselkedése érdekes, no meg a skálázódása.

Vagy van valami más megoldás?

Előre is kösz!

SaMBa vs. Total Commander teljesítményprobléma

Fórumok

Adott egy HP ProLiant DL180 G6 szerver 12GB RAM-mal Smart Array P410(?) vezérlővel, 12 db. 1TB-os 7200RPM-es SATA vinyóval. 11 lemez RAID5-tömbbe van foglalva (nettó 10TB), a 12-ik hot spare. A stripe méret (ha jól tudom) 64kiB, és ehhez vannak igazítva a partícióhatárok, és természetesen az mkfs-nek is megadtam ezt a paramétert.

SLES11 fut a gépen Xen kernellel, de domU-k egyelőre nincsenek, majd a jövőben. Szóval minden a dom0-ban fut, a hálózat (szintén a jövőbeni domU-k miatt) 802.1q tagelve érkezik 2x1Gb/s-on bondinggal (etherchannel).

A HW RAID eszközt kicsit megpiszkáltam a /sys fájlrendszeren keresztül (deadline scheduler + 1-2 dolog), és úgy osztottam fel, hogy az elején ott van pár elhanyagolható méretű partícón a rendszer, ~2TiB szabad hely van a végén, a kettő között egy ~7TiB-es /home partíció tölti be a legfontosabb szerepet, mivel főként Samba szerver fut a gépen. Minden fájlrendszer ext3 relatime,data=writeback mount opciókkal.

Nagyméretű (nx10 GB-os) fájlok tárolása a fő feladat (főként írási műveletek történnek), és úgy vettem ki, hogy hosszútávon ~170MB/s-mal lehet fájlokat olvasni a /home-ról, és ~75MB/s-mal lehet írni rá. 1Gb/s kapcsolattal rendelkező Windows Server 2008-cal csatlakoztam a Samba szerverhez, és kipróbálam, milyen sebességgel tudok írni/olvasni rá. A Windows Intézővel mindkét irányban 100%-ra (~110MB/s) tudtam terhelni a Sambát (íráskor persze a szoftveres cache megtelése után ez visszaesett ~75MB/s-ra).

A Total Commander azonban csak 75MB/s-mal tud olvasni a szerverről, kivéve, ha leállítok egy másolást, majd újrakezdem, mert ilyenkor ez is megy ~110MB/s-mal egy darabig (A Windows Intéző még nem olvasott fájlnál is teljes sebességgel megy). Ugyanakkor ha a Total Commander-rel egy másik Windows Server 2008-hoz csatlakozok, ugyanolyan gyorsan tud róla olvasni a kezdetektől, mint az Intéző a Sambás megosztásról.

Próbálkoztam az smb.conf-ban az 'aio read size', 'use sendfile' és 'socket options' paraméterek állítgatásával, de nem sikerült megoldani a problémát. Úgy tűnik, mintha a Total Comander valami olyamit mondana a Sambának, amitől az valahogy visszafogottabb sebességgel olvassa be a lemezről a fájlokat. Vajon mi lehet ez? BTW. a Samba verziója 3.2.7, a Total Commanderé 7.50.

Előre is köszi a segítséget!

Dokumentum felhasználó hiba

Fórumok

Üdv,

Adott egy XP és egy linux szamba szerver. A következő probléma jött elő és nem igazán értem, hol kellene a hibát keresni.

Az XP-n volt bejelentkezve egy user létrehozott egy doksit. Ez a user elment lett helyette user2. A user 2 átszerkeszti, menti, edig minden ok. A dokumetumot megnyitja user2 utána user 3probálja megnyitni akor az irja az exel, hogy a user már megnyitotta.
Ami azért is érdekes, mert a user már sehol nincs, se gép névben, se felhasználói szinten.

Szerintetek hol kellene elkezdeni a hiba keresést? Tudom apró szépség hiba, de érdekel, hogy mi okozhat ilyet.
köszönöm a segítséget.

Elfogyott a hely, de hova lett?

Fórumok

Sziasztok!

Belefutottam egy régi, nem túl okosan partícionált szerverbe.
Hogyan lehetséges ez:

debian:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg00-root
9.7G 9.1G 71M 100% /
tmpfs 502M 0 502M 0% /lib/init/rw
udev 10M 44K 10M 1% /dev
tmpfs 502M 0 502M 0% /dev/shm
/dev/sda1 456M 20M 412M 5% /boot
/dev/mapper/vg00-home
136G 129G 75M 100% /home

debian:~# du -sh /* --exclude=home
3.5M /bin
12M /boot
0 /cdrom
168K /dev
4.2M /etc
4.0K /initrd
0 /initrd.img
53M /lib
48K /lost+found
12K /media
5.5M /mnt
4.0K /opt
1017M /proc
61M /root
3.1M /sbin
4.0K /srv
0 /sys
13M /tmp
377M /usr
333M /var
0 /vmlinuz

A home-ot azért exclude-oltam, mert külön partíción van és sokáig számolta volna. Sok benne a cucc.

Szóval, ha így ránézésre összeadom, akkor a root partíció-ban lévő adat igen messze van a fent jelzett 9.1G-től.

?

FibreChannel HBA+SCST => FC target

Fórumok

Adott egy Emulex 2Gbit/s-es FC HBA, ennek segítségével szeretnék szoftveres FC targetet létrehozni a gépemen.
Operációs rendszerként Slackware64 13.0-át használok 2.6.32.8-as kernellel.
A "művelethez" szükséges az SCST programcsomag és az lpfc driver módosított változata szükséges.
Ez utóbbi esetén a kernelben is megtalálható Emulex drivert módosították, hogy támogasson a target mode-hoz szükséges beállításokat.
A projekt fájljai közt a "lpfc SCST Support" mappa alatt kell keresni.
A probléma az, hogy ebben az ágban csak a 2.8.0.41-es verzió érhető el, ami csak a 2.6.18+ kernelekkel fordul le.
A "szűz" driverből 2.6.27 feletti kernelekhez a 2.8.8.14 áll rendelkezésre, ez viszont nem tartalmazza a szükséges módosításokat.
Így most meg vagyok lőve, mert a kernelemhez nem fordul le az scst-enabled driver, mivel "túlságosan új" a kernelem. :(
Remélem lassan rákapcsolnak a fejlesztők, mert már a legutóbbi kiadás közel egy éves. :(

apache proxy authentikáljon a proxyzott oldalon

Fórumok

Sziasztok,

Azt kellene valahogy megadni az Apache2 konfigban, hogy automatikusan intézze el az authentikációt a proxyzott uTorrent WebUI felé. Ilyet lehet egyáltalán csinálni?

Részletek:
Adott egy Ubuntu Server gép amin egy Apache2 webszerveren keresztül szeretném elérni a uTorrent WebUI-t. Ez eddig működik is szépen (a uTorrent Wine-al megy persze) csak annyi a gond, hogy a hülye uTorrent WebUI-naknem lehet megadni hogy NE kérjen authentikációt. Én viszont mindenképpen a saját Apacsommal szeretném megoldani a hitelesítést (egyrészt mert az logolható, másrészt mert Digestet akarok).

/etc/apache2/sites-avaliable/default:

ServerName xxx
ServerAdmin webmaster@localhost
DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride None

AuthType Digest
AuthName "xxx"
AuthUserFile /etc/.htdigest
Require user xxx
IndexIgnore *
Options Indexes FollowSymLinks MultiViews
AllowOverride None

#Itt jön a uTorrent WebUI proxy:

ProxyPass http://localhost:8000/gui
ProxyPassReverse http://localhost:8000/gui

köszi előre is a segítséget

linux ethernet bonding

Fórumok

Üdv mindenkinek,

Kísérleti jelleggel szeretném kipróbálni az ethernet bonding-ot.Jelenleg a következő a helyzet:

- test1 szerver 2x Intel Corporation 82576 Gigabit
- test2 szerver 2x Broadcom Corporation NetXtreme BCM5721 Gigabit
- Linksys SRW2048 switch 24 port Gigabit

- Mindkét szerveren létrehoztam a (eth1,eth2)-> bond0 hálózati eszközöket mode=4 (802.3ad) szerint.
- A switch-en szintén össze vannak kötve a port párok IEEE 802.3ad Dynamic link aggregation szerint.

Az adatátvitel megy a gépek között (bond0<->bond0) de csak egyszeres Gigabit sebességgel. (~110MByte/sec)


# Transmitter 10.0.1.1
dd if=/dev/zero bs=10k count=102400 | nc -l p

# Receiver 10.0.2.1
nc 10.0.2.1 10000 | pv -b >/dev/null

ifconfig szerint is csak az egyik slave hálózati eszközön ment keresztül az adat


bond0     Link encap:Ethernet  HWaddr 00:1e:0b:5a:a2:e9  
          inet addr:10.0.2.1  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::21e:bff:fe5a:a2e9/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:53318 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3985612 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4935280 (4.7 MiB)  TX bytes:263100254 (250.9 MiB)

eth0      Link encap:Ethernet  HWaddr 00:1e:0b:5a:a2:e8  
          inet addr:172.16.2.202  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::21e:bff:fe5a:a2e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8002809 errors:0 dropped:0 overruns:0 frame:0
          TX packets:751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12095476780 (11.2 GiB)  TX bytes:102508 (100.1 KiB)
          Interrupt:16 

eth1      Link encap:Ethernet  HWaddr 00:1e:0b:5a:a2:e9  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:27591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:819 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2577904 (2.4 MiB)  TX bytes:87648 (85.5 KiB)
          Interrupt:17 

eth2      Link encap:Ethernet  HWaddr 00:1e:0b:5a:a2:e9  
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:25727 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3984793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2357376 (2.2 MiB)  TX bytes:263012606 (250.8 MiB)
          Memory:dc220000-dc240000

- A kérdésem az lenne, hogy csinált már valaki ilyet?
- Mit rontok el, hogy nem növekszik az átviteli sebesség? Egyáltalán kellene, hogy bond0<->bond0 esetén a duplája legyen?

A válaszokat előre is köszönöm.

IP-újrakérés webes felületről

Fórumok

Sziasztok!

Adott egy Debian Lenny, ami routerként funkcionál.
Szeretnék beállítani egy olyan felületet, amivel újra lehet kérni a szolgáltatótól az IP-címet, esetleg a dhcp kliens válaszát megjeleníteni.

A gondom ezzel az, hogy sima userként ezt nem tudom ugye megtenni...

...ti hogyan oldanátok meg, hogy ne jelentsen kockázatot?

Minden ötletet/javaslatot előre is köszönök.

Szerk.:
Mondjuk olyat lehet csinálni, hogy megfelelő jogosultságokkal fut egy program, aminek pl. egy másik program átad egy paramétert, aminek hatására előre meghatározott akciót hajt végre?

Ha igen, hogyan?