HTC EVO 3D Specifications and Video

HTC announced latest Android smart phone, the new HTC EVO 3D, and now they have released a short video which gives us a glimpse at this new 3D Android smart phone. The video below gives as a quick look at the 3D cameras and the new 3D display as well as the user interface, and the display looks pretty good from the video. The HTC EVO 3D comes with a range of impressive stats.

\r\n\r\n

The HTC EVO 3D features a 4.3 inch qHD display, and processing is provided by a dual core 1.2GHz processor, it also features a dual 5 megapixel camera on the back which is capable of taking standard photos in a five megapixel resolution and 3D photos in a two megapixel resolution.

\r\n

The camera on the back of the EVO 3D also features autofocus and a dual LED flash, plus you get a 1.3 megapixel camera on the front for video chat.\r\n

\r\n

The 4.3 inch qHD display comes with a resolution of 960 x 540 pixels, and it is capable of displaying 3D videos and photos without the need for a pair of 3D glasses.\r\n

\r\n

The HTC EVO 3D comes with Android 2.3 Gingerbread, connectivity comes in the form of WiFi, Bluetooth, and it also features a range of sensors which include a gyro sensor, a g-sensor, digital compass, proximity sensor and an ambient light sensor.\r\n

\r\n

\r\n

\r\n

The EVO 3D comes with a 3.5mm audio jack, a micro USB port with mobile high-definition video link (MHL) for USB or HDMI connection, and it features 1GB of RAM and 1GB of storage built in, there is also a microSD card slot.\r\n

\r\n

The video camera on the HTC EVO is capable of recording 3D video in High Definition at 720p or full HD video in 1080p in 2D, there are no details on pricing or availability as yet.\r\n

\r\nHTC EVO 3D Features\r\n\r\n

    \r\n
  • \r\n
    Industry-leading 4.3-inch 3D QHD display with pinch-to-zoom and tactile feedback\r\n

    \r\n

      \r\n
    • 3G/4G capability\r\n
    • \r\n

    \r\n

  • \r\n

  • 1.2 GHz Qualcomm Snapdragon dual-core processor\r\n
  • \r\n

  • World-class HTML browser –  bandwidth and quality that rival that of netbooks\r\n
  • \r\n

  • Android 2.3 (Gingerbread) and the latest version of HTC Sense, an acclaimed user experience, which includes Friend Stream to integrate Facebook, Twitter and more into a single flow of updates\r\n
  • \r\n

  • Simultaneous voice and data capability in 4G and Wi-Fi coverage areas, enabling Web surfing and more while talking\r\n
  • \r\n

  • GoogleTM mobile services, including Google SearchTM, Google MapsTM, Google TalkTM, GmailTM, YouTubeTM , and syncs with Google CalendarTM, as well as access to Google Gogglesâ„¢ to search with pictures instead of words\r\n
  • \r\n

  • 3G/4G Mobile Hotspot capability supporting up to eight Wi-Fi enabled devices simultaneously\r\n
  • \r\n

  • Android Marketâ„¢ for access to more than 150,000 useful applications, widgets and games available for download to customize the experience\r\n
  • \r\n

\r\nENTERTAINMENT\r\n\r\n

    \r\n
  • Download, edit and share HD-quality content directly from the device\r\n
  • \r\n

  • Dual 5 megapixel cameras, to capture 3D video and images and a 1.3MP front-facing camera, that together open up a new frontier for user generated content, social networking and streaming video\r\n
  • \r\n

  • Access to 3D version of Blockbuster OnDemand app with access to 2D and 3D movies, TV shows and games for rent or purchase and download\r\n
  • \r\n

  • Video chat service available as an upgrade to the pre-loaded Qik app to enable conversational, interactive, real-time sharing between mobile devices or from mobile-to-desktop\r\n
  • \r\n

  • Capture video in HD quality, 2D at 1080p and 3D at 720p\r\n
  • \r\n

  • Output HD content to a compatible TV using HDMI or DLNA\r\n
  • \r\n

  • Media player with 3.5mm stereo headset jack\r\n
  • \r\n

  • Sprint applications including Sprint Zone, Sprint TV & Movies®, Sprint Football Live, Sprint Navigation and NASCAR Sprint Cup Mobile\r\n
  • \r\n

  • Stereo Bluetooth®\r\n
  • \r\n

  • Built-in Wi-Fi: 802.11 b/g/n\r\n
  • \r\n

\r\nSPECIFICATIONS\r\n\r\n

    \r\n
  • Dimensions: 5.0″ x 2.6″ x .48″ (LxWxT)\r\n
  • \r\n

  • Weight: 6 ounces\r\n
  • \r\n

  • Main display: 4.3-inch 3D QHD capacitive display (960 x 540)\r\n
  • \r\n

  • Battery life:  TBD\r\n
  • \r\n

  • Standard removable 1730 mAh Lithium-ion battery\r\n
  • \r\n

  • Memory: 4GB Internal memory/1GB RAM; Expandable memory: 8GB microSD card included; supports up to 32GB\r\n
  • \r\n

\r\n\r\n\r\n\r\n

Source: GG, W3\r\n

Samsung Galaxy S Android 2.3 Gingerbread

\r\n

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

 

\r\n

Good news for Owners of the Samsung Galaxy S is that Samsung releasing Android 2.3 Gingerbread update for the Galaxy S this month. Samsung released the information on the Finnish Samsung website, and apparently the Android 2.3 Gingerbread update is in the final stages of testing and Samsung has said it should be available by the middle of April.\r\n

\r\n

Source: geekygadgets, w3\r\n

Microscope for the iPhone

\r\n

\r\n

It’s all very well and good that iPhones can give you directions, let you surf the web, and do about a thousand other things, but what if you want to get a close look at something really tiny? Well, the phone can’t help you with that on its own, but it can if you equip it with the Mini Microscope for iPhone. Like the University of California, Davis’ more clinical CellScope, it mounts over the lens of the phone’s camera. Once in place, you can use it to inspect your thumb, get to know the insects in your neighborhood, or even to detect counterfeit currency.\r\n

\r\n

The Mini’s 60x magnification lens is connected to an adjustable-angle three-bulb LED light source. Two of those bulbs are white, for regular little-thing illumination, while the third can be used for verifying watermarks on paper currency. The lens/lights assembly attaches to a sleeve-like housing, that slips over the top of an iPhone 4 – if you’ve got any other model, you’ll just have to squint a little harder at those backyard bugs.\r\n

\r\n

Aspiring scientists – or even the real thing – can buy the Mini Microscope for iPhone from Britain’s Firebox for GBP 29.99 (about US$48) plus shipping.\r\n

\r\n

Source: gizmag, W3

Fedora Server Installation Guide

After reading this article you you should able to configure Fedore server for post installation and configuration of\r\n

    \r\n
  • NTP Server
  • \r\n

  • SSH Server
  • \r\n

  • Apache Web Server
  • \r\n

  • SSL installation and Configuration
  • \r\n

  • FTP Server
  • \r\n

  • Setup Samba File Server
  • \r\n

  • MySQL Server
  • \r\n

  • PHPmyAdmin to manage mySQL database from remote locations.
  • \r\n

\r\n[1] Download Fedora and Make a DVD for installing Fedora. \r\n\r\nDownload Fedora installation DVD ISO-file from Fedora website http://fedoraproject.org/get-fedora. Burn DVD according to instructions described on Fedora website and install Fedora according to instructions. Documentation for Fedora installation is available at their web sites and links are listed as below: \r\n

\r\n[2] Install Fedora\r\n\r\nIn this article we’re focussing to setup Fedora 11 Server.\r\n\r\n[3] Configure Fedora 11\r\nInitial Configuration After Installing Fedora.\r\n\r\n[a] Add a new user. \r\n\r\nI used user name as ‘fedora’ on following examples, but set any names you like to use.\r\n\r\n[root@dlp ~]#useradd fedora\r\n[root@dlp ~]#passwd fedora\r\nChanging password for user fedora.\r\nNew UNIX password: # input password you want to set\r\nRetype new UNIX password: # verify\r\npasswd: all authentication tokens updated successfully.\r\n[root@dlp ~]#exit # logout\r\n\r\n[b] Try to switch by user that was added in section [1].\r\n\r\nns login: fedora # input user name\r\npassword: # input password\r\n[pixel@dlp ~]$su - # switch to root\r\nPassword: # input password for root\r\n[root@dlp ~]# # done to switching to root\r\n\r\n[c] Make ‘fedora’ user that was added in section [1] be only a user who can switch to root.\r\n\r\n[root@dlp ~]#vi /etc/group\r\n\r\n# line 11: add user\r\nWheel:x:10:root,fedora\r\n[root@dlp ~]#vi /etc/pam.d/su\r\n#%PAM-1.0\r\nauth sufficient pam_rootok.so\r\n# Uncomment the following line to implicitly trust users in the “wheel” group.\r\n#auth sufficient pam_wheel.so trust use_uid\r\n# Uncomment the following line to require a user to be in the “wheel” group.\r\n# remove ‘#’ that was on the head of line\r\nauth required pam_wheel.so use_uid\r\nauth include system-auth\r\naccount sufficient pam_succeed_if.so uid = 0 use_uid quiet\r\naccount include system-auth\r\npassword include system-auth\r\nsession include system-auth\r\nsession optional pam_xauth.so\r\n\r\n[root@dlp ~]#vi /etc/login.defs\r\n\r\n# add this line at the bottom\r\nSU_WHEEL_ONLY yes\r\n\r\n[d] Set config to forward mails for root to a user who is a system administrator you set as.\r\n\r\n[root@dlp ~]#vi /etc/aliases\r\n\r\n# Person who should get root’s mail\r\n# bottom: remove ‘#’ and add user name\r\nroot:fedora\r\n\r\n[root@dlp ~]#newaliases # set new aliases\r\n/etc/aliases: 77 aliases, longest 10 bytes, 776 bytes total\r\n\r\nFw & SELinux :\r\n\r\n[1] It’s unnecessarry to enable FireWall because it’s enable on the Routers, so Change it to disabled.\r\n\r\n[root@dlp ~]#/etc/rc.d/init.d/iptables stop\r\niptables: Flushing firewall rules: [OK]\r\niptables: Setting chains to policy ACCEPT: filter [OK]\r\niptables: Unloading iptables modules: [OK]\r\n\r\n[root@dlp ~]#chkconfig iptables off\r\n[root@dlp ~]#chkconfig ip6tables off\r\n\r\n[2] Change to disabled SELinux (Security-Enhanced Linux).\r\n\r\n[root@dlp ~]#vi /etc/sysconfig/selinux\r\n# This file controls the state of SELinux on the system.\r\n# SELINUX= can take one of these three values:\r\n# enforcing – SELinux security policy is enforced.\r\n# permissive – SELinux prints warnings instead of enforcing.\r\n# disabled – SELinux is fully disabled.\r\nSELINUX=disabled # change\r\n# SELINUXTYPE= type of policy in use. Possible values are:\r\n# targeted – Only targeted network daemons are protected.\r\n# strict – Full SELinux protection.\r\nSELINUXTYPE=targeted\r\n\r\n[4] Installing NTP Server :\r\n

It’s an example to install and Configure NTP server for system clock.

\r\n[root@dlp ~]#yum -y install ntp\r\nIt will install NTP packages\r\n\r\n[root@dlp ~]#mv /etc/ntp.conf /etc/ntp.conf.bk\r\n[root@dlp ~]#vi /etc/ntp.conf\r\n

# Set servers for synchronizing

\r\n

server ntp1.ssysadmin.com

\r\n

server ntp2.ssysadmin.com

\r\n[root@dlp ~]#/etc/rc.d/init.d/ntpd start\r\nStarting ntpd: [ OK ]\r\n\r\n[root@dlp ~]#chkconfig ntpd on\r\n[root@dlp ~]#ntpq -p\r\n\r\n[5] Installing SSH Server\r\n\r\n[1] Configure SSH server for Windows clietnts computer to be able to login from them. This is the way with Password Authentication.\r\n\r\n[root@dlp ~]#vi /etc/ssh/sshd_config\r\n

\r\n
# line 42: make valid and change ‘no’

\r\nPermitRootLogin no\r\n

# line 63: make valid

\r\nPermitEmptyPasswords no\r\nPasswordAuthentication yes\r\n[root@dlp ~]#/etc/rc.d/init.d/sshd restart\r\n\r\n[2] Get an appreciation which you can login from Windows clients by using PUTTY.\r\n\r\n

\r\n[6] Installing Apache Web Server\r\n\r\nThis is an example to build Web Server. Install Apache for it. In addition to do it, Install PHP and SSL because there are often used with Web Server. And it’s also neccessary to configure router so that TCP and UDP packets to 80 and 443 can pass through.\r\n\r\n[root@www ~]#yum -y install httpd php php-mbstring php-pear mod_ssl\r\n\r\n[root@www ~]#rm -f /etc/httpd/conf.d/welcome.conf\r\n\r\n[root@www ~]#rm -f /var/www/error/noindex.html\r\n[root@www ~]#ln -s /usr/bin/perl /usr/local/bin/perl\r\n\r\nHere is an example to configure Apache. I set it that users can open to the public their Web site and can execute CGI in any directories. ( SSI is disabled because it’s not used so often )\r\n\r\n[root@www ~]#vi /etc/httpd/conf/httpd.conf\r\n\r\nServerTokens Prod // line 44: change\r\nKeepAlive On // line 74: change to ON\r\nServerAdmin root@server-linux.info // line 250: Admin’s address\r\nServerName www.server-linux.info:80 // line 264: server’s name\r\nOptions FollowSymLinks ExecCGI // line 319: change (disable Indexes)\r\nAllowOverride All // line 326: change\r\n

#UserDir disable // line 354: make it comment

\r\nUserDir public_html // line 361: make valid\r\n

// line 369 – 380 : remove # and make valid

\r\nAllowOverride All // change\r\nOptions ExecCGI // CGI enabled\r\nOrder allow,deny\r\nAllow from all\r\nOrder deny,allow\r\nDeny from all\r\n

// line 390: add file name that it can access only with directory’s name

\r\nDirectoryIndex index.html index.cgi index.php\r\nServerSignature Off // line 523: change\r\n

#AddDefaultCharset UTF-8 // line 746: make it comment

\r\n

// line 777: make valid and add file-type that apache looks them CGI

\r\nAddHandler cgi-script .cgi.pl\r\n\r\n[root@www ~]#/etc/rc.d/init.d/httpd start\r\nStarting httpd:[ OK ]\r\n[root@www ~]#chkconfig httpd on\r\n\r\n[2] Create HTML test page to make sure Apache is working.\r\n\r\n[7] Config SSL\r\n\r\nConfigure for SSL that is installed in above section. We made a Certification File for SSL in this example, but if you use server for business, It’s better to buy and use a Certification File from CA like verisign.com, thawte.com, etc…\r\n\r\n[root@www ~]#cd /etc/pki/tls/certs\r\n[root@www certs]#make server.key\r\numask 77 ; \\r\n

/usr/bin/openssl genrsa -des3 1024 > server.key

\r\nGenerating RSA private key, 1024 bit long modulus\r\n………………………………………………++++++\r\n………….++++++\r\ne is 61251 (0x10001)\r\nEnter pass phrase: // input pass phrase\r\nVerifying – Enter pass phrase: // verify\r\n

// it’s troublesome to input pass phrase always, so remove it from private key

\r\n[root@www certs]#openssl rsa -in server.key -out server.key\r\nEnter pass phrase for server.key: // input pass phrase\r\nwriting RSA key\r\n[root@www certs]#make server.csr\r\numask 77 ; \\r\n

/usr/bin/openssl req -utf8 -new -key server.key -out server.csr

\r\nYou are about to be asked to enter information that will be incorporated\r\ninto your certificate request.\r\nWhat you are about to enter is what is called a Distinguished Name or a DN.\r\nThere are quite a few fields but you can leave some blank\r\nFor some fields there will be a default value,\r\nIf you enter ‘.’, the field will be left blank.\r\n—–\r\nCountry Name (2 letter code) [GB]: US\r\nState or Province Name (full name) [Berkshire]:CO\r\nLocality Name (eg, city) [Newbury]:Denver\r\nOrganization Name (eg, company) [My Company Ltd]:sSysAdmin\r\nOrganizational Unit Name (eg, section) []:Security\r\nCommon Name (eg, your server’s hostname) []:www.ssysadmin.com\r\nEmail Address []:root@ssysadmin.com\r\nPlease enter the following ‘extra’ attributes\r\nto be sent with your certificate request\r\nA challenge password []: // Enter with empty\r\nAn optional company name []:// Enter with empty\r\n\r\n[root@www certs]#openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 // make CertificateFile\r\nSignature ok\r\nsubject=/C=US/ST=CO/L=Denver/O=sSysAdmin/OU=Security/CN=www.ssysadmin.com/\r\nemailAddress=root@ssysadmin.com Getting Private key\r\n[root@www certs]#chmod 400 server.*\r\n[root@www certs]#vi /etc/httpd/conf.d/ssl.conf\r\n\r\nDocumentRoot “/var/www/html” // line 84: make valid\r\nServerName www.ssysadmin.com:443 // line 85: make valid and change\r\nSSLCertificateFile /etc/pki/tls/certs/server.crt // line 112: change\r\nSSLCertificateKeyFile /etc/pki/tls/certs/server.key // line 119: change\r\n

[root@www certs]#/etc/rc.d/init.d/httpd restart\r\nStopping httpd: [ OK ]\r\nStarting httpd: [ OK ]

\r\n

\r\n
\r\n
\r\n

\r\n

\r\n

\r\n

\r\n

  Access to the page that is made in section (2) with https. Following window is shown because Certification File is not by CA. Click Ok to proceed.

\r\n[8] Installing FTP Server\r\n[1] Build FTP server to transfer files. Install and configure vsftpd for it.\r\n\r\n[root@www ~]#yum -y install vsftpd\r\n\r\n[root@www ~]#vi /etc/vsftpd/vsftpd.conf\r\n\r\nanonymous_enable= NO // line 12: no anonymous\r\nascii_upload_enable=YES // line 79: make valid\r\nascii_download_enable=YES (permit ascii mode transfer)\r\nchroot_list_enable=YES // line 94: make valid\r\n

\r\n
(enable chroot list)

\r\n

\r\nchroot_list_file=/etc/vsftpd/chroot_list // line 96: make valid\r\nls_recurse_enable=YES // line 102: make valid\r\nchroot_local_user=YES // bottom: enable chroot\r\n

local_root=public_html // root directory

\r\n

use_localtime=YES // use local time

\r\n[root@www ~]#vi /etc/vsftpd/chroot_list\r\n

fedora // write users you permit

\r\n[root@www ~]# /etc/rc.d/init.d/vsftpd start\r\nStarting vsftpd for vsftpd: [ OK ]\r\n[root@www ~]#chkconfig vsftpd on\r\n\r\n[9] Samba File Server\r\n\r\nBuild File server to share files between Windows computer and Linux Server computer. Install Samba for it. I created this File server in a GuestOS named ‘lan’ in this example.\r\n\r\n[root@lan ~]#yum -y install samba\r\nCreate a shared directory that anybody can read and write, and authentication is not needed.\r\n\r\n[1] Configure Samba\r\n[root@lan ~]#mkdir /home/share\r\n[root@lan ~]#chmod 777 /home/share\r\n[root@lan ~]#vi /etc/samba/smb.conf\r\n\r\nunix charset = UTF-8 // line 24: add the line\r\nworkgroup =WORKGROUP // line 27: change (Windows’ default)\r\nsecurity =share// line 35: change\r\nhosts allow =192.168.0. 127. // line 41: change IP address you permit\r\n

// add these lines at the bottom

\r\n

[Share] // any name you like\r\npath = /home/share // shared directory\r\nwritable = yes // OK to write\r\nguest ok = yes // guest OK\r\nguest only = yes // guest only\r\ncreate mode = 0777 // fully accessed\r\ndirectory mode = 0777 // fully accessed\r\nshare modes = yes

\r\n[root@lan ~]#/etc/rc.d/init.d/smb start\r\nStarting SMB services:[ OK ]\r\nStarting NMB services:[ OK ]\r\n[root@lan ~]#chkconfig smb on\r\n\r\n[10] Mysql\r\n\r\nInstall MySQL for database server.\r\n\r\n[root@www1 ~]# yum -y install mysql-server\r\n[root@www1 ~]# /etc/rc.d/init.d/mysqld start\r\n\r\n[root@www1 ~]#mysql -u root # login to MySQL\r\nWelcome to the MySQL monitor. Commands end with ; or \g.\r\nYour MySQL connection id is 2 to server version: 5.0.22\r\n\r\nType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.\r\n

# show user info

\r\nmysql>select user, host, password from mysql.user;\r\n

# delete user that has no password

\r\nmysql>delete from mysql.user where user=”;\r\nQuery OK, 2 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@localhost=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@’www1.server-linux.info’=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# set root password

\r\nmysql>set password for root@127.0.0.1=password(‘password’);\r\nQuery OK, 0 rows affected (0.00 sec)\r\n

# show user info

\r\nmysql>select user,host,password from mysql.user;\r\n\r\nmysql>exit # logout\r\nBye\r\n[root@www1 ~]#mysql -u root -p # login with root\r\nEnter password: # password\r\nWelcome to the MySQL monitor. Commands end with ; or \g.\r\nYour MySQL connection id is 4 to server version: 5.0.22\r\n\r\nType ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.\r\n\r\nmysql>exit\r\nBye\r\n\r\nInstall phpmyadmin to operate MySQL from Web browser. Webserver is also needed.\r\n\r\n[1] Install and configure phpmyadmin\r\n\r\n[root@www1 ~]#yum -y install phpMyAdmin php-mysql php-mcrypt\r\n[root@www1 ~]#vi /etc/phpMyAdmin/config.inc.php\r\n

# add this line around line 13

\r\n

# set password

\r\n

$cfg[‘blowfish_secret’] = ‘password';

\r\n

# line 28: change

\r\n$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie';\r\n\r\n[root@www1 ~]#vi /etc/httpd/conf.d/phpMyAdmin.conf\r\n

# line 8: change

\r\nAlias /mysql /usr/share/phpMyAdmin\r\n# line 13: add IPs you permit\r\nAllow from 127.0.0.1 192.168.0.0/24\r\n\r\n[root@www1 ~]#/etc/rc.d/init.d/httpd reload\r\nReloading httpd: [ OK ]\r\n\r\n[2] Access to ‘http://(your hostname)/(alias name you set)/’  i.e. http://localhost/phpMyAdmin through  web browser.\r\n\r\nCredits: yuvalinux @ bs

How to Identify I/O Bottlenecks in MS SQL Server

Problem

\r\nWe experience regular slowdowns on our SQL Server databases. After analyzing the memory and CPU usage we would like to continue the root cause investigation by examining I/O bottlenecks. What is your recommendation to recognize I/O related bottlenecks in SQL Server?\r\n

Solution

\r\nThe I/O subsystem is a key factor when it comes to SQL Server performance since database pages are constantly moved in and out of the buffer pool. Also the transaction logs and tempDB generate significant I/O traffic. Therefore you have to ensure that your I/O subsystem performs as expected, otherwise you will be a victim of increased response times and frequent time-outs. In this tip I will describe some of the ways to identify I/O related bottlenecks using the built-in tools and provide some disk configuration ideas.\r\n\r\n


\r\n\r\n

Performance Monitor

\r\nYou can use Performance Monitor to check the load on your I/O subsystem. The following performance counters can be setup to check disk performance.\r\n\r\nThe PhysicalDisk Object: Avg. Disk Queue Length counter shows you the average number of read and write requests that were queued on the selected physical disk. The higher the number the more disk operations are waiting. It requires attention if this value frequently exceeds a value of 2 during peak usage of SQL Server.  If you have multiple drives you should take this number and divide by the number of drives in the array to see if the number is above 2.  For example, you have 4 drives and a disk queue length of 10, this would be 10/4 = 2.5, so this would be the value you want to use not 10.\r\n\r\nAvg. Disk Sec/Read and Avg. Disk Sec/Write shows the average time of a data reads and writes from/to the disk. It is good up to 10 ms, but it is still acceptable if less than 20 ms. Any higher value needs further investigation.\r\n\r\nPhysical Disk: %Disk Time is the ratio of elapsed time when the disk drive was busy with read or write requests. The rule of thumb for this value is that it should be below 50 percent.\r\n\r\nThe counters Disk Reads/Sec and Disk Writes/Sec show you the rate of read/write operations on the disk. It should be less than 85 percent of the disk capacity since the disk access time increases exponentially beyond this value.\r\n\r\nYou can determine the disk capacity by gradually increasing the load on the system. One way to do this is to use SQLIO.  You should look for the point where the throughput is constant, but the latency increases.\r\n\r\nYou can use the counters for RAID configurations with the following calculations:\r\nRaid 0: I/O per disk = (reads + writes) / number of disks\r\nRaid 1: I/O per disk = [reads + (writes*2)] / 2\r\nRaid 5: I/O per disk = [reads + (writes*4)] / number of disks\r\nRaid 10: I/O per disk = [reads + (writes*2)] / number of disks\r\n\r\nHere is an example of your I/O per disk for RAID 1, if we get these values from the counters:\r\n\r\nDisk Reads/sec = 90\r\nDisk Writes/sec = 75\r\nThe formula for I/O on a RAID-1 array is [reads + (writes*2)] / 2 or [90 + (75*2)] / 2 = 120 I/Os per disk\r\n\r\n


\r\n\r\n

Dynamic Management Views

\r\nThere are some useful Dynamic Management Views (DMVs) to check I/O bottlenecks.\r\n\r\nAn I/O latch wait occurs when a page is accessed for reading or writing but the page is not available in the buffer pool. It causes waits on PAGEIOLATCH_EX or PAGEIOLATCH_SH, depending upon the type of request. These wait types can indicate an I/O bottleneck. You can query the sys.dm_os_wait_stats DMV to find latch wait statistics. You can identify I/O problems if you save query outputs of waiting_task_counts and wait_time_ms values from a normal working state of your SQL Server and compare these values when performance is degraded.\r\n

\r\n
select *\r\nfrom sys.dm_os_wait_stats\r\nwhere wait_type like 'PAGEIOLATCH%'\r\norder by wait_type asc

\r\n

\r\nPending I/O requests can be found by querying the following DMVs and can be used to identify which disk is responsible for the bottleneck.\r\n

\r\n
select database_id,\r\n       file_id,\r\n       io_stall,\r\n       io_pending_ms_ticks,\r\n       scheduler_address\r\nfrom sys.dm_io_virtual_file_stats(NULL, NULL) iovfs,\r\n     sys.dm_io_pending_io_requests as iopior\r\nwhere iovfs.file_handle = iopior.io_handle

\r\n

\r\n \r\n\r\n


\r\n\r\n

Disk Fragmentation

\r\nI would recommend that you check the disk fragmentation and the configuration of your disks used by the SQL Server instance.\r\n\r\nFragmentation of files on NTFS can cause significant reductions in performance. Disks should be defragmented regularly and a defragmentation policy and plan should be put in place.  Research shows that in some cases a SAN can actually perform worse with defragmentation enabled thus SANs need to be treated on a case-by-case basis.\r\n\r\nFragmentation of indexes can also cause high I/O utilization on NTFS, but this does not have the same affect on SANs which perform better on random I/Os.\r\n\r\n


\r\n\r\n

Disk Configuration / Best Practices

\r\nAs a general rule, you should have log files on a physical disk that is separate from the data files for better performance.  The I/O profile for a heavily used database data files (including tempDB) are random. The I/O profile for all database log files are sequential except when a transaction needs to be rolled back.\r\n\r\nThe internal disks should only be used for database log files, because they excel at sequential I/O, but perform poorly on random I/Os.\r\n\r\nThe database data and log files should each be placed on their own dedicated disk packs. To ensure optimal performance, I recommend that the database log file be placed on two internal disks configured as RAID 1.  The database data file should reside on a SAN system which is only accessed by SQL Server and has controlled querying and reporting.  Ad hoc access should be disallowed.\r\n\r\nWrite caching should be enabled where possible and you should make sure the cache is protected from power failures and other possible failures.\r\n\r\nTo limit possible I/O bottlenecks for your OLTP system you should not mix OLAP and OLTP environments.   Also, make sure your code is tuned and create indexes where necessary to avoid unnecessary I/Os.\r\n\r\n \r\n

Next Steps

\r\n

    \r\n
  • Collect and compare performance counters
  • \r\n

  • Analyze DMV information
  • \r\n

  • Run SQL Server Profiler to find high Read and Write queries that can be tuned
  • \r\n

\r\n \r\n\r\n \r\n\r\nReference: Tybor Nagi, sql t!p\r\n\r\n 

Windows Vista Tip – EnabledLinkedConnections

Windows Vista LogoOn Windows Vista when you map a drive under your admin account you will find that your mapped drive is not available after you switch to your full token via a RunAs or Consent dialog. This is by design because there are actually two tokens in play here. What happens is the LSA recognized that you are admin at logon and creates two logons. The first with a “filtered” token or non-admin which is used to render your desktop and the other containing your full token to be available after consent dialogs.\r\n\r\nBecause there are two separate logons there are separate logon ID’s.  When network shares are mapped they are linked to the current logon session for the current process token. Meaning you don’t have access to the network drive from the alternate logon. This can come into play with logon scripts and a number of other areas where you may require access to a network share from both tokens.\r\n\r\nIf you set the following key it will change how SMB shares are mapped. They will be mapped to a token, which means that LSA will check to see if there is a linked token associated with the user session and add the network share to that location as well. Basically all of this means that after setting this drives will be accessible from both tokens no matter which they are mapped under.\r\n\r\nHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\r\n\r\nEnableLinkedConnections = 1 (DWord)\r\n\r\nDisclaimer: This is not supported by Microsoft and was never tested. Use at your own risk.\r\n\r\nNote: All images, brand names and code used in articles are property of their respective owners. Do not use them without written approval of the respective owner. Windows/ Windows 7 is trade mark of Microsoft Corporation.\r\n\r\n \r\n\r\n \r\n\r\nCredits to: Josh Phillips, Windows Connected

A blog with focus on technology, internet, mobile phone, IT Security, databases, open source, operating systems, Servers, news and life style