Zfs/nfs poor performance compared to zfs/smb

I setup zfs with sharenfs on my solaris box and i'm having a very poor performance with nfs (about 1-3MB/s).
When i share the same zfs volume with sharesmb performance is very good (about 40-50MB/s) for a single disk zfs volume on a gigabit network.
Both tests where made using MAC OSX 10.5.2 client using a single iso file transfert (about 4Gigs).
I also mount through nfs my MAC client (using apple nfs share) from the solaris box and copy the file to the ZFS volume, nfs performance was very good in this case (45-50MB/s).
Why my solaris zfs/nfs sharing is so slow compared to mac nfs sharing or solaris zfs/smb sharing ?

I'm guess your talking about write performance ie your copying the ISO from a local drive to the ZFS/NFS drive.
The write performance of NFS/ZFS has been known to suck for a long time.
First make sure your running the latest solaris version (10U4) or a recent recommended patch set.
If not, upgrade and see if that helps.
Unfortunately, the solaris developers have a (some say overly) strict interpretation of the coherence requirements of the NFS spec and what it implies about caching data in memory and flushing to disk.
This is discussed a little here
and
here
Their position (as I understand it) that their implemation provides the best performance that can be obtained while maintaining adherence with the relevant standards and the fact that every other NFS implementation has streets better performance just means that everyone else is non conforming.
Anyway maybe can try the solution that the "best practices" suggests ie using a local drive as an intent log.
If that doesnt work, try setting zil_disable (�set zfs:zil_disable=1′ to /etc/system).
You will have to weigh the significance of the purported reliability issues of that solution for yourself.
Basically what it comes down to is that if your nfs server crashes and the client doesnt, but keeps cheerfully writing away. Then some of what it wrote maybe lost. Even silently a part in the middle.
One other thing to check, the storage isn't coming off a SAN is it?
If it is you can try "set zfs:zfs_nocacheflush=1" instead of zil_disable. Its a less aggressive variant that can reduce issues with san storage.

Similar Messages

  • Poor performance compared to skype

    iChat is jerky, pixelated and frequently fails to connect, yet skype works well. Please help me get iChat working properly.
    Are there certain ports I need to open? Are there any other settings I need to fix?
    G5 Dual Tower (non Intel chip)
    iPstar Satellite connection
    I've disconnected the router (to try to get iChat to work)
    iSight camera
    Running Tiger
    Thanks
    Brett

    Hi,
    It is the ping times that are the problem.
    iChat sends UDP Packets for Video chats.
    In effect these need feedback from the other end that they have got there before the next one is sent.
    Even if this came from the next server up the line the Latency is too long.
    Since iChat 2 (5 years or so) I have had only 3 successful chats with Video on Satellites.
    One had a deal/Modem that managed to send packets before the first is acknowledged. Some commercial (business) Deals do this and some ISPs can arrange for you to have such a service (but it Costs normally).
    One just seemed to be a stroke of luck, the lady did not know why it was working or if she had a deal like above.
    The third I never go to the stage of asking how the modem or the Service was running.
    Because, in a speed test it can take some time the speed does reach top speed for the service you have, and this is what is reported to you, you tend to get a false sort of picture.
    It is that initial period of sending data that iChat has problems with.
    AS you are having some chats that work to some extent it may pay to adjust the Bandwidth in iChat > Preferences > Video section > Bandwidth drop down as I said before.
    Start with something lowish like 200kbps
    You may be able to adjust it upwards as the chat time gets longer. iChat Buffering will smooth out the speed changes.
    The Connection Doctor in the Video menu will give some clues as to what Speeds iChat is working at.
    8:05 PM Monday; June 8, 2009
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"

  • Shared nothing live migration over SMB. Poor performance

    Hi,
    I´m experiencing really poor performance when migrating VMs between newly installed server 2012 R2 Hyper-V hosts.
    Hardware:
    Dell M620 blades
    256Gb RAM
    2*8C Intel E5-2680 CPUs
    Samsung 840 Pro 512Gb SSD running in Raid1
    6* Intel X520 10G NICs connected to Force10 MXL enclosure switches
    The NICs are using the latest drivers from Intel (18.7) and firmware version 14.5.9
    The OS installation is pretty clean. Its Windows Server 2012 R2 + Dell OMSA + Dell HIT 4.6
    I have removed the NIC teams and vmSwitch/vNICs to simplify the problem solving process. Now there is one nic configured with one IP. RSS is enabled, no VMQ.
    The graphs are from 4 tests.
    Test 1 and 2 are nttcp-tests to establish that the network is working as expected.
    Test 3 is a shared nothing live migration of a live VM over SMB
    Test 4 is a storage migration of the same VM when shut down. The VMs is transferred using BITS over http.
    It´s obvious that the network and NICs can push a lot of data. Test 2 had a throughput of 1130MB/s (9Gb/s) using 4 threads. The disks can handle a lot more than 74MB/s, proven by test 4.
    While the graph above doesn´t show the cpu load, I have verified that no cpu core was even close to running at 100% during test 3 and 4.
    Any ideas?
    Test
    Config
    Vmswitch
    RSS
    VMQ
    Live Migration Config
    Throughput (MB/s)
    NTtcp
    NTttcp.exe -r -m 1,*,172.17.20.45 -t 30
    No
    Yes
    No
    N/A
    500
    NTtcp
    NTttcp.exe -r -m 4,*,172.17.20.45 -t 30
    No
    Yes
    No
    N/A
    1130
    Shared nothing live migration
    Online VM, 8GB disk, 2GB RAM. Migrated from host 1 -> host2
    No
    Yes
    No
    Kerberos, Use SMB, any available net
    74
    Storage migration
    Offline VM, 8Gb disk. Migrated from host 1 -> host2
    No
    Yes
    No
    Unencrypted BITS transfer
    350

    Hi Per Kjellkvist,
    Please try to change the "advanced features"settings of "live migrations" in "Hyper-v settings" , select "Compression" in "performance options" area .
    Then test 3 and 4 .
    Best Regards
    Elton Ji
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • NFS ftruncate() performance

    Hi
    I don't know if this is the right place to ask but we are having a major performance issue with the ftruncate() system call used by our application.
    Basically it would appear that if you have a file (non-sparse), and you use ftruncate() to grow or shrink the file, the time taken for the syscall increases linearly with the filesize.
    Truss reveals that the fcntl F_FREESP(64) call is being used and this takes up all the time:
    dd if=data_00342.tar of=/mnt/fred.out bs=$((1024*1024)) count=128
    Java code snippet:
    public class Fred
    public static void main(String args[])
    try
    RandomAccessFile randomAccessFile =
    new RandomAccessFile("/mnt/fred.out", "rw");
    randomAccessFile.getFilePointer();
    randomAccessFile.setLength(1024 * 1024 * 128); //this is the existing file size
    //randomAccessFile.getFilePointer();
    randomAccessFile.setLength(1024 * 1024 * 128 - 2048); //this is growing the file
    Truss output:
    truss -faEtfcntl java Fred
    17835: 0.0000 execve("/usr/jdk/instances/jdk1.6.0/bin/java", 0xFFBFFC4C, 0xFFBFFC58) argc = 2
    17835: argv: java Fred
    17835: 0.0048 execve("/usr/jdk/instances/jdk1.6.0/bin/java", 0x0002B438, 0x0002C0E4) argc = 2
    17835: argv: java Fred
    17835/2: 0.0000 fcntl(3, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(196, 46, 0x00000006) = 196
    17835/2: 0.0000 fcntl(4, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(5, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(5, F_FREESP, 0xFE4FFB4C) = 0
    17835/2: 0.0000 fcntl(5, F_GETFD, 0xFE371520) = 0
    17835/2: 0.0000 fcntl(5, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(6, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(6, F_SETFD, 0x00000001) = 0
    17835/2: 0.0000 fcntl(6, F_GETFD, 0xFE4FD708) = 0
    17835/2: 0.0000 fcntl(6, F_SETFD, 0x00000001) = 0
    17835/2: 0.0048 fcntl(7, F_FREESP64, 0xFE4FF998) = 0
    17835/2: 0.0924 fcntl(7, F_FREESP64, 0xFE4FF998) = 0
    Does anyone have any idea why this syscall takes such a long time over NFS? Are there any settings we can change to improve this performance? Should we be looking at the client or the server?
    I have tested this with both Sparc and x86 Solaris 10, ZFS and UFS as the file backend on the NFS server and performance is identical. We first observed this issue when mounting a NFS share on a Sun Storage 7410 NAS.
    Any help or suggestions gratefully appreciated.
    Danny
    Edited by: dannyand on Nov 27, 2009 4:24 AM

    Your rsize and wsize looks way too big. I just use defaults and it runs fine.
    I don't know what your server is but I plucked this from BSD Magazine.
    There is one point worth mentioning here, modern Linux usually uses wsize and rsize 8192 by default and that can cause problems with BSD servers as many support only wsize and rsize 1024. I suggest you add the option -o wsize=1024,rsize=1024 when you mount the share on your Linux machines.
    You also might want to check here for some optimisations http://www.linuxselfhelp.com/howtos/NFS … WTO-4.html
    A trick to increase NFS write performance is to disable synchronous writes on the server. The NFS specification states that NFS write requests shall not be considered finished before the data written is on a non-volatile medium (normally the disk). This restricts the write performance somewhat, asynchronous writes will speed NFS writes up. The Linux nfsd has never done synchronous writes since the Linux file system implementation does not lend itself to this, but on non-Linux servers you can increase the performance this way with this in your exports file:
    Last edited by sand_man (2010-03-03 00:23:23)

  • Poor Performance with Fairpoint DSL

    I started using Verizon DSL for my internet connection and had no problems. When Fairpoint Communications purchased Verizon (this is in Vermont), they took over the DSL (about May 2009). Since then, I have had very poor performance with all applications as soon as I start a browser. The performance problems occur regardless of the browser - I've tried Firefox (3.5.4), Safari (4.0.3) and Opera (10.0). I've been around and around with Fairpoint for 6 months with no resolution. I have not changed any software or hardware on my Mac during that time, except for updating the browsers and Apple updates to the OS, iTunes, etc. The performance problems continued right through these updates. I've run tests to check my internet speed and get times of 2.76Mbps (download) and 0.58Mbps (upload) which are within the specified limits for the DSL service. My Mac is a 2GHz PowerPC G5 runnning OSX 10.4.11. It has 512MB DDR SDRAM. I use a Westell Model 6100 modem for the DSL provided by Verizon.
    Some of the specific problems I see are:
    1. very long waits of more than a minute after a click on an item in the menu bar
    2. very long waits of more than two minutes after a click on an item on a browser page
    3. frequent pinwheels in response to a click on a menu item/browser page item
    4. frequent pinwheels if I just move the mouse without a click
    5. frequent messages for stopped/unresponsive scripts
    6. videos (like YouTube) stop frequently for no reason; after several minutes, I'll get a little audio but no new video; eventually after several more minutes it will get going again (both video and audio)
    7. response in non-browser applications is also very slow
    8. sometimes will get no response at all to a mouse click
    9. trying to run more than one browser at a time will bring the Mac to its knees
    10. browser pages frequently take several minutes to load
    These are just some of the problems I have.
    These problems all go away and everything runs fine as soon as I stop the browser. If I start the browser, they immediately surface again. I've trying clearing the cache, etc with no improvements.
    What I would like to do is find a way to determine if the problem is in my Mac or with the Fairpoint service. Since I had no problems with Verizon and have made no changes to my Mac, I really suspect the problem lies with Fairpoint. Can anyone help me out? Thanks.

    1) Another thing that you could try it is deleting the preference files for networking. Mac OS will regenerate these files. You would then need to reconfigure your network settings.
    The list of files comes from Mac OS X 10.4.
    http://discussions.apple.com/message.jspa?messageID=8185915#8185915
    http://discussions.apple.com/message.jspa?messageID=10718694#10718694
    2) I think it is time to do a clean install of your system.
    3) It's either the software or an intermittent hardware problem.
    If money isn't an issue, I suggest an external harddrive for re-installing Mac OS.
    You need an external Firewire drive to boot a PowerPC Mac computer.
    I recommend you do a google search on any external harddrive you are looking at.
    I bought a low cost external drive enclosure. When I started having trouble with it, I did a google search and found a lot of complaints about the drive enclosure. I ended up buying a new drive enclosure. On my second go around, I decided to buy a drive enclosure with a good history of working with Macs. The chip set seems to be the key ingredient. The Oxford line of chips seems to be good. I got the Oxford 911.
    The latest the hard drive enclosures support the newer serial ata drives. The drive and closure that I list supports only older parallel ata.
    Has everything interface:
    FireWire 800/400 + USB2, + eSATA 'Quad Interface'
    save a little money interface:
    FireWire 400 + USB 2.0
    This web page lists both external harddrive types. You may need to scroll to the right to see both.
    http://eshop.macsales.com/shop/firewire/1394/USB/EliteAL/eSATAFW800_FW400USB
    Here is an external hd enclosure.
    http://eshop.macsales.com/item/Other%20World%20Computing/MEFW91UAL1K/
    Here is what one contributor recommended:
    http://discussions.apple.com/message.jspa?messageID=10452917#10452917
    Folks in these Mac forums recommend LaCie, OWC or G-Tech.
    Here is a list of recommended drives:
    http://discussions.apple.com/thread.jspa?messageID=5564509#5564509
    FireWire compared to USB. You will find that FireWire 400 is faster than USB 2.0 when used for a external harddrive connection.
    http://en.wikipedia.org/wiki/UniversalSerial_Bus#USB_compared_toFireWire
    http://www23.tomshardware.com/storageexternal.html

  • CRIO Poor Performance - Where have my MIPS gone?

    I have a cRIO based system that is used to control a motor for a particular application. The application has been developed and enhanced over the years and is currently using about 50% of the CPU. The RT Controller is a cRIO-9012. I have recently been asked to add a 1 kHz (or more) loop function to the cRIO application. I can only achieve a maximum loop rate of about 200 Hz. When I told the customer this, he asked how fast my controller was, to which I replied 400 MHz. “Where is all the CPU power going?”, he asked. He's now thinking of replacing the cRIO Controller with an mbed with C code to get the performance he requires, which is a pity since I'd like to continue developing the application in LabVIEW.
    Following on from his question, “where is all the CPU power going?”, I decided to write a simple application to test the cRIO 9012's performance. Below is the code I used to perform the evaluation:
    With just the bottom loop running, which reports CPU load over the cRIO Controller's serial port, I have a CPU load of 7.0%. This is the baseline.
    I then add the "execution" loops as shown above the bottom loop, one at a time and recoded the CPU load. Here are the results:
    1 Loops - 18.3% load (11.3% extra)
    2 Loops - 29.4% load
    3 Loops - 45.5% load
    4 Loops - will not run!
    I have two problems/concerns.
    Concern 1
    The cRIO 9012 has a 400 MHz processor, which has 760 MIPS of processing power. The rate of the simple loop is 2 kHz and each loop takes about 11% of the CPU power. That is, each loop uses up 83.6 MIPS and each loop iteration uses up 41,800 instruction cycles. Where are the 41,800 instructions going? Even if there was a context switch after each loop iteration, this would account for 150 to 200 instruction cycles. Each loop is only doing an integer increment, timing check, compare and branch. These should only take up about 4 instruction cycles (8 if you want to be generous). If this was programmed in C, you could get bare metal performance that allows a single loop rate of something like 40 MHz or with an RTOS something like 2 MHz. Instead, my maximum loop rate is something like 20 kHz.
    Where are the "wasted" 41,600 instructions per loop iteration going? This is only 0.5% efficient!
    Concern 2
    Why does adding the 4th "execution" loop cause the application to halt (or at least not send data over the serial port)?
    I like programming on the desktop using LabVIEW and I like programming the FPGA using LabVIEW. The RT Controller is however becoming an embarrassment. Is it really the case that the best additional loop rate I can add to an existing application that already uses 50% of the cRIO Controller's CPU can only be 200 Hz maximum?

    Thanks for all the feedback.
    MajorTom,
    Changing to timed loops instead of while loops makes the performance worse. For 2 Loops, rather than a CPU load figure of 29.4% (22.4% after removing base load) it shoots up to 78.4% (71.4% after removing base load). That is, it runs about 3 times slower, which takes the "efficiency" down from 0.5% to 0.15% efficient.
    TimothyA,
    I tried making the "execution" loops subVIs (with Preferred Execution System = other 1, with the top level = other 2) and that solved the four "execution" loops problem. Thanks, one of my concerns is now resolved (I'll mark it as such once the conversation quietens down).
    The execution time is still large with the 2 loops taking 29.1% of the CPU, which is the same as before.
    I tried using the "reduced" us wait next multiple CLN.vi, but it appears to be in LabVIEW 2014 and I'm using LabVIEW 2013. Any chance of resaving it as LabVIEW 2013?
    crossrulz,
    Thank you for pointing me to the table in the CompactRIO Developer's Guide. I assume you’re talking about Figure 3.5. Priorities and Execution Systems available in LabVIEW Real-Time. I didn't realise that Execution Systems are limited in the number threads (would be nice to get a warning when this happens). This will make interesting reading and experimentation.
    All,
    I’ve tried various loop limiting rates including Timed Loops and While Loops with RT Wait Until Next Multiple, RT Wait, Wait Until Next Multiple and Wait and the best perform is from the two RT waits. The worst performance was from the Timed Loops.
    In summary, I’ve solved the problem regarding how to run more parallel loops, but I still get very poor performance with each loop interaction taking about 41,800 instructions when it “should” take more about 200 instruction cycles. All I want is to be able to run a loop at at least 1 kHz on my cRIO-9012 when I already have an application that takes up about 50% of the CPU. I have the threat of the code being moved to an mbed using C, which I’m trying to resist. Surely a 400 MHz controller can have a 1 kHz loop and not take up more than 10% of the CPU.

  • Apple maps has received a poor performance rating just after introduction of the iPhone 5. I am running google maps app on the phone. Siri cannot seem to get me to a specific address. Where does the problem lie? Thanks.

    Apple maps has received a poor performance rating just after introduction of the iPhone 5. I am running Google Maps app on the phone. SIRI cannot seem to get me to a specific address. Where does the problem lie? Also can anyone tell me the hierarchy of use between the Apple Maps, SIRI, and Google maps when the app is on the phone? How do you choose one over the other as the default map usage? Or better still how do you suppress SIRI from using the Apple maps app when requesting a "go to"?
    I have placed an address location into the CONTACTS list and when I ask SIRI to "take me there" it found a TOTALLY different location in the metro area with the same street name. I have included the address, the quadrant, (NE) and the ZIP code into the CONTACTS list. As it turns out, no amount of canceling the trip or relocating the address in the CONTACTS list line would prevent SIRI from taking me to this bogus location. FINALLY I typed in Northeast for NE in the CONTACTS list (NE being the accepted method of defining the USPS location quadrant) , canceled the current map route and it finally found the correct address. This problem would normally not demand such a response from me to have it fixed but the address is one of a hospital in the center of town and this hospital HAS a branch location in a similar part of town (NOT the original address SIRI was trying to take me to). This screw up could be dangerous if not catastrophic to someone who was looking for a hospital location fast and did not know of these two similar locations. After all the whole POINT of directions is not just whimsical pasttime or convenience. In a pinch people need to rely on this function. OR, are my expectations set too high? 
    How does the iPhone select between one app or the other (Apple Maps or Gppgle Maps) as it relates to SIRI finding and showing a map route?  
    Why does SIRI return an address that is NOT the correct address nor is the returned location in the requested ZIP code?
    Is there a known bug in the CONTACTS list that demands the USPS quadrant ID be spelled out, as opposed to abreviated, to permit SIRI to do its routing?
    Thanks for any clarification on these matters.

    siri will only use apple maps, this cannot be changed. you could try google voice in the google app.

  • General poor performance of my Mac mini

    I have been using my mac mini for over a year, it continues to frustrate me how slow and unresponsive it can be even though I do very little with it, i.e organise photos and browse the web - usually looking for solutions to the poor performance problem!
    I came a cross this app that has given me lots of information, unfortunately with my limited IT know-how there is nothing here that gives me any clues, as to the cause of the problem. I guess the red font is not good?
    I'm sorry i can't be more specific about the problem other than to say that iPhoto and Safari the two programmes i use way more often than any other, keep giving me the beach ball. My internet speed is ok 25 Mbps down - 4.5 Mbps
    Is there anything here that stands out as being wrong? if so any suggestions/ instructions for what I should do?
    p.s. i had to quit Safari while writing this and have a report for this if it helps?
    Any help much appreciated.
    Problem description:
    My mac is just generally very slow. I only use it to look at the internet and manage photos.
    EtreCheck version: 2.1.5 (108)
    Report generated 3 January 2015 16:03:59 GMT
    Click the [Support] links for help with non-Apple products.
    Click the [Details] links for more information about that line.
    Click the [Adware] links for help removing adware.
    Hardware Information: ℹ️
      Mac mini (Late 2012) (Verified)
      Mac mini - model: Macmini6,2
      1 2.3 GHz Intel Core i7 CPU: 4-core
      4 GB RAM Upgradeable
      BANK 0/DIMM0
      2 GB DDR3 1600 MHz ok
      BANK 1/DIMM0
      2 GB DDR3 1600 MHz ok
      Bluetooth: Good - Handoff/Airdrop2 supported
      Wireless:  en1: 802.11 a/b/g/n
    Video Information: ℹ️
      Intel HD Graphics 4000
      DELL U2412M 1920 x 1200
    System Software: ℹ️
      OS X 10.10.1 (14B25) - Uptime: 5 days 22:14:3
    Disk Information: ℹ️
      APPLE HDD HTS541010A9E662 disk0 : (1 TB)
      EFI (disk0s1) <not mounted> : 210 MB
      Macintosh HD (disk0s2) / : 999.35 GB (759.01 GB free)
      Recovery HD (disk0s3) <not mounted>  [Recovery]: 650 MB
    USB Information: ℹ️
      HP Photosmart B110 series
      Apple Inc. BRCM20702 Hub
      Apple Inc. Bluetooth USB Host Controller
      Apple, Inc. IR Receiver
    Thunderbolt Information: ℹ️
      Apple Inc. thunderbolt_bus
    Gatekeeper: ℹ️
      Mac App Store and identified developers
    Problem System Launch Daemons: ℹ️
      [killed] com.apple.AssetCacheLocatorService.plist
      [killed] com.apple.coreservices.appleid.passwordcheck.plist
      [killed] com.apple.ctkd.plist
      [killed] com.apple.wdhelper.plist
      [killed] com.apple.xpc.smd.plist
      5 processes killed due to memory pressure
    Launch Daemons: ℹ️
      [loaded] com.adobe.fpsaud.plist [Support]
    User Login Items: ℹ️
      iTunesHelper Application (/Applications/iTunes.app/Contents/MacOS/iTunesHelper.app)
      Dropbox Application (/Applications/Dropbox.app)
      Wondershare Helper Compact Application (/Users/[redacted]/Library/Application Support/Helper/Wondershare Helper Compact.app)
    Internet Plug-ins: ℹ️
      Silverlight: Version: 5.1.30514.0 - SDK 10.6 [Support]
      FlashPlayer-10.6: Version: 16.0.0.235 - SDK 10.6 [Support]
      Flash Player: Version: 16.0.0.235 - SDK 10.6 [Support]
      QuickTime Plugin: Version: 7.7.3
      Unity Web Player: Version: UnityPlayer version 4.5.5f1 - SDK 10.6 [Support]
      Default Browser: Version: 600 - SDK 10.10
    3rd Party Preference Panes: ℹ️
      Flash Player  [Support]
    Time Machine: ℹ️
      Auto backup: YES
      Volumes being backed up:
      Macintosh HD: Disk size: 999.35 GB Disk used: 240.33 GB
      Destinations:
      Time Capsule [Network]
      Total size: 2.00 TB
      Total number of backups: 56
      Oldest backup: 2014-09-30 04:29:13 +0000
      Last backup: 2015-01-03 15:37:35 +0000
      Size of backup disk: Adequate
      Backup size 2.00 TB > (Disk used 240.33 GB X 3)
    Top Processes by CPU: ℹ️
        110% com.apple.WebKit.Plugin.64
          6% WindowServer
          1% Activity Monitor
          1% coreaudiod
          1% sysmond
    Top Processes by Memory: ℹ️
      1.11 GB com.apple.WebKit.Plugin.64
      73 MB iTunes
      49 MB com.apple.WebKit.WebContent
      39 MB mds
      39 MB WindowServer
    Virtual Memory Information: ℹ️
      68 MB Free RAM
      1.07 GB Active RAM
      1.02 GB Inactive RAM
      893 MB Wired RAM
      63.93 GB Page-ins
      2.15 GB Page-outs
    Diagnostics Information: ℹ️
      Jan 1, 2015, 11:43:39 AM /Library/Logs/DiagnosticReports/com.apple.WebKit.Plugin.64_2015-01-01-114339_[r edacted].cpu_resource.diag [Details]
      Jan 1, 2015, 11:32:46 AM /Library/Logs/DiagnosticReports/WindowServer_2015-01-01-113246_[redacted].crash
      Jan 1, 2015, 11:00:30 AM /Library/Logs/DiagnosticReports/com.apple.WebKit.Plugin.64_2015-01-01-110030_[r edacted].cpu_resource.diag [Details]
      Jan 1, 2015, 10:19:03 AM /Library/Logs/DiagnosticReports/iBooks_2015-01-01-101903_[redacted].cpu_resourc e.diag [Details]

    Hi Linc Davis
    Thank you for taking the time to respond.
    I got this information from a time when I was opening up iPhoto, and then going to the iCloud folder. To be honest it wasn't the most disastrous of events, I did get a few beachballs and when I opened up a shared folder the photos weren't loaded as normal. As I get more lengthy delays in carrying out any activities I will post back the console results.
    Just as a bit more info, I don't consider my problem an update to Yosemite problem, if anything since updating performance has been improved from Mavericks.
    Do you have any comments about upgrading RAM from the 4GB I have?
    Should I act on any of the messages in red from the EtreCheck report?
    Many Thanks
    Duncan
    03/01/2015 19:30:18.331 com.apple.iCloudHelper[12481]: objc[12481]: Class FALogging is implemented in both /System/Library/PrivateFrameworks/FamilyCircle.framework/Versions/A/FamilyCircl e and /System/Library/PrivateFrameworks/FamilyNotification.framework/Versions/A/Famil yNotification. One of the two will be used. Which one is undefined.
    03/01/2015 19:30:18.391 com.apple.xpc.launchd[1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) The _DirtyJetsamMemoryLimit key is not available on this platform.
    03/01/2015 19:30:19.162 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:30:19.162 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:30:19.163 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:30:19.163 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:30:19.186 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:30:19.187 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:30:19.188 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:30:19.188 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:30:19.188 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:30:19.188 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:30:25.446 WindowServer[7810]: common_reenable_update: UI updates were finally reenabled by application "iPhoto" after 10.70 seconds (server forcibly re-enabled them after 1.00 seconds)
    03/01/2015 19:30:33.548 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:30:33.919 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:30:34.077 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:30:34.605 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:30:34.774 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:30:34.853 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:30:47.562 pkd[12123]: FCIsAppAllowedToLaunchExt [343] -- *** _FCMIGAppCanLaunch timed out. Returning false.
    03/01/2015 19:31:10.695 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:31:10.807 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:31:16.961 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:31:18.514 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:31:18.593 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:31:22.538 discoveryd[49]: Basic Sockets SetDelegatePID() failed for PID[3491] errno[3] result[-1]
    03/01/2015 19:31:27.912 mds[32]: (DiskStore.Normal:2376) 6052001 1.780097
    03/01/2015 19:31:56.831 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:31:57.224 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:31:57.281 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:31:57.405 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:31:58.507 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:31:58.541 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:31:59.160 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:32:09.891 com.apple.InputMethodKit.UserDictionary[12456]: -[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:](1492): CoreData: Ubiquity:  Error attempting to read ubiquity root url: file:///Users/Duncan/Library/Mobile%20Documents/com~apple~TextInput/Dictionarie s/.
    Error: Error Domain=NSCocoaErrorDomain Code=134323 "The operation couldn’t be completed. (Cocoa error 134323.)" UserInfo=0x7f90e152a380 {NSAffectedObjectsErrorKey=<PFUbiquityLocation: 0x7f90e152a2e0>: /Users/Duncan/Library/Mobile Documents/com~apple~TextInput}
    userInfo: {
        NSAffectedObjectsErrorKey = "<PFUbiquityLocation: 0x7f90e152a2e0>: /Users/Duncan/Library/Mobile Documents/com~apple~TextInput";
    03/01/2015 19:32:12.862 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:32:20.818 com.apple.SecurityServer[53]: Killing auth hosts
    03/01/2015 19:32:20.819 com.apple.SecurityServer[53]: Session 100281 destroyed
    03/01/2015 19:32:20.974 com.apple.SecurityServer[53]: Session 100577 created
    03/01/2015 19:32:34.833 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:32:35.767 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:32:35.789 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:32:35.980 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:32:36.273 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:32:36.487 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:32:47.035 WindowServer[7810]: disable_update_timeout: UI updates were forcibly disabled by application "iPhoto" for over 1.00 seconds. Server has re-enabled them.
    03/01/2015 19:32:50.555 WindowServer[7810]: common_reenable_update: UI updates were finally reenabled by application "iPhoto" after 4.52 seconds (server forcibly re-enabled them after 1.00 seconds)
    03/01/2015 19:32:51.578 WindowServer[7810]: disable_update_timeout: UI updates were forcibly disabled by application "iPhoto" for over 1.00 seconds. Server has re-enabled them.
    03/01/2015 19:32:52.745 WindowServer[7810]: common_reenable_update: UI updates were finally reenabled by application "iPhoto" after 2.17 seconds (server forcibly re-enabled them after 1.00 seconds)
    03/01/2015 19:32:53.098 mds[32]: (DiskStore.Normal:2376) 6052001 1.279589
    03/01/2015 19:33:03.332 BezelServices 245.23[7816]: ASSERTION FAILED: dvcAddrRef != ((void *)0) -[DriverServices getDeviceAddress:] line: 2602
    03/01/2015 19:33:03.332 BezelServices 245.23[7816]: ASSERTION FAILED: dvcAddrRef != ((void *)0) -[DriverServices getDeviceAddress:] line: 2602
    03/01/2015 19:33:11.961 mds[32]: (DiskStore.Normal:2376) 6052001 1.939804
    03/01/2015 19:33:29.541 WindowServer[7810]: disable_update_timeout: UI updates were forcibly disabled by application "iPhoto" for over 1.00 seconds. Server has re-enabled them.
    03/01/2015 19:33:32.354 WindowServer[7810]: common_reenable_update: UI updates were finally reenabled by application "iPhoto" after 3.81 seconds (server forcibly re-enabled them after 1.00 seconds)
    03/01/2015 19:33:44.549 discoveryd[49]: Basic DNSResolver  dropping message because it doesn't match the one sent Port:53 MsgID:20602
    03/01/2015 19:33:54.055 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:34:05.143 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.143 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.165 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.165 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.165 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.166 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:05.499 discoveryd[49]: WCFNameResolvesToAddr: called
    03/01/2015 19:34:05.499 discoveryd[49]: WCFNameResolvesToAddr: entering
    03/01/2015 19:34:07.001 discoveryd[49]: Basic Sockets SetDelegatePID() failed for PID[3491] errno[3] result[-1]
    03/01/2015 19:34:13.809 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:34:13.821 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:34:14.124 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:34:14.766 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:34:14.867 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)
    03/01/2015 19:34:17.769 WindowServer[7810]: scrollPhase Ended (4), but previous was 4 (not Began)
    03/01/2015 19:34:18.186 WindowServer[7810]: scrollPhase MayBegin (128), but previous was 1 (not 0, Cancelled or End)
    03/01/2015 19:34:18.186 WindowServer[7810]: scrollPhase Began (1), but previous was 1 (not 0, MayBegin or End)

  • Poor performance of the BDB cache

    I'm experiencing incredibly poor performance of the BDB cache and wanted to share my experience, in case anybody has any suggestions.
    Overview
    Stone Steps maintains a fork of a web log analysis tool - the Webalizer (http://www.stonesteps.ca/projects/webalizer/). One of the problems with the Webalizer is that it maintains all data (i.e. URLs, search strings, IP addresses, etc) in memory, which puts a cap on the maximum size of the data set that can be analyzed. Naturally, BDB was picked as the fastest database to maintain analyzed data on disk set and produce reports by querying the database. Unfortunately, once the database grows beyond the cache size, overall performance goes down the drain.
    Note that the version of SSW available for download does not support BDB in the way described below. I can make the source available for you, however, if you find your own large log files to analyze.
    The Database
    Stone Steps Webalizer (SSW) is a command-line utility and needs to preserve all intermediate data for the month on disk. The original approach was to use a plain-text file (webalizer.current, for those who know anything about SSW). The BDB database that replaced this plain text file consists of the following databases:
    sequences (maintains record IDs for all other tables)
    urls -primary database containing URL data - record ID (key), URL itself, grouped data, such as number of hits, transfer size, etc)
    urls.values - secondary database that contains a hash of the URL (key) and the record ID linking it to the primary database; this database is used for value lookups)
    urls.hits - secondary database that contains the number of hits for each URL (key) and the record ID to link it to the primary database; this database is used to order URLs in the report by the number of hits.
    The remaining databases are here just to indicate the database structure. They are the same in nature as the two described above. The legend is as follows: (s) will indicate a secondary database, (p) - primary database, (sf) - filtered secondary database (using DB_DONOTINDEX).
    urls.xfer (s), urls.entry (s), urls.exit (s), urls.groups.hits (sf), urls.groups.xfer (sf)
    hosts (p), hosts.values (s), hosts.hits (s), hosts.xfer (s), hosts.groups.hits (sf), hosts.groups.xfer (sf)
    downloads (p), downloads.values (s), downloads.xfer (s)
    agents (p), agents.values (s), agents.values (s), agents.hits (s), agents.visits (s), agents.groups.visits (sf)
    referrers (p), referrers.values (s), referrers.values (s), referrers.hits (s), referrers.groups.hits (sf)
    search (p), search.values (s), search.hits (s)
    users (p), users.values (s), users.hits (s), users.groups.hits (sf)
    errors (p), errors.values (s), errors.hits (s)
    dhosts (p), dhosts.values (s)
    statuscodes (HTTP status codes)
    totals.daily (31 days)
    totals.hourly (24 hours)
    totals (one record)
    countries (a couple of hundred countries)
    system (one record)
    visits.active (active visits - variable length)
    downloads.active (active downloads - variable length)
    All these databases (49 of them) are maintained in a single file. Maintaining a single database file is a requirement, so that the entire database for the month can be renamed, backed up and used to produce reports on demand.
    Database Size
    One of the sample Squid logs I received from a user contains 4.4M records and is about 800MB in size. The resulting database is 625MB in size. Note that there is no duplication of text data - only nodes and such values as hits and transfer sizes are duplicated. Each record also contains some small overhead (record version for upgrades, etc).
    Here are the sizes of the URL databases (other URL secondary databases are similar to urls.hits described below):
    urls (p):
    8192 Underlying database page size
    2031 Overflow key/data size
    1471636 Number of unique keys in the tree
    1471636 Number of data items in the tree
    193 Number of tree internal pages
    577738 Number of bytes free in tree internal pages (63% ff)
    55312 Number of tree leaf pages
    145M Number of bytes free in tree leaf pages (67% ff)
    2620 Number of tree overflow pages
    16M Number of bytes free in tree overflow pages (25% ff)
    urls.hits (s)
    8192 Underlying database page size
    2031 Overflow key/data size
    2 Number of levels in the tree
    823 Number of unique keys in the tree
    1471636 Number of data items in the tree
    31 Number of tree internal pages
    201970 Number of bytes free in tree internal pages (20% ff)
    45 Number of tree leaf pages
    243550 Number of bytes free in tree leaf pages (33% ff)
    2814 Number of tree duplicate pages
    8360024 Number of bytes free in tree duplicate pages (63% ff)
    0 Number of tree overflow pages
    The Testbed
    I'm running all these tests using the latest BDB (v4.6) built from the source on Win2K3 server (release version). The test machine is 1.7GHz P4 with 1GB of RAM and an IDE hard drive. Not the fastest machine, but it was able to handle a log file like described before at a speed of 20K records/sec.
    BDB is configured in a single file in a BDB environment, using private memory, since only one process ever has access to the database).
    I ran a performance monitor while running SSW, capturing private bytes, disk read/write I/O, system cache size, etc.
    I also used a code profiler to analyze SSW and BDB performance.
    The Problem
    Small log files, such as 100MB, can be processed in no time - BDB handles them really well. However, once the entire BDB cache is filled up, the machine goes into some weird state and can sit in this state for hours and hours before completing the analysis.
    Another problem is that traversing large primary or secondary databases is a really slow and painful process. It is really not that much data!
    Overall, the 20K rec/sec quoted above drop down to 2K rec/sec. And that's all after most of the analysis has been done, just trying to save the database.
    The Tests
    SSW runs in two modes, memory mode and database mode. In memory mode, all data is kept in memory in SSW's own hash tables and then saved to BDB at the end of each run.
    In memory mode, the entire BDB is dumped to disk at the end of the run. First, it runs fairly fast, until the BDB cache is filled up. Then writing (disk I/O) goes at a snail pace, at about 3.5MB/sec, even though this disk can write at about 12-15MB/sec.
    Another problem is that the OS cache gets filled up, chewing through all available memory long before completion. In order to deal with this problem, I disabled the system cache using the DB_DIRECT_DB/LOG options. I could see OS cache left alone, but once BDB cache was filed up, processing speed was as good as stopped.
    Then I flipped options and used DB_DSYNC_DB/LOG options to disable OS disk buffering. This improved overall performance and even though OS cache was filling up, it was being flushed as well and, eventually, SSW finished processing this log, sporting 2K rec/sec. At least it finished, though - other combinations of these options lead to never-ending tests.
    In the database mode, stale data is put into BDB after processing every N records (e.g. 300K rec). In this mode, BDB behaves similarly - until the cache is filled up, the performance is somewhat decent, but then the story repeats.
    Some of the other things I tried/observed:
    * I tried to experiment with the trickle option. In all honesty, I hoped that this would be the solution to my problems - trickle some, make sure it's on disk and then continue. Well, trickling was pretty much useless and didn't make any positive impact.
    * I disabled threading support, which gave me some performance boost during regular value lookups throughout the test run, but it didn't help either.
    * I experimented with page size, ranging them from the default 8K to 64K. Using large pages helped a bit, but as soon as the BDB cached filled up, the story repeated.
    * The Db.put method, which was called 73557 times while profiling saving the database at the end, took 281 seconds. Interestingly enough, this method called ReadFile function (Win32) 20000 times, which took 258 seconds. The majority of the Db.put time was wasted on looking up records that were being updated! These lookups seem to be the true problem here.
    * I tried libHoard - it usually provides better performance, even in a single-threaded process, but libHoard didn't help much in this case.

    I have been able to improve processing speed up to
    6-8 times with these two techniques:
    1. A separate trickle thread was created that would
    periodically call DbEnv::memp_trickle. This works
    especially good on multicore machines, but also
    speeds things up a bit on single CPU boxes. This
    alone improved speed from 2K rec/sec to about 4K
    rec/sec.Hello Stone,
    I am facing a similar problem, and I too hope to resolve the same with memp_trickle. I had these queries.
    1. what was the % of clean pages that you specified?
    2. What duration were you clling this thread to call memp_trickle?
    This would give me a rough idea about which to tune my app. Would really appreciate if you can answer these queries.
    Regards,
    Nishith.
    >
    2. Maintaining multiple secondary databases in real
    time proved to be the bottleneck. The code was
    changed to create secondary databases at the end of
    the run (calling Db::associate with the DB_CREATE
    flag), right before the reports are generated, which
    use these secondary databases. This improved speed
    from 4K rec/sec to 14K rec/sec.

  • Poor performance and high number of gets on seemingly simple insert/select

    Versions & config:
    Database : 10.2.0.4.0
    Application : Oracle E-Business Suite 11.5.10.2
    2 node RAC, IBM AIX 5.3Here's the insert / select which I'm struggling to explain why it's taking 6 seconds, and why it needs to get > 24,000 blocks:
    INSERT INTO WF_ITEM_ATTRIBUTE_VALUES ( ITEM_TYPE, ITEM_KEY, NAME, TEXT_VALUE,
      NUMBER_VALUE, DATE_VALUE ) SELECT :B1 , :B2 , WIA.NAME, WIA.TEXT_DEFAULT,
      WIA.NUMBER_DEFAULT, WIA.DATE_DEFAULT FROM WF_ITEM_ATTRIBUTES WIA WHERE
      WIA.ITEM_TYPE = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          4           0
    Execute      2      3.44       6.36          2      24297        198          36
    Fetch        0      0.00       0.00          0          0          0           0
    total        3      3.44       6.36          2      24297        202          36
    Misses in library cache during parse: 1
    Misses in library cache during execute: 2Also from the tkprof output, the explain plan and waits - virtually zero waits:
    Rows     Execution Plan
          0  INSERT STATEMENT   MODE: ALL_ROWS
          0   TABLE ACCESS   MODE: ANALYZED (BY INDEX ROWID) OF 'WF_ITEM_ATTRIBUTES' (TABLE)
          0    INDEX   MODE: ANALYZED (RANGE SCAN) OF 'WF_ITEM_ATTRIBUTES_PK' (INDEX (UNIQUE))
    Elapsed times include waiting on following events:
      Event waited on                             Times   Max. Wait  Total Waited
      ----------------------------------------   Waited  ----------  ------------
      library cache lock                             12        0.00          0.00
      gc current block 2-way                         14        0.00          0.00
      db file sequential read                         2        0.01          0.01
      row cache lock                                 24        0.00          0.01
      library cache pin                               2        0.00          0.00
      rdbms ipc reply                                 1        0.00          0.00
      gc cr block 2-way                               4        0.00          0.00
      gc current grant busy                           1        0.00          0.00
    ********************************************************************************The statement was executed 2 times. I know from slicing up the trc file that :
    exe #1 : elapsed = 0.02s, query = 25, current = 47, rows = 11
    exe #2 : elapsed = 6.34s, query = 24272, current = 151, rows = 25
    If I run just the select portion of the statement, using bind values from exe #2, I get small number of gets (< 10), and < 0.1 secs elapsed.
    If I make the insert into an empty, non-partitioned table, I get :
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.01       0.08          0        137         53          25
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.01       0.08          0        137         53          25and same explain plan - using index range scan on WF_Item_Attributes_PK.
    This problem is part of testing of a database upgrade and country go-live. On a 10.2.0.3 test system (non-RAC), the same insert/select - using the real WF_Item_Attributes_Value table takes :
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute      1      0.00       0.10         10         27        136          25
    Fetch        0      0.00       0.00          0          0          0           0
    total        2      0.00       0.10         10         27        136          25So I'm struggling to understand why the performance on the 10.2.0.4 RAC system is so much worse for this query, and why it's doing so many gets. Suggestions, thoughts, ideas welcomed.
    I've verified system level things - CPUs weren't/aren't max'd out, no significant paging/swapping activity, run queue not long. AWR report for the time period shows nothing unusual.
    further info on the objects concerned:
    query source table :
    WF_Item_Attributes_PK : unique index on Item_Type, Name. Index has 144 blocks, non-partitioned
    WF_Item_Attributes tbl : non-partitioned, 160 blocks
    insert destination table:
    WF_Item_Attribute_Values:
    range partitioned on Item_Type, and hash sub-partitioned on Item_Key
    both executions of the insert hit the partition with the most data : 127,691 blocks total ; 8 sub-partitions with 15,896 to 16,055 blocks per sub-partition.
    WF_Item_Attribute_Values_PK : unique index on columns Item_Type, Item_Key, Name. Range/hash partitioned as per table.
    Bind values:
    exe #1 : Item_Type (:B1) = OEOH, Item_Key (:B2) = 1048671
    exe #2 : Item_Type (:B1) = OEOL, Item_Key (:B2) = 4253168
    number of rows in WF_Item_Attribute_Values for Item_Type = OEOH : 1132587
    number of rows in WF_Item_Attribute_Values for Item_Type = OEOL : 18763670
    The non-RAC 10.2.0.3 test system (clone of Production from last night) has higher row counts for these 2.
    thanks and regards
    Ivan

    hi Sven,
    Thanks for your input.
    1) I guess so, but I haven't lifted the lid to delve inside the form as to which one. I don't think it's the cause though, as I got poor performance running the insert statement with my own value (same statement, using my own bind value).
    2) In every execution plan I've seen, checked, re-checked, it uses a range scan on the primary key. It is the most efficient I think, but the source table is small in any case - table 160 blocks, PK index 144 blocks. So I think it's the partitioned destination table that's the problem - but we only see this issue on the 10.2.0.4 pre-production (RAC) system. The 10.2.0.3 (RAC) Production system doesn't have it. This is why it's so puzzling to me - the source table read is fast, and does few gets.
    3) table storage details below - the Item_Types being used were 'OEOH' (fast execution) and 'OEOL' (slow execution). Both hit partition WF_ITEM49, hence I've only expanded the subpartition info for that one (there are over 600 sub-partitions).
    ============= From DBA_Part_Tables : Partition Type / Count =============
    PARTITI SUBPART PARTITION_COUNT DEF_TABLESPACE_NAME
    RANGE   HASH                 77 APPS_TS_TX_DATA
    1 row selected.
    ============= From DBA_Tab_Partitions : Partition Names / Tablespaces =============
    Partition Name       TS Name         High Value           High Val Len
    WF_ITEM1             APPS_TS_TX_DATA 'A1'                            4
    WF_ITEM2             APPS_TS_TX_DATA 'AM'                            4
    WF_ITEM3             APPS_TS_TX_DATA 'AP'                            4
    WF_ITEM47            APPS_TS_TX_DATA 'OB'                            4
    WF_ITEM48            APPS_TS_TX_DATA 'OE'                            4
    WF_ITEM49            APPS_TS_TX_DATA 'OF'                            4
    WF_ITEM50            APPS_TS_TX_DATA 'OK'                            4
    WF_ITEM75            APPS_TS_TX_DATA 'WI'                            4
    WF_ITEM76            APPS_TS_TX_DATA 'WS'                            4
    WF_ITEM77            APPS_TS_TX_DATA MAXVALUE                        8
    77 rows selected.
    ============= From dba_part_key_columns : Partition Columns =============
    NAME                           OBJEC Column Name                    COLUMN_POSITION
    WF_ITEM_ATTRIBUTE_VALUES       TABLE ITEM_TYPE                                    1
    1 row selected.
    PPR1 sql> @q_tabsubpart wf_item_attribute_values WF_ITEM49
    ============= From DBA_Tab_SubPartitions : SubPartition Names / Tablespaces =============
    Partition Name       SUBPARTITION_NAME              TS Name         High Value           High Val Len
    WF_ITEM49            SYS_SUBP3326                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3328                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3332                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3331                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3330                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3329                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3327                   APPS_TS_TX_DATA                                 0
    WF_ITEM49            SYS_SUBP3325                   APPS_TS_TX_DATA                                 0
    8 rows selected.
    ============= From dba_part_key_columns : Partition Columns =============
    NAME                           OBJEC Column Name                    COLUMN_POSITION
    WF_ITEM_ATTRIBUTE_VALUES       TABLE ITEM_KEY                                     1
    1 row selected.
    from DBA_Segments - just for partition WF_ITEM49  :
    Segment Name                        TSname       Partition Name       Segment Type     BLOCKS     Mbytes    EXTENTS Next Ext(Mb)
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3332         TblSubPart        16096     125.75       1006         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3331         TblSubPart        16160     126.25       1010         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3330         TblSubPart        16160     126.25       1010         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3329         TblSubPart        16112    125.875       1007         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3328         TblSubPart        16096     125.75       1006         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3327         TblSubPart        16224     126.75       1014         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3326         TblSubPart        16208    126.625       1013         .125
    WF_ITEM_ATTRIBUTE_VALUES            @TX_DATA     SYS_SUBP3325         TblSubPart        16128        126       1008         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3332         IdxSubPart        59424     464.25       3714         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3331         IdxSubPart        59296     463.25       3706         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3330         IdxSubPart        59520        465       3720         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3329         IdxSubPart        59104     461.75       3694         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3328         IdxSubPart        59456      464.5       3716         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3327         IdxSubPart        60016    468.875       3751         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3326         IdxSubPart        59616     465.75       3726         .125
    WF_ITEM_ATTRIBUTE_VALUES_PK         @TX_IDX      SYS_SUBP3325         IdxSubPart        59376    463.875       3711         .125
    sum                                                                                               4726.5
    [the @ in the TS Name is my shortcode, as Apps stupidly prefixes every ts with "APPS_TS_"]
    The Tablespaces used for all subpartitions are UNIFORM extent mgmt, AUTO segment_space_management ; LOCAL extent mgmt.regards
    Ivan

  • Poor performance and overheat

    Story
    I've been using arch for the past four months, dual booting with my old Windows XP. As I'm very fond of Flash games and make my own programs with a cross-platform language, I've found few problems with the migration. One of them was the Adobe Flash Player performance, which was stunningly bad. But everyone was saying that was normal, so I left it as is.
    However, one special error always worried me: a seemingly randomly started siren sound coming from the motherboard speaker. Thinking it was a alarm about some fatal kernel error, I had been solving it mostly with reboots.
    But then it happened. While playing a graphics intensive game on Windows quickly after rebooting from Arch, the same siren sound started. It felt like a slap across the face: it was not a kernel error, it was an motherboard overheat alarm.
    The Problem
    Since the computer was giving overheat signs, I started looking at things from another angle. I noticed that some tasks take unusually long times in Arch (i.e.: building things from source; Firefox / OpenOffice startup; any graphics intensive program), specially from the Flash Player.
    A great example is the game Penguinz, that runs flawlessly in Windows but is unbearably slow in Arch. So slow that it alone caused said overheat twice. And trying to record another flash game's record using XVidCap things went so bad that the game halved the FPS and started ignoring key presses.
    Tech Info
    Dual Core 3.2 processor
    1 gb RAM
    256 mb Geforce FX 5500 video card
    Running Openbox
    Using proprietary NVIDIA driver
    TL;DR: poor performance on some tasks. Flash Player is so slow that overheats CPU and makes me cry. It's fine on Windows.
    Off the top of my head I can think up some reasons: bad video driver, unwanted background application messing up, known Flash Player performance problems and Actionscript Linux/Arch-only bug.
    Where do you think is the problem?

    jwcxz wrote:Have you looked at your process table for any program with abnormal CPU usage?  That seems like the logical place to start.  You shouldn't be getting poor performance in anything with that system.  I have a 2.0GHz Core 2 Duo and an Intel GMA 965 and I've never had any problems with Flash.  It's much better than it used to be.
    Pidgin scared me for a while because it froze for no apparent reason. After fixing this, the table contains this two guys here:
    %CPU
    Firefox: 80%~100%
    X: 0~20%
    Graphic intensive test, so I think the X usage is normal. It might be some oddity at the Firefox+Linux+Flash sum, maybe a conflict. I'll try another browser.
    EDIT:
    Did a Javascript benchmark to test both systems and browsers.
    Windows XP + Firefox = 4361.4ms
    Arch + Firefox = 5146.0ms
    So, it's actually a lot slower without even taking Flash into account. If someone knows a platform-independent benchmark to test both systems completely, and not only the browser, feel free to point out.
    I think that something is already wrong here and the lack of power saving systems only aggravated the problem, causing overheat.
    EDIT2:
    Browser performance fixed: migrated to Midori. Flash stills slower than on Windows, but now it's bearable. Pretty neat browser too, goes better with the Arch Way. It shouldn't fix the temperature, however.
    Applied B's idea, but didn't test yet. I'm not into the mood of playing flash games for two straight hours today.
    Last edited by BoppreH (2009-05-03 04:25:20)

  • Invalid block count and poor performance

    Hi - Can anyone help?
    Running an early 2011 13' MBP on ML. For a year - 18 months I've noticed poor performance at times, consistently slow boot (sometimes 5 minutes to usable), occasional lockups and spotlight often reindexes itself and slows the system (much more than my previous MBP), I can't see anything that triggers it. I'm also getting recurring errors in Disk Utility of 'Invalid block count', every time I'll repair the disk (booting into recovery), but after a month of use the error will reappear. About three months ago I erased and reinstalled ML, some of my data was moved over in Time Machine but I didn't restore from it. The erase and reinstall hasn't made any difference and I'm still seeing the same issues. Hard disk SMART status appears to be fine.
    Can anyone recommend any troubleshooting steps? I'm not sure what else to do, still under Applecare and was thinking maybe the HD isn't working correctly?
    Cheers!

    Performance.
    Activity Monitor – Monitor Performance Problems          
    Performance Guide
    Why is my computer slow
    Why your Mac runs slower than it should
    Slow boot.
    Startup - Slow Boot
    Startup - Slow Boot (2)
    Startup - Slow Boot (3)
    Startup Issues - Resolve
    Startup Issues - Resolve (2)

  • Safari hangs and poor performance in MBPR (Mid 2012)

    Safari hangs and poor performance in MBPR (Mid 2012)? OS X 10.10.2 is up to date

    Please answer as many of the following questions as you can. You may already have answered some of them. In that case, there's no need to repeat the answers.
    Back up all data before making any changes.
    Have you restarted your router and your broadband device (if they're separate) since you first noticed the problem? If not, do that now and see whether there's any change.
    If your browser is Safari, then from the Safari menu bar, select
              Safari ▹ Preferences... ▹ Privacy ▹ Remove All Website Data
    and confirm. If the Downloads button (with the icon of a downward-pointing arrow) is showing in the toolbar, click it and then click Clear in the box that appears. The download history will be removed. Any change?
    If you're running OS X 10.9 or later, select the Advanced tab in the Preferences window and uncheck the box marked
              Stop plug-ins to save power
    Any change?
    Quit and relaunch the browser. Any change?
    Enable guest logins* and log in as Guest. Don't use the Safari-only “Guest User” login created by “Find My Mac.”
    While logged in as Guest, you won’t have access to any of your documents or settings. Applications will behave as if you were running them for the first time. Don’t be alarmed by this behavior; it’s normal. If you need any passwords or other personal data in order to complete the test, memorize, print, or write them down before you begin.
    Test while logged in as Guest. Same problem?
    After testing, log out of the guest account and, in your own account, disable it if you wish. Any files you created in the guest account will be deleted automatically when you log out of it.
    *Note: If you’ve activated “Find My Mac” or FileVault, then you can’t enable the Guest account. The “Guest User” login created by “Find My Mac” is not the same. Create a new account in which to test, and delete it, including its home folder, after testing.
    Are any other web browsers installed, and are they the same? What about other Internet applications, such as iTunes and the App Store?
    If other browsers and Internet applications are also affected, follow these instructions and test. Any change?
    If Parental Controls is active for any user, please turn it off and test. Any change?
    If only Safari is affected, launch the Activity Monitor application and enter "web" (without the quotes) in the search box. If a process named "Safari Web Content" is shown in red or is using more than about 5% of a CPU, select it and force it to quit by clicking the X or Quit Process button in the toolbar of the window. There may be more than one such process. Any improvement?
    Follow the instructions in this support article. Any change?
    Open the iCloud preference pane and uncheck the box marked Photos, if it's checked. Any change?
    Are there any other devices on the same network that can browse the Web, and are they affected?
    If you can test Safari on another network, is it the same there?
    If you connect to your router with Wi-Fi and you can also connect with Ethernet, do that and turn off Wi-Fi. Any difference?

  • Crashing and poor performance during playback of a large project.

    Hi,
    I've been a regular user of iMovie for about 3 years and have edited several 50GB+ projects of DV quality footage without too many major issues with lag or 'dropped frames'. I currently have a 80GB project that resides on a 95% full 320GB Firewire 400 external drive that has been getting very slow to open and near impossible to work with.
    Pair the bursting-at-the-seams external drive, with an overburdened 90% full internal drive - the poor performance wasn't to be unexpected. So I bought a 1TB Firewire 400 drive to free up some space on my Mac. My large iTunes library (150GB) was the main culprit and it was quickly moved onto the new drive.
    The iMovie project was then moved onto my Mac's movie folder - I figured that the project needs some "room" to work (not that I really understand how Macs use memory) and that having roughly 80GB free with 1.5GB RAM (which is more than used to have) would make everything just that much smoother.
    Wrong.
    The project opened in roughly the same amount of time - but when I tried to play back the timeline, it plays like rubbish and then after 10-15 secs the Mac goes into 'sleep' mode. The screen goes off, the fans dies down and the 'heartbeat' light goes on. A click of the mouse 'wakes' the Mac only to find that if i try again, I get the same result.
    I've probably got so many variables going on here that it's probably hard to suggest what the problem might be but all I could think of was repairing permissions (which I did and none needed it).
    Stuck on this. Anyone have any advice?

    I understand completely, having worked with a 100 GB project once. I found that getting a movie bloated up to that size was just more difficult with jerky playback.
    I do have a couple of suggestions for you.
    You may need more than that 80GB free space for this movie. Is there any reason you cannot move it to the 1TB drive? If you have only your iTunes on it, you should have about 800 GB free.
    If you still need to have the project on your computer's drive, set your computer to never sleep.
    How close to finishing editing are you with this movie? If you are nearly done except for adding audio clips, you can export (share) it as QuickTime Full Quality movie. The resultant quicktime version of your iMovie will be smaller because it will contain only the clips actually used in the movie, not all the saved whole clips that iMovie keeps as its nondestructive editing feature. The quicktime movie will be one continuous clip, incorporating all your edits and added audio. It CAN be further edited, but you cannot change text of titles already there, or change transitions or remove already added audios.
    I actually do this with nearly every iMovie. I create my movies by first importing videos, then adding still photos, then editing with titles, effects and transitions. I add audio last, and if it becomes too distorted in playback, I export the movie and then continue adding audio clips.
    My 100+ GB movie slimmed down to only 8 GB with this method. (The large size was due to having so many clips. The movie was from VHS footage of my son's little league all-star game, and the video had so many skipped segments that I had to split it into thousands of clips to remove the dropped ones. Very old VHS tape!).
    I haven't upgraded to QT 7.5.5, but I heard that the jerky playback issue is mostly resolved with this new upgrade. I am in mid-project with about 5 iMovies, so I will probably plod along with my work-around method, not wanting to upgrade in the middle of any of them.
    Hope this is helpful to you.

  • Skype crashing and poor performance

    Hello!
    I have a Lumia625 with WP8.1. My problem is that Skype has a really poor performance on my phone. It crashes 6 times out of 10 on startup, and even if I manage to start it, the whole app is slow and laggy. Sometimes I can't even write a message it's so laggy. Video call is absolutely out of the question. It crashes my whole phone. I have no similar problems with other instant messaging apps nor with high-end games. There is something obviously using way more resource in the Skype app than it's supposed to. It's a simple chat program, why would it need so much resource?
    The problem seems to be originating from the lower (512 mb) RAM size of my phone model, because I experienced the same effect with poorly written apps, that don't keep in mind that there are 512 RAM devices, not only 1GB+ ones, and use too much resource.
    Please don't try to suggest to restart/reset the phone, and reinstall the app. Those are already behind me, and they did NOT help the problem. I'm not searching for temporary workarounds.
    Please find a solution for this problem, because it is super annoying, and I can't use Skype, which will eventually result in me leaving Skype.
    Solved!
    Go to Solution.

    When it crashes on startup it goes like:
    I tap the skype tile
    The black screen with the "Loading....." appears (default WP loading screen). Usually this takes longer than it would normally take on any other app.
    For a blink of an eye the Skype gui appears, but it instantly crashes.
    If I can successfully start up the app, it just keeps lagging. I sart to write a message to a contact, and sometimes even the letters don't appear as I touch them, but they appear much later altogether. If I tap the send message button the whole gui freezes (seems like it freezes till the contact gets my message). Sometimes the lag get stronger, and sometimes it almost vanishes, but if I keep making inputs when the lag is strong, sometimes it crashes the whole app.
    When I first installed the app, everything was fine. But after a while this behavior appeared. I reinstalled the app, and it solved the problem temporarily, but after some time the problem re-appeared. I don't know if it's relevant, but there was a time when I couldn't make myself appear online all the time (when the app was not started). In that time I didn't experience the lags and crashes. Anyways, what I'm sure about is that the lags get worse with time. Idk if it's because of use of the app (caching?), or the updates the phone makes to itself (conflict?).
    I will try to reinstall Skype. Probably it will fix it for now. I hope the problem won't appear again.

Maybe you are looking for

  • Open Purchase Orders at Retail Value

    Hi I need to show Open Purchase Orders at Retail Value in one of my reports and I am using the key figure - "Open Purchase Orders (Retail Price) - 0RTOPDVSV". I am using this KF in the cube ZRT_STWK which is part of a multiprovider. Data to this cube

  • How do I switch my creative cloud account from my old computer to my new computer?

    How do I switch adobe creative cloud accounts from my old windows pc and laptop to my new mac desktop and laptop?

  • LaserJet 100 color MFP M175nw. impossible de réinstalé le driver de l'imprimante

    Bonjour, imprimante: LaserJet 100 color MFP M175nw. système d'exploitation : windows 7  le scaner de marché plus , j'ai utilisé HP Print and Scan Doctor qui ma demmandé de désinstalé  et de réinstalé le driver de l'imprimant. mais impossible de le ré

  • Setting up a Wireless-N only network (WRT160N) problem.

    Hi. Now that I bought the wireless N adapter for xbox 360, all my wifi enabled devices are "N" capable. So, I've been trying to set my network to "n only" but everytime I do that, I can't connect any of my devices to my network.  Can someone please h

  • A few buying questions

    I am planning to buy a MacBook Pro with a 20 or 23" Apple Display. I was just wondering if I would need to buy anything extra to connect these two, or do the cables come with the display? I think I am also going to buy a Griffin iCurve to keep my des