Skip to main content

Navneet Kumar's Library tagged Performance   View Popular

26 Nov 09

Top 20+ MySQL Best Practices - Nettuts+

  • adding LIMIT 1 to your query can increase performance. This way the database
    engine will stop scanning for records after it finds just 1, instead of going
    thru the whole table or index
  • The more data is read from the tables, the slower the query will become. It
    increases the time it takes for the disk operations. Also when the database
    server is separate from the web server, you will have longer network delays due
    to the data having to be transferred between the servers
  • 10 more annotations...
17 Nov 09

High Performance Ajax Applications

  • Less is more
    – Don’t do anything unnecessary.
    – Don’t do anything until it becomes absolutely necessary.
  • Work on improving perceived performance
    – Users can deal with some reasonable amount of slowness if:
    • They are informed appropriately that an operation is pending.
    • The user interface remains reactive at all time.
    – Cheat whenever you can by first updating the UI and then do the work.
  • 17 more annotations...

Julien Lecomte's Blog » Running CPU Intensive JavaScript Computations in a Web Browser

  • The biggest deterrent for running CPU intensive computations in a web browser is
    the fact that the entire browser user interface is frozen while a JavaScript
    thread is running
  • under no circumstance should a script ever take more than 300 msec (at most) to
    complete. Breaking this rule inevitably leads to bad user experience.

Database Optimize patterns | Haytham El-Fadeel

  • CAP, BASE model, instead of ACID model
      • Consistency - your data is correct all the time. What you write is what you
        read.
      • Availability - you can read and write and write your data all the
        time.
      • Partition Tolerance - if one or more nodes fails the system still works and
        becomes consistent when the system comes on-line
  • 15 more annotations...
30 Sep 09

SQL Server 2000 I/O Configuration in a SAN/NAS Environment

  • Choosing the correct RAID level and the number of disk drives is the most
    important thing that you can do when designing your system
  • RAID stripe size, RAID controller CPU utilization, controller caches, data file
    placement
  • 5 more annotations...

SQL Server 2000 I/O Configuration in a SAN/NAS Environment

  • A poorly configured I/O subsystem can easily become a bottleneck and can
    severely affect performance
  • When modifications are done to the database, the lazy writer will write that
    data out at a later time, so, although write performance is important, no users
    ever wait on writes to occur (except to the transaction log).
  • 5 more annotations...

Examining SQL Server's I/O Statistics — DatabaseJournal.com

  • SELECT @@TOTAL_READ [Total Reads]
    , @@TOTAL_WRITE as [Total Writes]
    , CAST(@@IO_BUSY as FLOAT) * @@TIMETICKS / 1000000.0 as [IO Sec]
    GO

Facebook | Needle in a haystack: efficient storage of billions of photos

  • Since each image is stored in its own file, there is an enormous amount of
    metadata generated on the storage tier due to the namespace directories and file
    inodes. The amount of metadata far exceeds the caching abilities of the NFS
    storage tier, resulting in multiple I/O operations per photo upload or read
    request. The whole photo serving infrastructure is bottlenecked on the high
    metadata overhead of the NFS storage tier, which is one of the reasons why
    Facebook relies heavily on CDNs to serve photos
  • RAID-6 partition managed by the hardware RAID controller. RAID-6 provides
    adequate redundancy and excellent read performance while keeping the storage
    cost down
  • 1 more annotations...
25 Sep 09

Database Storage with SQL Server - Part II - ExtremeExperts

  • Pre-allocate
    an appropriate size for database files. Auto-growth of database files has an
    impact on the performance as discussed before. By pre-allocating and monitoring
    the free capacity of database files, you can avoid performance issues during
    production hours
  • Place
    multiple database files on separate drive arrays. You can improve performance
    and minimize disk contention by separating database files onto separate I/O
    channels. Ensure that you do not saturate the I/O bus.
  • 4 more annotations...

Read and Write Performance

  • For reads, striping with parity can actually be faster than striping without parity. The parity
    information is not needed on reads,
  • For sequential writes, there is the dual overhead of parity calculations as well
    as having to write to an additional disk to store the parity information. This
    makes sequential writes slower than striping without parity
  • 4 more annotations...

Linchi Shea : Is RAID 5 Really That Bad?

  • How can RAID 5 outperform RAID 10 on 8K sequential writes
  • behind each of the two volumes is an I/O path consisting of many
    hardware/software components. Some of them are shared between the volumes,
    others are not. Many of the components have a significant impact on the I/O
    throughput and latency of the volume; they include HBAs and the software that
    manages the I/O paths on the host, SAN architecture, model of the SAN frames,
    cache on the SAN, RAID configuration, specifications of the physical disks
    inside the SAN frames, configuration of hardware hardware replication, number of
    spindles used by the volume, and so on.

http://miracleas.com/BAARF/RAID5_versus_RAID10.txt

  • If you
    later modify the data block it recalculates the parity by subtracting the
    old block and adding in the new version then in two separate operations it
    writes the data block followed by the new parity block. To do this it must
    first read the parity block from whichever drive contains the parity for
    that stripe block and reread the unmodified data for the updated block from
    the original drive. This read-read-write-write is known as the RAID5 write
    penalty since these two writes are sequential and synchronous the write
    system call cannot return until the reread and both writes complete, for
    safety, so writing to RAID5 is up to 50% slower than RAID0 for an array of
    the same capacity

Read and Write Performance

  • Without the parity, the controller could just write to drive #3 and it would be
    done. With parity though, the change to drive #3 affects the parity information
    for the entire stripe. So this single write turns into a read of drives #4, #5
    and #1, a parity calculation, and then a write to drive #3 (the data) and drive
    #2 (the newly-recalculated parity information).
  • 3 more annotations...
1 - 20 of 149 Next › Last »
Showing 20 items per page

Diigo is about better ways to research, share and collaborate on information. Learn more »

Join Diigo