Kamil 的个人资料Kamil Juřík照片日志列表更多 工具 帮助

日志


10月8日

Znáte Alt + PrtScn ?

Ve snaze najít odpověď na otázku možné koexistence dvou SBS 2003 serverů v jedné AD doméně (já vím, že na dvou SBS Serverech nemohou být repliky jedné AD domény, může být ale SBS Server jako "member server" součástí existující AD domény? Myslím, že ano, nejsem si ale jist správností takového řešení z licenčního hlediska) jsem si pročítal dobrý blog Windows Small Business Server Documentation. Narazil jsem při tom na článek, který s SBSkem nemá nic společného, nicméně jeho hodnota je pro mě velká.

Během své praxe jsem byl nucen vytvořit odhadem již několik stovek snímků částí obrazovky, tzv. screenshotů. K tomu jsem používal buď klávesu PrtSc (na některých klávesnicích má popisek PrtScn nebo PrtScr) a následně jsem výřez upravil, nejčastěji v obyčejném Windows prográmku Malování, který je sice strašně funkčně jednoduchý, nicméně pro tento účel zcela dostačující, nebo za pomocí pera Stylus mého Tablet PC jsem z aplikace One Note 2003 udělal výřez obrazovky, což je někdy velmi efektní, protože výřez může být různě nepravidelný.

No a jaké bylo mé překvapení, když jsem se v článku TIP: How to create screenshots na výše zmíněném blogu dočetl, že existuje klávesová zkratka Alt + PrtSc, s jejíž pomocí lze jednoduše vytvořit screenshot jen aktuálního okna! Říkáte si, že jsem hlupáček, že jsem neznal již dřív tuhle klávesovou zkratku? No, Možná jo, ušetřil bych si spoustu času. Holt nikdo není dokonalý, že. :-)

6月21日

How to run the 32-bit Explorer shell on Windows x64

Velmi zdařilý článek o možnosti provozu 32-bit shellu na Windows XP x64:
How to run the 32-bit Explorer shell on Windows x64.

extended64.com web čtu docela se zájmem. Já sám sice zatím Windows XP Pro x64 provozovat nemůžu, holt ještě žádný Tablet s 64-bit. procesorem neexistuje, ale jakmile se na trhu objeví, jdu do toho! Je to jen otázka času.

MSDE nebo WMSDE?

MSDE nebo WMSDE? Jak se od sebe liší? Jak je to opravdu s maximální velikostí databáze? 2 GB, 4 GB, 16 GB nebo neomezeně? A jak je to s tím omezeným výkonem těchto databází? Co je SQL Server 2005 Express Edition? A proč vlastně nepoužívat pro DB aplikace Access?

Takže hezky popořadě:

Microsoft SQL Server 2000 Desktop Engine, aneb MSDE, je databázové jádro SQL Serveru 2000, které je dostupné zcela zdarma a je volně šiřitelné.

Ve srovnání s plnou verzí SQL Serveru však MSDE obsahuje řadu omezení (je zadarmo, tak se není čemu divit, že). Omezení, jak uvádí Microsoft, spočívají v omezení maximální velikosti databáze, v omezeném výkonu databázového stroje a v omezeném počtu souběžných instancí.

MSDE podporuje databázi o maximální velikosti 2 GB, tečka, tady se není moc o čem bavit.

U omezení výkonnosti už to však tak jednoduché není. MSDE a rovněž SQL Server 2000 Personal Edition obsahuje proces „workload governor“, který omezuje výkon databáze při překročení určitého počtu souběžných databázových operací (typicky spuštěný příkaz SQL).

Workload governor je navržen tak, aby omezoval výkon instance databázového stroje v případě, kdy databáze vykonává více než 8 souběžných operací.

MSDE, ostatně jako všechny verze SQL Serveru 2000 a SQL Serveru 2000 Personal Edition, podporuje 32 767 připojení k instanci databázového stroje. Neexistuje přitom žádné omezení pro počet připojení, které mohou v jednom okamžiku spouštět operace. Jediným efektem workload governoru je, že „zpomaluje běh databázového stroje“ v případe, kdy v databázi dochází ke zpracování více než 8 operací současně.

Jakmile je workload governer aktivován, omezuje výkon databáze tím, že vždy na několik milisekund odloží zpracování každé běžící operace, typicky čtení či zápisu dat.

Tolik teorie, kterou si můžete přečíst na webu Microsoftu. Jak je to však v praxi? Nezávislé testy (např. http://fox.wikis.com/wc.dll?Wiki~MSDEBenchMarks~SoftwareEng) dokazují, že i při souběžném provádění více než 8 databázových operací NENÍ pozorováno zpomalení běhu databázového stroje.

A jak je to s omezením počtu instancí MSDE na jednom serveru? Podle základního popisu lze na jednom stroji instalovat stejný počet instancí MSDE jako plnohodnotného SQL Serveru, tedy 16. Uvádí se to na http://www.microsoft.com/sql/msde/productinfo/features.asp, avšak informace o praktickém použití se hledají těžko a nelze se tedy na číslo 16 spolehnout. (informace převzata z časopisu QUAS č. 49, vydává společnost DAQUAS.)

Microsoft SQL Server 2000 Desktop Engine (Windows), aneb WMSDE, je obdoba klasického MSDE dodávaná se službou Windows SharePoint Services. Od klasického MSDE se liší v několika podstatných funkcích. WMSDE především nemá žádný limit velikosti databáze (no popravdě – 16 GB by měl být údajně strop, v praxi jsem to ale nezkoušel. Vyzkoušeno mám zatím to, že 2 GB limit tam opravdu není, až budu mít v DB víc než 16 GB dat, dám vám vědět. Oficiálně se však říká, že žádný limit velikosti u WMSDE není). Na jedno omezení velikosti však v praxi při používání WMSDE s Windows SharePoint Services stejně narazíte – do jedné knihovny dokumetů WSS lze uložit max 2 GB dat! Zkoušel jsem to několikrát a vždy to tak bylo. WSS vám u dané knihovny oznámí „Vykreslení se nezdařilo“ a hotovo.

WMSDE, na rozdíl od MSDE, také nemá žádné umělé omezování výkonu, nicméně jak jsme si již řekli, není to zase takový problém. Je tu však jedna podstatná informace – WMSDE nepodporuje žádné uživatelsky definové databáze, funkčně je navázaná výhradně na službu Windows SharePoint Services! WMSDE lze spravovat pouze lokálně.

V praxi je rovněž poměrně obtížné poznat, máme-li nainstalováno MSDE, nebo WMSDE. Zmínka o tom je např. v článku KB823465 ("You may not be able to distinguish between instances of Microsoft SQL Server 2000 Desktop Engine or Microsoft SQL Server 2000 Desktop Engine (Windows) in the Add or Remove Programs entry in Control Panel", http://support.microsoft.com/default.aspx?scid=kb;en-us;823465).

Používáte-li jako DB engine Microsoft Access, pak největšímu problému, kterému můžete čelit je pravděpodobně způsob systému zápisu dat do tabulek. Access totiž patří k tzv. "raw" databázím, tzn. že data zapisuje přímo do tabulek a musí se čekat, až se dotaz zpracuje, což jednak zpomaluje běh aplikace a jednak nastávají problémy, pokud např. dva uživatelé chtějí modifikovat jednu tabulku popřípadě jeden záznam.

No a SQL Server 2005 Express Edition? V polovině letošního roku nahradí MSDE. Maximální velikost databáze bude 4 GB, podpora 1 CPU a 1 GB RAM. Dostupné zdarma.

Windows Server 2003 Access-based Enumeration

Tak tohle je absolutně cool! Řízené zobrazování obsahu dle oprávnění uživatele. Překládat snad netřeba:

"Windows Server 2003 Access-based Enumeration makes visible only those files or folders that the user has the rights to access. When Access-based Enumeration is enabled, Windows will not display files or folders that the user does not have the rights to access. This download provides a GUI and a CLI that enables this feature."

Co dodat? Stahujte z Microsoft Download Center.

HT a Virtual Server 2005

Ještě jste o něm neslyšeli? To snad ani nejde, tedy pokud jste nebyli rok na dovolené... Ano, Microsoft má serverové řešení pro virtualizaci systémů. Nechci teď popisovat, co Virtual Server všechno umí (nebo neumí), ostatně tenhle produkt je už nějakou dobu na trhu, jen mě docela zaujala zmínka související s Intel procesorovou technologií Hyper-Threading.

Procesor Intel(R) Pentium(R) 4 s HT technologiíCo to vlastně Hyper-Threading je? Stručně řečeno jde o schopnost procesoru provádět vícevláknové aplikace (multi-threaded) souběžně na jednom procesoru. Intel ve svých materiálech uvádí, že dosahové zvýšení výkonu oproti "standardním" procesorům se pohybuje v rozmezí 8-30%. No, s tím je samozřejmě možné polemizovat. Nevýhodou HT je to, že je to „virtuální multiprocessing“ – tedy jádro procesoru je zdílené dvěmi virtuálními procesory, což pochopitelně limituje zvyšování výkonu.

Intel k tomu na své stránce uvádí: Koncept “hyperthreadingu” vychází z toho, aby jeden “fyzický” procesor byl schopen pracovat jako dva “logické” procesory. Při troše šikovnosti toho lze dosáhnout celkem jednoduchými prostředky. Stačí totiž na čipu procesoru zdvojit to, co určuje aktuální stav jednoho výpočetního procesu - a to jsou zjednodušeně rečeno registry a stavový vektor (vlajky, programový čítač atd.). Pak je možno, v okamžiku kdy určitý thread (vlákno) čeká například na data z hlavní paměti - prostým přepnutím registrových sad přepnout na druhý thread. Toto samozřejmě optimálně funguje především u vícevláknových úloh. Výkonový zisk se pohybuje okolo 30%, thready je možno přepnout během jednoho taktu hodin. Přitom všechny ostatní prostředky procesoru jako jsou výpočetní jednotky nebo pamět L2 cache, jsou sdílené.

V praxi ovšem také záleží na daném operačním systému a aplikaci, jejíž výkon hodnotíme. Špatně napsaná multithreadová aplikace nebude fungovat dobře a zvýšení výkonu bude minimální, taková aplikace ovšem nebude dobře fungovat ani na klasickém procesoru. 

Dodnes si vzpomínám na nepříjemný pohled pána z Intelu, se kterým jsem se potkal na jedné MS konferenci. Moc se mu nelíbilo, že uváděná procenta navýšení výkonu procesorů s HT na svých kurzech zpochybňuji. Hm, no a co, Intel mě neplatí, nemusím si tedy vymýšlet.

Ovšem zpátky k našemu tématu - HT a Virtual Serveru. Docela mě pobavila hláška uvedená ve Virtual Server Administrators Guide:

Disable hyper-threading technology
Under heavy computing workloads, hyper-threading technology, which allows a single processor to appear as two processors, may cause poor server performance. Because workload is dynamic and can vary quickly, we recommended disabling hyper-threading on the physical server to prevent this potential problem.

:-) Co dodat, já sám jsem to netestoval, je docela možné, že to v praxi nezpozorujete. Stejně jsem si ale neodpustil malinké rýpnutí. Zkrátka a dobře - pánové z Intelu proberte se, vlak vám ujíždí a nepočká. AMD už má dual-core procesor, kdy ho budete mít vy?