Network Anomalies

I get different behaviour in different places when trying to access other computers over a network, and I can't figure out what's causing the differences.
The two networks are at home and at work, both wireless, all computers are Macs running 10.4.10.
Anomaly 1: at work, I use a MDD Dual G4 and, when I click on 'Network' in a Finder window, the next column (in column view) shows, besides "Library" and "Servers", the other computers connected to the network. Clicking on one of these gives the 'Connect' button in the next column, and when I choose a computer to connect to, I get a dialogue box giving me access to all the volumes mounted on that computer.
I own a 17" MacBook Pro and, when I take it to work and click on 'Network' in a Finder window, the next column shows, besides "Library" and "Servers", *two folders, "Homenet" and "My Network"*. Clicking on "My Network" shows the other computers connected to the network in the next column, and clicking on one of these gives the 'Connect' button one column further over (and I can again mount any of that computer's mounted volumes).
Why, on the MacBook Pro, is there the extra column - the one containing the folders - before reaching the connected computers?
Anomaly 2: when I bring the MacBook home and attempt to connect to my own MDD G4, I get the same hierarchy as at work, with the two folders, "Homenet" and "My Network" before I reach the G4 (which can be found in both folders this time) but, when I attempt to connect, instead of the window with a list of volumes, I get a completely different login window, with a drop-down menu which has just one item - the logged-in user of the G4. So I can only get at that user's data, not all the mounted volumes.
Obviously things are set up differently, but I've looked through 'Sharing' and 'Network' System Preferences, and I'm at a loss for what is causing these differences in behaviour. What am I missing?
Thanks in advance,
Steve = : ^ )
Message was edited by: Steve_Ball
Message was edited by: Steve_Ball

This may not help, but try it.
At home, on both macs:
Go into Utilities>DirectoryAccess, and configure SMB/CIFS...look in the Workgroup box, jot down the name that appears there. Make sure the same name appears in both.
No name? OK. We'll see what you find on work machines.
At work, on both macs:
Do the same steps as above.
You are going to make the workgroup name the same on your personal machines...the same as on the work machine (do not change your employer's workgroup name. change YOUR macs to match it.)
Oh. and by the way? You're using mac OSX? Then you ARE a unix user...mac just prettifies the interface. BDaqua was trying to get you to the Terminal for some command line things. A lot of people step back from that. No problem.

Similar Messages

  • Strange network problem!!! Please Help!!!!

    I'm trying to copy some files from my PC to my MBP on my wired home network, the problem is that it is very slow. So then I looked at the activity monitor and saw that the network flow is not contant, it keeps dropping all the time, like I have 100% peaks and then 0%. This is also happening on my wireless network. My using MacOSX 10.4.8 and Windows Vista RC1 on the PC. When I try to ping the PC verything is fine 0% of packet loss. What could be wrong???

    Vista RC1 is only one notch up from beta.
    I think they're up to RC3...which is a huge difference.
    I would personally not put too many important files on a PC running RC1. Also, that vista-version may or may not have something to do with network anomalies.

  • MSE-license uploading issue

    Hi,
    I have installed WCS version 7.0.164.0 and have added Mobility Service Engine to WCS. The version of MSE is 7.0.105.0. I ahve uploaded license in WCS for supporting 200 APs. Then when i am trying to upload MSE liecnse, I am getting the below error.
    MSE license file could not be installed. The total license limit has been met or exceeded for the MSE and all its services. Capacity is exceeded by 5%. Reduce the license count for one or more services to be within the capacity limit and for optimal performance.
    Please let me know how should i proceed further.

    I'm going thru the same thing right now and this is a bit confusing.  What I do know is that there are 2 types of licensing and depending on what it is you want to do you want one of the other or both. The licenses are explained below.  I hope this helps.
    Two types of Licenses:
    •1.       wIPS – Adaptive Wireless Intrusion Prevention
    •a.     Maintain a constant awareness of your RF environment to minimize legal liability, protect your brand reputation, and assure regulatory compliance.
    •b.     Cisco Adaptive Wireless Intrusion Prevention System (IPS) offers advanced network security for dedicated monitoring and detection of wireless network anomalies, unauthorized access, and RF attacks. Fully integrated with the Cisco Unified Wireless Network, this solution delivers integrated visibility and control across the network, without the need for an overlay solution.
    •2.       Context Aware – for locating wireless devices 
    •a.     With Context-Aware Software, organizations can quickly locate rogue devices, interferers, Wi-Fi clients, tagged assets, and wired devices. This physical location information provides the insight needed to improve workflow, quickly troubleshoot mobile clients, and implement asset management solutions.
    Sandi

  • MSE License

    Hi
    I am planning on installing CleanAir Wireless network, using WLC 5508, WCS(with plus license) and MSE.
    Can somone explaine for me wich MSE license i need to get this to work ?
    Regards
    Erik

    I'm going thru the same thing right now and this is a bit confusing.  What I do know is that there are 2 types of licensing and depending on what it is you want to do you want one of the other or both. The licenses are explained below.  I hope this helps.
    Two types of Licenses:
    •1.       wIPS – Adaptive Wireless Intrusion Prevention
    •a.     Maintain a constant awareness of your RF environment to minimize legal liability, protect your brand reputation, and assure regulatory compliance.
    •b.     Cisco Adaptive Wireless Intrusion Prevention System (IPS) offers advanced network security for dedicated monitoring and detection of wireless network anomalies, unauthorized access, and RF attacks. Fully integrated with the Cisco Unified Wireless Network, this solution delivers integrated visibility and control across the network, without the need for an overlay solution.
    •2.       Context Aware – for locating wireless devices 
    •a.     With Context-Aware Software, organizations can quickly locate rogue devices, interferers, Wi-Fi clients, tagged assets, and wired devices. This physical location information provides the insight needed to improve workflow, quickly troubleshoot mobile clients, and implement asset management solutions.
    Sandi

  • CSS messages Service Down/Alive

    Hello,
    we use CSS 11503, and for some service we use a http keepalive with value (10 3 5). We have sometimes messages DOWN/ALIVE with just one second difference :
    APR 17 23:29:17 1/1 574 NETMAN-2: Enterprise:Service Transition:Test01 -> down
    APR 17 23:29:18 1/1 575 NETMAN-5: Enterprise:Service Transition:Test01 -> alive
    Why, i think that with the value we use for this keepalive service, the mininum difference from status down and alive shoud be of 5 seconds,
    Thank a lot to explain us this value of 1 second between DOWN/ALIVE status ?
    Didier

    Hi, it sounds like we are having the same problem.....
    The service goes down for 1 second then comes back active...we have an open TAC case on this issue, the services to not acutally go down, here is their current thinking
    Usually we see this type of log entry when the CS-800 is receiving a high volume of extraneous traffic. Because
    we act as both a router and a bridge, we must examine each packet. This particular queue handles all non-specific
    and non-IP traffic, including Spanning Tree BPDU, non-IP bridgeable traffic, ICMP, ARP, UDP fragments, and
    packets with expired TTL. Under situations where the CS-800 receives a high number of these packets, such as
    during a DOS attack or where other network anomalies exist, there may be occasional drops in this queue. This
    should not have any impact on user TCP traffic, as TCP is sent to a different queue.
    If this error appears in the log occasionally, then check the "show dos" commands to make sure the site is not
    under attack. Also, check the network topology to make sure the routing is solid. If the log is filling rapidly
    with these errors, then a packet capture may be helpful in isolating the cause

  • 3G Network switches to Edge all the time, Buttons rattle when shaking-

    I originally owned a first generation iPhone (Love it!) but still couldn't resist and got a "3G S" unfortunately I encountered plenty of anomalies with three different ones. If anyone is going through the following, please help acknowledge this to Apple:
    first iPhone 3G S - Calls dropped constantly, GPS was "lost" (will give the incorrect location) most of the time.
    Second iPhone 3G S (as first replacement) - calls would fail even when the signal showed full service, silence button rattled (loose).
    third iPhone 3G S (as second replacement) - I currently have it as of (7/13/09) No signal what-so-ever and when it does the phone doesn't know what the 3G network is because is always on Edge in San Francisco Area (Pacific Heights) to be exact. now I cannot even access "Visual Voice Mail" I get this Welcome to AT&T recording, maps won't work, even safari doesn't load.
    I Love Apple and the iPhone's new features but it has disappointed me way beyond that I can handle, today a few minutes later after I got my second replacement I called the store to notify that i had gotten another bad unit and I was told to come back and the geniuses would help me (AGAIN) when I went back I was told to go home, restore the phone and if that didn't work then I could make another appointment [What happened to the products one would take out of the box and be ready to use?] I will return the iPhone tomorrow and I'll get another one when the issues have been resolved.
    BTW I would pay those $600 plus the nasty CA tax if Apple would make the iPhones 3G S like the first generation does EVERYBODY like the plastic back?
    Has anyone experience the same or similar problems?

    ok, got it figured out. Consistently I can do this on my 3g, my daughters 3gs and my 3gs. If you hold the phone at the bottom in your right hand and the palm of your hand is touching the right side bottom of the phone (the battery indicator side lower right), the signal will drop in anywhere from 10 to 60 seconds. If you remove your hand from that side it will come back. I went to AT&T and did it to an employees phone too. Some covers will also cause havoc even though it is made of plastic. I have a silver back case cover made by Ultra in hong kong. My daughter has a plastic case that is chrome plated on the back made by MORE. It blocks the signal when it is on. She had 3g when she walked into her work but when she gets to her desk... it searches, eventually no signal. The chrome plating apparently has an affect on the antenna. I had her remove the cover, 3g came back at her desk location at work. Put my cover on hers and still easily with 3g. So, apparently the hand , some cases or body parts touching that side of the phone will affect your signal. Here is a youtube video I've posted to show you. It's about two minutes long but well worth watching if you are having this problem.: http://www.youtube.com/watch?v=4wlSKr6gAmU

  • Possible network issues preventing successful application data transfer?

    Hello all.
    We are having a few issues with a specific set up here at work involving Oracle 11, and Oracle 9 databases and I was hoping someone with a fair idea of how Oracle configurations work when it comes to network connectivity and data transfer would mind sharing their opinion on the matter.
    First off, a bit of background. I'm a network security engineer by trade and my experience when it comes to the application side of things, specifically databases is inherently weak; so I apologise if my terminology or logic is slightly off here.
    Basically what I'm trying to determine is where a fault lies between our users using a terminal server and a remote Oracle SQL database that should service their requests.
    The problem lies wherein the user will utilise the 'sqlplus' application invoked from a Windows command prompt window, and expect to be able login and query a database. I believe we have two versions available to use, version 9 which is not actually in production but able to be used for testing and version 11 which is active in production.
    When accessing Oracle 11 servers will hang where we expect to see a successful connection followed by a healthy looking "SQL>" prompt data transfer appears to stall as follows:
    C:\>sqlplus username/[email protected]
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 22 18:12:17 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    *hangs here*If we try on the Oracle 9 setup things look fine initially:
    C:\>sqlplus username/[email protected]
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 22 18:19:20 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.6.0 - ProductionHowever once connected to the Oracle 9 box; if we run a query similar to:
    sqlplus username/[email protected]
    select * from <database> where rownum < 10;This will again hang.
    That said however, if we try and run a query similar to:
    sqlplus username/[email protected]
    select * from <database> where rownum < 5;This will return 4 rows of usable data, without issue.
    Our systems engineer provided me with a SQLNET trace from the server side and believes he's identified where it occurs:
    [21-SEP-2010 16:06:42:989] nsdo: entry
    [21-SEP-2010 16:06:42:989] nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    [21-SEP-2010 16:06:42:989] nsdo: rank=64, nsctxrnk=0
    [21-SEP-2010 16:06:42:990] nsdo: nsctx: state=8, flg=0x420c, mvd=0
    [21-SEP-2010 16:06:42:990] nsdo: gtn=156, gtc=156, ptn=10, ptc=2011
    [21-SEP-2010 16:06:42:990] nsdo: switching to application buffer
    [21-SEP-2010 16:06:42:990] nsrdr: entry
    [21-SEP-2010 16:06:42:990] nsrdr: recving a packet
    [21-SEP-2010 16:06:42:990] nsprecv: entry
    [21-SEP-2010 16:06:42:990] nsprecv: reading from transport...
    [21-SEP-2010 16:06:42:990] nttrd: entry
    #    HANG OCCURS HERE
    [21-SEP-2010 16:10:13:347] ntt2err: entry
    [21-SEP-2010 16:10:13:347] ntt2err: soc 25 error - operation=5, ntresnt[0]=517, ntresnt[1]=131, ntresnt[2]=0
    [21-SEP-2010 16:10:13:347] ntt2err: exit
    [21-SEP-2010 16:10:13:347] nttrd: exit
    [21-SEP-2010 16:10:13:347] nsprecv: transport read error
    [21-SEP-2010 16:10:13:347] nsprecv: error exit
    [21-SEP-2010 16:10:13:347] nserror: entry
    [21-SEP-2010 16:10:13:347] nserror: nsres: id=0, op=68, ns=12547, ns2=12560; nt[0]=517, nt[1]=131, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
    [21-SEP-2010 16:10:13:348] nsrdr: error exit
    [21-SEP-2010 16:10:13:348] nsdo: nsctxrnk=0
    [21-SEP-2010 16:10:13:348] nsdo: error exit
    [21-SEP-2010 16:10:13:348] nioqrc:  wanted 1 got 0, type 0
    [21-SEP-2010 16:10:13:348] nioqper:  error from nioqrc
    [21-SEP-2010 16:10:13:348] nioqper:    nr err code: 0
    [21-SEP-2010 16:10:13:348] nioqper:    ns main err code: 12547
    [21-SEP-2010 16:10:13:348] nioqper:    ns (2)  err code: 12560
    [21-SEP-2010 16:10:13:348] nioqper:    nt main err code: 517
    [21-SEP-2010 16:10:13:348] nioqper:    nt (2)  err code: 131
    [21-SEP-2010 16:10:13:349] nioqper:    nt OS   err code: 0
    [21-SEP-2010 16:10:13:349] nioqer: entry
    [21-SEP-2010 16:10:13:349] nioqer:  incoming err = 12151
    [21-SEP-2010 16:10:13:349] nioqce: entry
    [21-SEP-2010 16:10:13:349] nioqce: exit
    [21-SEP-2010 16:10:13:349] nioqer:  returning err = 3113
    [21-SEP-2010 16:10:13:349] nioqer: exit
    [21-SEP-2010 16:10:13:349] nioqrc: exit
    [21-SEP-2010 16:10:13:349] nioqds: entry
    [21-SEP-2010 16:10:13:349] nioqds:  disconnecting...
    [21-SEP-2010 16:10:13:349] nsdo: entry
    [21-SEP-2010 16:10:13:349] nsdo: cid=0, opcode=67, *bl=0, *what=1, uflgs=0x2, cflgs=0x3
    [21-SEP-2010 16:10:13:350] nsdo: rank=64, nsctxrnk=0
    [21-SEP-2010 16:10:13:350] nsdo: nsctx: state=1, flg=0x420c, mvd=0
    [21-SEP-2010 16:10:13:350] nsdo: nsctxrnk=0
    [21-SEP-2010 16:10:13:350] nsdo: error exitFrom the client log side, it looks like this:
    [21-SEP-2010 16:06:42:886] nsdo: entry
    [21-SEP-2010 16:06:42:886] nsdo: cid=0, opcode=84, *bl=0, *what=1, uflgs=0x20, cflgs=0x3
    [21-SEP-2010 16:06:42:886] nsdo: rank=64, nsctxrnk=0
    [21-SEP-2010 16:06:42:886] nsdo: nsctx: state=8, flg=0x400d, mvd=0
    [21-SEP-2010 16:06:42:886] nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    [21-SEP-2010 16:06:42:886] nsdofls: entry
    [21-SEP-2010 16:06:42:886] nsdofls: DATA flags: 0x0
    [21-SEP-2010 16:06:42:886] nsdofls: sending NSPTDA packet
    [21-SEP-2010 16:06:42:886] nspsend: entry
    [21-SEP-2010 16:06:42:886] nspsend: plen=17, type=6
    [21-SEP-2010 16:06:42:886] nttwr: entry
    [21-SEP-2010 16:06:42:886] nttwr: socket 1724 had bytes written=17
    [21-SEP-2010 16:06:42:886] nttwr: exit
    [21-SEP-2010 16:06:42:886] nspsend: packet dump
    [21-SEP-2010 16:06:42:886] nspsend: 00 11 00 00 06 00 00 00  |........|
    [21-SEP-2010 16:06:42:886] nspsend: 00 00 03 05 1C 01 01 01  |........|
    [21-SEP-2010 16:06:42:886] nspsend: 0F                       |.       |
    [21-SEP-2010 16:06:42:886] nspsend: 17 bytes to transport
    [21-SEP-2010 16:06:42:886] nspsend: normal exit
    [21-SEP-2010 16:06:42:886] nsdofls: exit (0)
    [21-SEP-2010 16:06:42:886] nsdo: nsctxrnk=0
    [21-SEP-2010 16:06:42:886] nsdo: normal exit
    [21-SEP-2010 16:06:42:886] nsdo: entry
    [21-SEP-2010 16:06:42:886] nsdo: cid=0, opcode=85, *bl=0, *what=0, uflgs=0x0, cflgs=0x3
    [21-SEP-2010 16:06:42:886] nsdo: rank=64, nsctxrnk=0
    [21-SEP-2010 16:06:42:886] nsdo: nsctx: state=8, flg=0x400d, mvd=0
    [21-SEP-2010 16:06:42:886] nsdo: gtn=127, gtc=127, ptn=10, ptc=2011
    [21-SEP-2010 16:06:42:886] nsdo: switching to application buffer
    [21-SEP-2010 16:06:42:886] nsrdr: entry
    [21-SEP-2010 16:06:42:886] nsrdr: recving a packet
    [21-SEP-2010 16:06:42:886] nsprecv: entry
    [21-SEP-2010 16:06:42:886] nsprecv: reading from transport...
    [21-SEP-2010 16:06:42:886] nttrd: entry
    #    HANG OCCURS HERE
    #    Need to <CTRL C> twice to kill
    #I've tried searching the net for similar occurrences of some of the interesting looking trace data but there appears to be limited information available, none of which is terribly helpful.
    What I'm really after is either someone who has had this issue before, or someone who can better interpret the error output from the trace files and perhaps give me an idea of what's causing it to occur. Specifically whether that error text above relates to a failed connection on the underlying network connectivity side of things or whether it may be something on a higher level within the application layers. We have done packet dumps on firewalls to check the traffic as it traverses the firewall but there are no anomalies that I can see which may be contributing to the issue at hand.
    I have organised for some testing to occur within the next 24 hours as there is a Cisco ASA Firewall that sits in the network path that is performing inspection on packets travelling through it. The inspection for SQLNET specifically is disabled, but we intend to enable this once more for testing to see whether it makes a difference. I'm not entirely confident it will however, and until we do get a chance to test any constructive input or alternate ideas will be greatly appreciated. I'm trying to cover as many bases as possible here.
    Cheers,
    Josh.

    So some further testing doesn't show anything interesting. But that said here's a look at a TCP Dump for the Oracle 11 session that hangs:
    SNORT01:~ # tcpdump -nni bond0 -vvv vlan and host 125.x.x.x and host 172.x.x.x -c 10000
    tcpdump: WARNING: bond0: no IPv4 address assigned
    tcpdump: listening on bond0, link-type EN10MB (Ethernet), capture size 68 bytes
    21:55:43.781596 IP (tos 0x0, ttl 126, id 24439, offset 0, flags [DF], proto: TCP (6), length: 48) 125.x.x.x.62008 > 172.x.x.x.1521: S, cksum 0x4d0a (correct), 2416392635:2416392635(0) win 64512 <mss 1380,nop,nop,sackOK>
    21:55:43.782454 IP (tos 0x0, ttl  59, id 50281, offset 0, flags [DF], proto: TCP (6), length: 48) 172.x.x.x.1521 > 125.x.x.x.62008: S, cksum 0xc0ae (correct), 3123579836:3123579836(0) ack 2416392636 win 49680 <mss 1460,nop,nop,sackOK>
    21:55:43.783311 IP (tos 0x0, ttl 126, id 24440, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.62008 > 172.x.x.x.1521: ., cksum 0xb382 (correct), 1:1(0) ack 1 win 64512
    21:55:43.787142 IP (tos 0x0, ttl 126, id 24441, offset 0, flags [DF], proto: TCP (6), length: 284) 125.x.x.x.62008 > 172.x.x.x.1521: P 1:245(244) ack 1 win 64512
    21:55:43.788504 IP (tos 0x0, ttl  59, id 50282, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.62008: ., cksum 0xed72 (correct), 1:1(0) ack 245 win 49436
    21:55:43.859023 IP (tos 0x0, ttl  59, id 50283, offset 0, flags [DF], proto: TCP (6), length: 48) 172.x.x.x.1521 > 125.x.x.x.62008: P, cksum 0xe166 (correct), 1:9(8) ack 245 win 49680
    21:55:43.860392 IP (tos 0x0, ttl 126, id 24445, offset 0, flags [DF], proto: TCP (6), length: 284) 125.x.x.x.62008 > 172.x.x.x.1521: P 245:489(244) ack 9 win 64504
    21:55:43.861773 IP (tos 0x0, ttl  59, id 50284, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.62008: ., cksum 0xeb82 (correct), 9:9(0) ack 489 win 49680
    21:55:43.861908 IP (tos 0x0, ttl  59, id 50285, offset 0, flags [DF], proto: TCP (6), length: 72) 172.x.x.x.1521 > 125.x.x.x.62008: P 9:41(32) ack 489 win 49680
    21:55:43.865341 IP (tos 0x0, ttl 126, id 24446, offset 0, flags [DF], proto: TCP (6), length: 196) 125.x.x.x.62008 > 172.x.x.x.1521: P 489:645(156) ack 41 win 64472
    21:55:43.867017 IP (tos 0x0, ttl  59, id 50286, offset 0, flags [DF], proto: TCP (6), length: 167) 172.x.x.x.1521 > 125.x.x.x.62008: P 41:168(127) ack 645 win 49680
    21:55:43.874836 IP (tos 0x0, ttl 126, id 24447, offset 0, flags [DF], proto: TCP (6), length: 77) 125.x.x.x.62008 > 172.x.x.x.1521: P 645:682(37) ack 168 win 64345
    21:55:43.876405 IP (tos 0x0, ttl  59, id 50287, offset 0, flags [DF], proto: TCP (6), length: 226) 172.x.x.x.1521 > 125.x.x.x.62008: P 168:354(186) ack 682 win 49680
    21:55:43.995921 IP (tos 0x0, ttl 126, id 24451, offset 0, flags [DF], proto: TCP (6), length: 1420) 125.x.x.x.62008 > 172.x.x.x.1521: . 682:2062(1380) ack 354 win 64159
    21:55:43.995978 IP (tos 0x0, ttl 126, id 24452, offset 0, flags [DF], proto: TCP (6), length: 671) 125.x.x.x.62008 > 172.x.x.x.1521: P 2062:2693(631) ack 354 win 64159
    21:55:43.999910 IP (tos 0x0, ttl  59, id 50288, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.62008: ., cksum 0xe18d (correct), 354:354(0) ack 2693 win 49680
    21:55:44.015402 IP (tos 0x0, ttl 126, id 24455, offset 0, flags [DF], proto: TCP (6), length: 326) 125.x.x.x.62008 > 172.x.x.x.1521: P 2693:2979(286) ack 354 win 64159
    21:55:44.020491 IP (tos 0x0, ttl  59, id 50289, offset 0, flags [DF], proto: TCP (6), length: 1420) 172.x.x.x.1521 > 125.x.x.x.62008: . 354:1734(1380) ack 2979 win 49680
    21:55:44.020789 IP (tos 0x0, ttl  59, id 50290, offset 0, flags [DF], proto: TCP (6), length: 671) 172.x.x.x.1521 > 125.x.x.x.62008: P 1734:2365(631) ack 2979 win 49680
    21:55:44.021015 IP (tos 0x0, ttl  59, id 50291, offset 0, flags [DF], proto: TCP (6), length: 355) 172.x.x.x.1521 > 125.x.x.x.62008: P 2365:2680(315) ack 2979 win 49680
    21:55:44.022489 IP (tos 0x0, ttl 126, id 24457, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.62008 > 172.x.x.x.1521: ., cksum 0x9ea4 (correct), 2979:2979(0) ack 2365 win 64512
    21:55:44.148236 IP (tos 0x0, ttl 126, id 24461, offset 0, flags [DF], proto: TCP (6), length: 215) 125.x.x.x.62008 > 172.x.x.x.1521: P 2979:3154(175) ack 2680 win 64197
    21:55:44.152125 IP (tos 0x0, ttl  59, id 50292, offset 0, flags [DF], proto: TCP (6), length: 187) 172.x.x.x.1521 > 125.x.x.x.62008: P 2680:2827(147) ack 3154 win 49680
    21:55:44.174040 IP (tos 0x0, ttl 126, id 24462, offset 0, flags [DF], proto: TCP (6), length: 1054) 125.x.x.x.62008 > 172.x.x.x.1521: P 3154:4168(1014) ack 2827 win 64050
    21:55:44.732635 IP (tos 0x0, ttl 126, id 24482, offset 0, flags [DF], proto: TCP (6), length: 1054) 125.x.x.x.62008 > 172.x.x.x.1521: P 3154:4168(1014) ack 2827 win 64050
    21:55:44.735346 IP (tos 0x0, ttl  59, id 50294, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.62008: ., cksum 0xcefc (correct), 3632:3632(0) ack 4168 win 49680
    21:56:17.076742 IP (tos 0x0, ttl 126, id 25631, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.62008 > 172.x.x.x.1521: R, cksum 0x942e (correct), 4168:4168(0) ack 2827 win 0
    *SQL session hangs here*The 'RESET' occurs when I kill the client using CTRL+C after a long period of inactivity, not during the session itself.
    And then.. Here's a successful login and query of 7 rows on the Oracle 9 database from a network perspective:
    SNORT01:~ # tcpdump -nni bond0 -vvv vlan and host 125.x.x.x and host 172.x.x.x -c 10000
    tcpdump: WARNING: bond0: no IPv4 address assigned
    tcpdump: listening on bond0, link-type EN10MB (Ethernet), capture size 68 bytes
    21:53:27.598450 IP (tos 0x0, ttl 126, id 19396, offset 0, flags [DF], proto: TCP (6), length: 48) 125.x.x.x.61937 > 172.x.x.x.1521: S, cksum 0xc9b4 (correct), 2519356327:2519356327(0) win 64512 <mss 1380,nop,nop,sackOK>
    21:53:27.612189 IP (tos 0x0, ttl  53, id 46015, offset 0, flags [DF], proto: TCP (6), length: 48) 172.x.x.x.1521 > 125.x.x.x.61937: S, cksum 0x1cdb (correct), 1010936359:1010936359(0) ack 2519356328 win 49680 <mss 1460,nop,nop,sackOK>
    21:53:27.612905 IP (tos 0x0, ttl 126, id 19398, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.61937 > 172.x.x.x.1521: ., cksum 0x0faf (correct), 1:1(0) ack 1 win 64512
    21:53:27.616233 IP (tos 0x0, ttl 126, id 19399, offset 0, flags [DF], proto: TCP (6), length: 321) 125.x.x.x.61937 > 172.x.x.x.1521: P 1:282(281) ack 1 win 64512
    21:53:27.629987 IP (tos 0x0, ttl  53, id 46016, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x4886 (correct), 1:1(0) ack 282 win 49680
    21:53:27.692135 IP (tos 0x0, ttl  53, id 46017, offset 0, flags [DF], proto: TCP (6), length: 48) 172.x.x.x.1521 > 125.x.x.x.61937: P, cksum 0x3d6e (correct), 1:9(8) ack 282 win 49680
    21:53:27.693603 IP (tos 0x0, ttl 126, id 19402, offset 0, flags [DF], proto: TCP (6), length: 321) 125.x.x.x.61937 > 172.x.x.x.1521: P 282:563(281) ack 9 win 64504
    21:53:27.707460 IP (tos 0x0, ttl  53, id 46018, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x4765 (correct), 9:9(0) ack 563 win 49680
    21:53:27.707883 IP (tos 0x0, ttl  53, id 46019, offset 0, flags [DF], proto: TCP (6), length: 72) 172.x.x.x.1521 > 125.x.x.x.61937: P 9:41(32) ack 563 win 49680
    21:53:27.711950 IP (tos 0x0, ttl 126, id 19403, offset 0, flags [DF], proto: TCP (6), length: 196) 125.x.x.x.61937 > 172.x.x.x.1521: P 563:719(156) ack 41 win 64472
    21:53:27.725971 IP (tos 0x0, ttl  53, id 46020, offset 0, flags [DF], proto: TCP (6), length: 167) 172.x.x.x.1521 > 125.x.x.x.61937: P 41:168(127) ack 719 win 49680
    21:53:27.734468 IP (tos 0x0, ttl 126, id 19405, offset 0, flags [DF], proto: TCP (6), length: 77) 125.x.x.x.61937 > 172.x.x.x.1521: P 719:756(37) ack 168 win 64345
    21:53:27.748270 IP (tos 0x0, ttl  53, id 46021, offset 0, flags [DF], proto: TCP (6), length: 199) 172.x.x.x.1521 > 125.x.x.x.61937: P 168:327(159) ack 756 win 49680
    21:53:27.878720 IP (tos 0x0, ttl 126, id 19409, offset 0, flags [DF], proto: TCP (6), length: 1110) 125.x.x.x.61937 > 172.x.x.x.1521: P 756:1826(1070) ack 327 win 64186
    21:53:28.994991 IP (tos 0x0, ttl 126, id 19443, offset 0, flags [DF], proto: TCP (6), length: 1110) 125.x.x.x.61937 > 172.x.x.x.1521: P 756:1826(1070) ack 327 win 64186
    21:53:29.010680 IP (tos 0x0, ttl  53, id 46023, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x3d83 (correct), 1276:1276(0) ack 1826 win 49680
    21:53:32.561849 IP (tos 0x0, ttl  53, id 46024, offset 0, flags [DF], proto: TCP (6), length: 989) 172.x.x.x.1521 > 125.x.x.x.61937: P 327:1276(949) ack 1826 win 49680
    21:53:32.710661 IP (tos 0x0, ttl 126, id 19550, offset 0, flags [DF], proto: TCP (6), length: 223) 125.x.x.x.61937 > 172.x.x.x.1521: P 1826:2009(183) ack 1276 win 63237
    21:53:32.724384 IP (tos 0x0, ttl  53, id 46025, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x3ccc (correct), 1276:1276(0) ack 2009 win 49680
    21:53:32.732636 IP (tos 0x0, ttl  53, id 46026, offset 0, flags [DF], proto: TCP (6), length: 133) 172.x.x.x.1521 > 125.x.x.x.61937: P 1276:1369(93) ack 2009 win 49680
    21:53:32.739922 IP (tos 0x0, ttl 126, id 19553, offset 0, flags [DF], proto: TCP (6), length: 947) 125.x.x.x.61937 > 172.x.x.x.1521: P 2009:2916(907) ack 1369 win 63144
    21:53:32.763266 IP (tos 0x0, ttl  53, id 46027, offset 0, flags [DF], proto: TCP (6), length: 329) 172.x.x.x.1521 > 125.x.x.x.61937: P 1369:1658(289) ack 2916 win 49680
    21:53:32.770925 IP (tos 0x0, ttl 126, id 19555, offset 0, flags [DF], proto: TCP (6), length: 78) 125.x.x.x.61937 > 172.x.x.x.1521: P 2916:2954(38) ack 1658 win 64512
    21:53:32.784774 IP (tos 0x0, ttl  53, id 46028, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 1658:1836(178) ack 2954 win 49680
    21:53:32.787455 IP (tos 0x0, ttl 126, id 19556, offset 0, flags [DF], proto: TCP (6), length: 149) 125.x.x.x.61937 > 172.x.x.x.1521: P 2954:3063(109) ack 1836 win 64334
    21:53:33.478760 IP (tos 0x0, ttl 126, id 19578, offset 0, flags [DF], proto: TCP (6), length: 149) 125.x.x.x.61937 > 172.x.x.x.1521: P 2954:3063(109) ack 1836 win 64334
    21:53:33.492256 IP (tos 0x0, ttl  53, id 46030, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x34ce (correct), 2268:2268(0) ack 3063 win 49680
    21:53:36.820908 IP (tos 0x0, ttl  53, id 46031, offset 0, flags [DF], proto: TCP (6), length: 472) 172.x.x.x.1521 > 125.x.x.x.61937: P 1836:2268(432) ack 3063 win 49680
    21:53:36.824225 IP (tos 0x0, ttl 126, id 19733, offset 0, flags [DF], proto: TCP (6), length: 57) 125.x.x.x.61937 > 172.x.x.x.1521: P 3063:3080(17) ack 2268 win 63902
    21:53:36.837345 IP (tos 0x0, ttl  53, id 46032, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x34bd (correct), 2268:2268(0) ack 3080 win 49680
    21:53:36.838015 IP (tos 0x0, ttl  53, id 46033, offset 0, flags [DF], proto: TCP (6), length: 110) 172.x.x.x.1521 > 125.x.x.x.61937: P 2268:2338(70) ack 3080 win 49680
    21:53:36.839520 IP (tos 0x0, ttl 126, id 19734, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 3080:3119(39) ack 2338 win 63832
    21:53:36.853507 IP (tos 0x0, ttl  53, id 46034, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 2338:2516(178) ack 3119 win 49680
    21:53:36.855886 IP (tos 0x0, ttl 126, id 19735, offset 0, flags [DF], proto: TCP (6), length: 160) 125.x.x.x.61937 > 172.x.x.x.1521: P 3119:3239(120) ack 2516 win 63654
    21:53:36.870292 IP (tos 0x0, ttl  53, id 46035, offset 0, flags [DF], proto: TCP (6), length: 99) 172.x.x.x.1521 > 125.x.x.x.61937: P 2516:2575(59) ack 3239 win 49680
    21:53:36.879557 IP (tos 0x0, ttl 126, id 19738, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 3239:3278(39) ack 2575 win 63595
    21:53:36.893506 IP (tos 0x0, ttl  53, id 46036, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 2575:2753(178) ack 3278 win 49680
    21:53:36.895884 IP (tos 0x0, ttl 126, id 19739, offset 0, flags [DF], proto: TCP (6), length: 292) 125.x.x.x.61937 > 172.x.x.x.1521: P 3278:3530(252) ack 2753 win 63417
    21:53:36.911464 IP (tos 0x0, ttl  53, id 46037, offset 0, flags [DF], proto: TCP (6), length: 305) 172.x.x.x.1521 > 125.x.x.x.61937: P 2753:3018(265) ack 3530 win 49680
    21:53:36.913580 IP (tos 0x0, ttl 126, id 19740, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 3530:3569(39) ack 3018 win 63152
    21:53:36.927515 IP (tos 0x0, ttl  53, id 46038, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 3018:3196(178) ack 3569 win 49680
    21:53:36.938328 IP (tos 0x0, ttl 126, id 19742, offset 0, flags [DF], proto: TCP (6), length: 315) 125.x.x.x.61937 > 172.x.x.x.1521: P 3569:3844(275) ack 3196 win 64512
    21:53:36.953008 IP (tos 0x0, ttl  53, id 46039, offset 0, flags [DF], proto: TCP (6), length: 183) 172.x.x.x.1521 > 125.x.x.x.61937: P 3196:3339(143) ack 3844 win 49680
    21:53:36.961020 IP (tos 0x0, ttl 126, id 19743, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 3844:3883(39) ack 3339 win 64369
    21:53:36.974890 IP (tos 0x0, ttl  53, id 46040, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 3339:3517(178) ack 3883 win 49680
    21:53:36.977183 IP (tos 0x0, ttl 126, id 19744, offset 0, flags [DF], proto: TCP (6), length: 208) 125.x.x.x.61937 > 172.x.x.x.1521: P 3883:4051(168) ack 3517 win 64191
    21:53:36.991461 IP (tos 0x0, ttl  53, id 46041, offset 0, flags [DF], proto: TCP (6), length: 110) 172.x.x.x.1521 > 125.x.x.x.61937: P 3517:3587(70) ack 4051 win 49680
    21:53:36.993439 IP (tos 0x0, ttl 126, id 19747, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 4051:4090(39) ack 3587 win 64121
    21:53:37.007199 IP (tos 0x0, ttl  53, id 46042, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 3587:3765(178) ack 4090 win 49680
    21:53:37.011239 IP (tos 0x0, ttl 126, id 19748, offset 0, flags [DF], proto: TCP (6), length: 183) 125.x.x.x.61937 > 172.x.x.x.1521: P 4090:4233(143) ack 3765 win 63943
    21:53:37.025767 IP (tos 0x0, ttl  53, id 46043, offset 0, flags [DF], proto: TCP (6), length: 210) 172.x.x.x.1521 > 125.x.x.x.61937: P 3765:3935(170) ack 4233 win 49680
    21:53:37.027455 IP (tos 0x0, ttl 126, id 19750, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 4233:4272(39) ack 3935 win 63773
    21:53:37.041382 IP (tos 0x0, ttl  53, id 46044, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 3935:4113(178) ack 4272 win 49680
    21:53:37.044708 IP (tos 0x0, ttl 126, id 19751, offset 0, flags [DF], proto: TCP (6), length: 75) 125.x.x.x.61937 > 172.x.x.x.1521: P 4272:4307(35) ack 4113 win 63595
    21:53:37.058388 IP (tos 0x0, ttl  53, id 46045, offset 0, flags [DF], proto: TCP (6), length: 56) 172.x.x.x.1521 > 125.x.x.x.61937: P 4113:4129(16) ack 4307 win 49680
    21:53:37.060398 IP (tos 0x0, ttl 126, id 19752, offset 0, flags [DF], proto: TCP (6), length: 75) 125.x.x.x.61937 > 172.x.x.x.1521: P 4307:4342(35) ack 4129 win 63579
    21:53:37.073926 IP (tos 0x0, ttl  53, id 46046, offset 0, flags [DF], proto: TCP (6), length: 56) 172.x.x.x.1521 > 125.x.x.x.61937: P 4129:4145(16) ack 4342 win 49680
    21:53:37.088056 IP (tos 0x0, ttl 126, id 19753, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.61937 > 172.x.x.x.1521: ., cksum 0xf23e (correct), 4342:4342(0) ack 4145 win 63563
    21:53:56.309909 IP (tos 0x0, ttl 126, id 20509, offset 0, flags [DF], proto: TCP (6), length: 176) 125.x.x.x.61937 > 172.x.x.x.1521: P 4342:4478(136) ack 4145 win 63563
    21:53:56.325783 IP (tos 0x0, ttl  53, id 46047, offset 0, flags [DF], proto: TCP (6), length: 398) 172.x.x.x.1521 > 125.x.x.x.61937: P 4145:4503(358) ack 4478 win 49680
    21:53:56.329152 IP (tos 0x0, ttl 126, id 20511, offset 0, flags [DF], proto: TCP (6), length: 57) 125.x.x.x.61937 > 172.x.x.x.1521: P 4478:4495(17) ack 4503 win 63205
    21:53:56.557234 IP (tos 0x0, ttl 126, id 20519, offset 0, flags [DF], proto: TCP (6), length: 57) 125.x.x.x.61937 > 172.x.x.x.1521: P 4478:4495(17) ack 4503 win 63205
    21:53:56.570496 IP (tos 0x0, ttl  53, id 46049, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x24ea (correct), 4904:4904(0) ack 4495 win 49680
    21:53:58.561449 IP (tos 0x0, ttl  53, id 46051, offset 0, flags [DF], proto: TCP (6), length: 441) 172.x.x.x.1521 > 125.x.x.x.61937: P 4503:4904(401) ack 4495 win 49680
    21:53:58.602228 IP (tos 0x0, ttl 126, id 20579, offset 0, flags [DF], proto: TCP (6), length: 79) 125.x.x.x.61937 > 172.x.x.x.1521: P 4495:4534(39) ack 4904 win 64512
    21:53:58.615281 IP (tos 0x0, ttl  53, id 46052, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x24c3 (correct), 4904:4904(0) ack 4534 win 49680
    21:53:58.616571 IP (tos 0x0, ttl  53, id 46053, offset 0, flags [DF], proto: TCP (6), length: 218) 172.x.x.x.1521 > 125.x.x.x.61937: P 4904:5082(178) ack 4534 win 49680
    21:53:58.745531 IP (tos 0x0, ttl 126, id 20584, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.61937 > 172.x.x.x.1521: ., cksum 0xead2 (correct), 4534:4534(0) ack 5082 win 64334
    21:54:01.476582 IP (tos 0x0, ttl 126, id 20707, offset 0, flags [DF], proto: TCP (6), length: 53) 125.x.x.x.61937 > 172.x.x.x.1521: P 4534:4547(13) ack 5082 win 64334
    21:54:01.492998 IP (tos 0x0, ttl  53, id 46054, offset 0, flags [DF], proto: TCP (6), length: 53) 172.x.x.x.1521 > 125.x.x.x.61937: P 5082:5095(13) ack 4547 win 49680
    21:54:01.499924 IP (tos 0x0, ttl 126, id 20709, offset 0, flags [DF], proto: TCP (6), length: 50) 125.x.x.x.61937 > 172.x.x.x.1521: P, cksum 0xe469 (correct), 4547:4557(10) ack 5095 win 64321
    21:54:01.500558 IP (tos 0x0, ttl 126, id 20710, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.61937 > 172.x.x.x.1521: F, cksum 0xeaba (correct), 4557:4557(0) ack 5095 win 64321
    21:54:01.513561 IP (tos 0x0, ttl  53, id 46055, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: F, cksum 0x23ec (correct), 5095:5095(0) ack 4557 win 49680
    21:54:01.513628 IP (tos 0x0, ttl  53, id 46056, offset 0, flags [DF], proto: TCP (6), length: 40) 172.x.x.x.1521 > 125.x.x.x.61937: ., cksum 0x23eb (correct), 5096:5096(0) ack 4558 win 49680
    21:54:01.514175 IP (tos 0x0, ttl 126, id 20713, offset 0, flags [DF], proto: TCP (6), length: 40) 125.x.x.x.61937 > 172.x.x.x.1521: ., cksum 0xeab9 (correct), 4558:4558(0) ack 5096 win 64321The above is obviously fine, but it's really quite strange. I can get the Oracle 9 queries to hang if I select over 7 rows (8 being the point at which it dies).
    So I can run
    Sqlplus user/[email protected]
    Select * from <blah> where rownum < 7;Over and over again, as many times as I like without issue.
    But!.. As soon as I run
    Sqlplus user/[email protected]
    Select * from <blah> where rownum < 8;The session will hang, and from a network perspective there are no packets being transferred in either direction. It looks exactly like the Oracle 11 session in that the session is still ESTABLISHED from a client perspective but no data is flowing in either direction..
    Does anyone have any idea why '8' is the magic number that would be causing it to hang? I'm really stuggling to see from a network perspective how this may be occuring, as above the TCPDump looks clean.
    Unfortunately I don't have access do a dump on the client/server itself however, just on the network path. I guess that may be where we need to be looking next.
    Thanks for the ideas so far all, much appreciated.
    Josh.

  • Are mutliple database calls really significant with a network call for a web API?

    At one of my employers, we worked on a REST (but it also applies to SOAP) API. The client, which is the application UI, would make calls over the web (LAN in typical production deployments) to the API. The API would make calls to the database.
    One theme that recurs in our discussions is performance: some people on the team believe that you should not have multiple database calls (usually reads) from a single API call because of performance; you should optimize them so that each API call has only
    (exactly) one database call.
    But is that really important? Consider that the UI has to make a network call to the API; that's pretty big (order of magnitude of milliseconds). Databases are optimized to keep things in memory and execute reads very, very quickly (eg. SQL Server loads and
    keeps everything in RAM and consumes almost all your free RAM if it can).
    TLDR: Is it really significant to worry about multiple database calls when we are already making a network call over the LAN? If so, why?
    To be clear, I'm talking about order of magnitude -- I know that it depends on specifics (machine hardware, choice of API and DB, etc.) If I have a call that takes O(milliseconds), does optimizing for DB calls that take an order of magnitude less, actually
    matter? Or is there more to the problem than this?
    Edit: for posterity, I think it's quite ridiculous to make claims that we need to improve performance by combining database calls under these circumstances -- especially
    with a lack of profiling. However, it's not my decision whether we do this or not; I want to know what the rationale is behind thinking this is a correct way of optimizing web API calls.

    But is that really important? Consider that the UI has to make a network call to the API; that's pretty big (order of magnitude of milliseconds). Databases are optimized to keep things in memory
    and execute reads very, very quickly (eg. SQL Server loads and keeps everything in RAM and consumes almost all your free RAM if it can).
    The Logic
    In theory, you are correct. However, there are a few flaws with this rationale:
    From what you stated, it's unclear if you actually tested / profiled your app. In other words, do you actually know that
    the network transfers from the app to the API are the slowest component? Because that is intuitive, it is easy to assume that it is. However, when discussing performance, you should never assume. At my employer, I am the performance lead. When I first joined,
    people kept talking about CDN's, replication, etc. based on intuition about what the bottlenecks must be. Turns out, our biggest performance problems were poorly performing database queries.
    You are saying that because databases are good at retrieving data, that the database is necessarily running at peak performance, is being used optimally, and there is nothing that can be done
    to improve it. In other words, databases are designed to be fast, so I should never have to worry about it. Another dangerous line of thinking. That's like saying a car is meant to move quickly, so I don't need to change the oil.
    This way of thinking assumes a single process at a time, or put another way, no concurrency. It assumes that one request cannot influence another request's performance. Resources are shared,
    such as disk I/O, network bandwidth, connection pools, memory, CPU cycles, etc. Therefore, reducing one database call's use of a shared resource can prevent it from causing other requests to slow down. When I first joined my current employer, management believed
    that tuning a 3 second database query was a waste of time. 3 seconds is so little, why waste time on it? Wouldn't we be better off with a CDN or compression or something else? But if I can make a 3 second query run in 1 second, say by adding an index, that
    is 2/3 less blocking, 2/3 less time spent occupying a thread, and more importantly, less data read from disk, which means less data flushed out of the in-RAM cache.
    The Theory
    There is a common conception that software performance is simply about speed.
    From a purely speed perspective, you are right. A system is only as fast as its slowest component. If you have profiled your code and found that the Internet is the slowest component, then everything else is obviously not the slowest part.
    However, given the above, I hope you can see how resource contention, lack of indexing, poorly written code, etc. can create surprising differences in performance.
    The Assumptions
    One last thing. You mentioned that a database call should be cheap compared to a network call from the app to the API. But you also mentioned that the app and the API servers are in the same LAN. Therefore, aren't both of them comparable as network calls? In
    other words, why are you assuming that the API transfer is orders of magnitude slower than the database transfer when they both have the same available bandwidth? Of course the protocols and data structures are different, I get that, but I dispute the assumption
    that they are orders of magnitude different.
    Where it gets murkey
    This whole question is about "multiple" versus "single" database calls. But it's unclear how many are multiple. Because of what I said above, as a general rule of thumb, I recommend making as few database calls as necessary. But that is
    only a rule of thumb.
    Here is why:
    Databases are great at reading data. They are storage engines. However, your business logic lives in your application. If you make a rule that every API call results in exactly one database call, then your business logic may end up in the database. Maybe that
    is ok. A lot of systems do that. But some don't. It's about flexibility.
    Sometimes to achieve good decoupling, you want to have 2 database calls separated. For example, perhaps every HTTP request is routed through a generic security filter which validates from the DB that the user has the right access rights. If they do, proceed
    to execute the appropriate function for that URL. That function may interact with the database.
    Calling the database in a loop. This is why I asked how many is multiple. In the example above, you would have 2 database calls. 2 is fine. 3 may be fine. N is not fine. If you call the database in a loop, you have now made performance linear, which means it
    will take longer the more that is in the loop's input. So categorically saying that the API network time is the slowest completely overlooks anomalies like 1% of your traffic taking a long time due to a not-yet-discovered loop that calls the database 10,000
    times.
    Sometimes there are things your app is better at, like some complex calculations. You may need to read some data from the database, do some calculations, then based on the results, pass a parameter to a second database call (maybe to write some results). If
    you combine those into a single call (like a stored procedure) just for the sake of only calling the database once, you have forced yourself to use the database for something which the app server might be better at.
    Load balancing: You have 1 database (presumably) and multiple load balanced application servers. Therefore, the more work the app does and the less the database does, the easier it is to scale because it's generally easier to add an app server than setup database
    replication. Based on the previous bullet point, it may make sense to run a SQL query, then do all the calculations in the application, which is distributed across multiple servers, and then write the results when finished. This could give better throughput
    (even if the overall transaction time is the same).
    TL;DR
    TLDR: Is it really significant to worry about multiple database calls when we are already making a network call over the LAN? If so, why?
    Yes, but only to a certain extent. You should try to minimize the number of database calls when practical, but don't combine calls which have nothing to do with each other just for the sake of combining them. Also, avoid calling the database in a loop at all
    costs.

  • XP dying, going crazy, and corrupting data when network is out

    Here's my setup:
    Airport extreme main -> airport extreme remote -> imac intel core2duo -> parallels -> Windows XP Service pack 2
    Connected to the imac is a Fax 2850 Brother.
    bonjour installed on XP
    Print sharing enabled on the same mac.
    When the network is on - I can print to the fax from XP very well - works like a charm I was singing Apples praises ("they even make windows easier" and so on).
    However, the remote base station dropped out. I went to print not noticing this. it took 3 minutes for the print dialogue to come up. I cancelled it realising something was wrong. When I restarted windows, the app I was working in was stuffed - all the data was damaged, I had to restore from a backup which thank god I did just a couple of hours earlier. saved my life.
    What REALLY concerns me though is exactly why this happened - I have two unexplained and possible unconnected or connected as the case may be anomalies that happened:
    1. the base station dropped out. I have another remote on the opposite side of the main station - it did not drop out. I got it back by resetting the main station - the remote picked up again and is now online.
    2. windows went bezerk.
    Anyone know anything about this - had any experience. I think it's probably reasonably safe to say the printer driver / model itself is probably unrelated- and this could happen with any printer.
    Am I better off getting an express point just for the printer so I can print to it reliably from both windows and the mac without getting printer jams and so on - or does using the express usb printer configuration with bonjour still rely on the mac to process the print queue? What's the story there? Basically the Mac works perfectly it's fantastic, but windows poops it's pants when the printer isn't online... ? Or am I off base there? Anyway need help as this set up has to be as reliable as possible - so whatever that means I have to do that even if it means getting a dedicated windows printer.
    Miklos.

    To BB employees -- please note last paragraph I just added in clarification
    Market Information? Come read The Market Ticker!

  • Unknown system keychain for airport network

    Hi, i wonder if anyone can explain me this:
    I have found in my keychain access a totally unknown "system keychain", under somebody's name.
    the Kind says "Airport Network Password", the Account says "Person Name " , Where is in "Airport Network" and it has the icon of an application.
    i dont have such account in my computer, and never set anything under this name, and when i try to retrieve this password with my administrator login keychain, it doesn't let me access it.
    but i can see that it always allow access by these applications:
    configd /usr/sbin
    airport /system/library/privateframeworks/
    airportcfgtool /system/library/privateframeworks/
    system preferences /applications
    what is exactly going on?
    thank you for your help

    yes i do have a wireless internet connection and it is insecure, i got a second hand wi-fi router and couldn't figure out how to set a password. of course it isn't my wireless login account, it says "lisandro" and that's not my name...
    besides, what happens now (unlike before) is that often while im on the internet, i get a lot of pop-up windows that tells me that safari cannot verify the identity of this or that website because the certificate of the website is invalid and there i have to click on "continue" or "cancel" to keep going.
    for instance, it happened when i opened "discussions.apple.com", whose certificate was
    a certain 'a248.e.akamai.net' from an organization named 'Akamai Technologies, Inc' ....?
    also, when i open safari, now the keychain asks me to input my login password, whereas this never happened before...
    how can get rid of these anomalies?
    thanks for your help

  • None of your preferred networks are available--SOLUTION

    This had been driving me NUTS. As of late, my 15" MBP was consistently not finding either of the networks in my home.
    I found, elsewhere here on the boards, if you have moved your System Preferences app to a sub-folder of Applications, this presents a problem for the Keychain. I moved the System Preferences back to the main Applications folder and, voila! Problem solved.
    Just posting this in case you, like me, have been struggling with this for months!
    Hope this helps.

    Using Windows as an example is just silly.
    Leopard is a computer operating system. I believe it's better than many others but it's not magical. Comparisons to any operating system do have some benefits, especially when they illustrate limitations that have always existed.
    It's counter-intuitive for two reasons: first, THE OS LETS YOU DO IT...second, it finds the network just fine when you boot up...just not when waking from sleep.
    Whoa there, you're probably a little more worked up about a minor issue than you should be. Safari will also let you type in your credit card number on a fake website. You can actually delete parts of your operating system if you really try. A simple mistake with a reinstallation can wipe your entire drive away. Things can happen, and you won't get a warning for every possible mistake that can be made. Oh well. You are only focusing on one symptom or problem. Continuing to move your applications to unknown directories will continue to provide you with errors, problems, and other "unexplainable" anomalies. The OS is very complex with relationships and directories in place for it's own organization and purpose. The Applications folder is not in the User folder, and it's not a good idea to change the location of programs.
    I'd venture to say I'm better with computers than 90% of the population and I never would have assumed this would cause such a problem. Apple's goal has always been to get the computer out of your way. They've failed to do that in this instance. They should not allow new folders to be created in the Apps folder.
    Comparisons with "the population" can bite you. I'd never assume that I'm in the top 10% of something so complex or widespread as "computers". Rather, I'm very aware that there are some things I know, and there are some things I know about, and somethings I don't have a clue. The list is different for everybody.
    There are many programs that can be installed by a simple drag and drop. I'd guess (really can't say for sure) that most of these programs can be filed anyway you wish. Programs that use installers to create and insert files in specific areas should probably be left alone, including programs that come from Apple with the OS. You can move some of them without repercussions, but which ones is anybody's guess since we don't know what updates will need to change. I do know that Apple's update system will not offer updates for it's own programs if they are not in the place where they put them. The updater will assume that you've deleted the application.
    How you want an operating system to work is not something we can really talk much about on this forum. The Terms of Use for the forum pretty much say that we are supposed to be dealing with problems and leave design debates to the engineers and the feedback system. I also come here to read the successful repairs so that my own level of competency can be better. Apple doesn't come here for suggestions or design tips. They do have a system where you can contact them:
    http://www.apple.com/feedback/macosx.html
    The fact that I had to be transferred to a product specialist, who wasn't even able to figure out my problem, (I had to find it here on the boards) indicates to me that this something Apple should rectify...at least with a pop-up warning you of the potential consequences.
    Sounds like you could include this critique on their form. The Genius titles are a little loose. These people do get good training, but somethings can be pretty tough to analyze. I'm glad you figured out what was happening. It's a pretty obscure problem with a fairly rare cause. When I have to work over the phone, and can't see the desktop or actual problem I have to rely on the descriptions that my clients use. I wouldn't think to ask if a client had moved all of their applications, just like I wouldn't think to ask if they knew how to right-click a file. Somethings are taken for granted, and it's not good for either party.
    Most casual users would NEVER think to use an App launcher...nor would they even come close to think that putting Apps in a sub-folder of the Apps folder would be problematic.
    I don't agree with your assertion. There have been many company's over the years that built their first products to include Application launchers. Years past we used to build our own launchers by building hierarchical lists of Alias's with the names doctored with spaces at the beginning to sort the list just the way we wanted. Apple decided to include the Dock as a fairly easy way to build a simple launcher. Many users want to arrange their programs in a way they want. Previous versions of Mac OS had other launchers that were more difficult to set up, but they were there for a reason. There has never been an operating system of any flavor that has allowed installed applications to be moved to an unknown directory without rebuilding or reinstalling the application so that the OS knows where all of the files are located. Mac users may not have to deal with many of the problems that windows falls prey to, but it's still pretty obvious (maybe only to me) that if you move an application from where it's supposed to be, then other programs won't be able to find it.
    And it's ludicrous to expect that one is going to load their Dock with every single App they might ever use.
    Most of my clients do not even use all of the applications on their Dock as it is setup during installation. I usually remove some of the icons that they aren't using to simplify the learning process. Meanwhile, I show them how to add programs to the Dock and how to arrange the icons in the order they want them to be. During this minor bit of training, I mention that the applications should actually stay in the Applications folder. My own Dock has 34 Application icons on it, but for me that's not enough, so I use a 3rd party program to help keep track of related programs and projects. Many other people do the same, with even more organization.
    I was being generous by taking my time to post this solution. What was your motivation? To make me feel inferior to you? Sorry, didn't work.
    My motivation was to get you to try to understand why you had the problem in the first place, you broke a simple design limitation that's inherent with every OS in general use (not just Mac's). To call your mistake a bug detracts from the very real bugs we do see, and wonder about. I do not get a superior feeling by arguing programing design with you. I'm not qualified to speak for Apples design decisions. I try to understand them and I do enjoy a lively conversation that's interlaced with informed opinions.
    I also wanted to disagree with your statement that what happened is a bug. Since all computers work this way, and always have, your statement is in error. You broke something, you figured out what you broke, and you probably won't do it again.
    This forum is a quick way to get information, and if someone provides iffy or just plain wrong information it will get challenged (happens to me on occasion too).
    You can take some satisfaction that somebody else is reading this and beginning to understand the relationships of their programs, the OS, and what not to do. I tend to take some things for granted, so when one of my clients moved their entire Applications folder to their desktop I was surprised. They now know that this is a bad idea. They didn't get chewed out or belittled, just informed, as I moved the folder back to where it belongs and we went over how to use the Dock again.

  • Small office network

    Hi there,
    I want to install/move our office over the weekend and have some lose ends, which i hope can be answered in this forum.
    First, let me start off mentioning what i intend to do:
    we have three (airport enabled) iMacs sitting in the middle of our office.
    At the far end of the office we have the DSL modem, a Gigabit Ethernet Switch, the airport extreme station.
    At the other end of the office, I have a HP Color LaserJet (networkable) and a PowerMac G5 1.8GhZ DP (has an airport card installed).
    I would like to have the three iMacs connected to the Internet, the Printer and the G5 PowerMac (which will serve as a server). I go about that by connecting the Modem with a jumper cable to the Gigabit switch, as well as the Ethernet cable (regular ONE-WAY) from the printer and the G5 into the Gigabit Switch, I assume. Then I lead one Ethernet Cable from the Gigabit Switch into the airport station, so that an (optional) laptop could access all of teh attached goodies.
    Eeventhough the iMacs are airport enabled, I would rather have the option of having them hardwired as well (for speed reasons). I just plug those ethernet cables inside the Gigabit Switch as well?
    Thats the technical part.
    Now a question about the PowerMac G5. Everyone on the network needs to access files which I will store on the G5, such as photo library and some word and xls documents. Can i just make everything shareable?
    Thank you in advance for any suggestions/input you might have.
    G5 imac, powermac, etc   Mac OS X (10.4.6)  

    It sounds like you have it right - if you're using wired ethernet connections just connect everything back to the switch.
    For the base station, make sure it's running in bridge rather than route mode - using AirPort Admin Utility, turn off the 'distribute IP addresses' option.
    As for the file sharing, I wouldn't share the entire drive, but designate one folder (or folders) as being shared. If this is running Mac OS X client (vs. Server) get a copy of SharePoints which will make it easy to select which folders are available for sharing.
    Unless you're also running as a directory server you'll also need to make sure that the G5 has an account for everyone that is going to log onto it to access the shared folders. You could use one common account, but that's not recommended.

  • Cannot send email from outlook 2011 (Mac) on public networks but can send via  Mac Mail

    I cannot send mail with Outlook from anywhere other than my work or home network, will not work even when accessing 4g with my phone hotspot; very frustrating. I am using Yosemite & Macbook Pro (2012). if i use the Apple Mail everything works fine so I can only assume it is a setting on Outlook?

    Update - I now have it working.
    am not really sure what exactly fixed it.
    I changed a lot of things but my setup now has the following which I think fixed.
    outgoing server  - p06-smtp.mail.me.com
    override default port checked - port now 587
    on more options button changed it to "use incoming server info".

  • Network Cable unplugged

    I have BT Total Broadband Anywhere Home Hub 2. I have used it successfully on my desktop pc and wirelessly with my laptop. However I went away for 2 months and was unable to use either (everything was switched off whilst away).  On my return the laptop can't connect at all, I just get two grey monitors with a red X and the information 'A Network Cable is unplugged'. I bought  a netbook when away and am having the same problem with that now.
    On the laptop that worked before, on my Network Connections it is showing as follows:
    Local Area Connection 2
    Network cable unplugged
    Broadcom 440 x 10/100 Integrated Controller
    1394 Connection 2
    Connected
    1394 Net Adapter #2
    I have tried connecting to the Hub with an ethernet cable without success and when I run the Hub Manager on the laptop it just says it can't connect with the hub. When I run the Hub Manager on my desktop it says there is no wireless device detected.
    A check on the laptops device manager hardware shows everything as working properly, but when I try the Wireless WLAN configuration utility in Control Panel it tells me there are currently no wireless adapters available and enabled.
    I am getting desperate as I cannot sit at the desktop for any length of time and need the laptop, please can anyone help?

    chunkleberry wrote:
    I have BT Total Broadband Anywhere Home Hub 2. I have used it successfully on my desktop pc and wirelessly with my laptop. However I went away for 2 months and was unable to use either (everything was switched off whilst away).  On my return the laptop can't connect at all, I just get two grey monitors with a red X and the information 'A Network Cable is unplugged'. I bought  a netbook when away and am having the same problem with that now.
    On the laptop that worked before, on my Network Connections it is showing as follows:
    Local Area Connection 2
    Network cable unplugged
    Broadcom 440 x 10/100 Integrated Controller
    1394 Connection 2
    Connected
    1394 Net Adapter #2
    I have tried connecting to the Hub with an ethernet cable without success and when I run the Hub Manager on the laptop it just says it can't connect with the hub. When I run the Hub Manager on my desktop it says there is no wireless device detected.
    A check on the laptops device manager hardware shows everything as working properly, but when I try the Wireless WLAN configuration utility in Control Panel it tells me there are currently no wireless adapters available and enabled.
    I am getting desperate as I cannot sit at the desktop for any length of time and need the laptop, please can anyone help?
    Hi, the devices you have mentioned are the 'wired' connections.  On most laptops, there are switched you can press to turn on and off wireless, is it posisble this has been done?
    You can check to see if 'wireless network' appears by selecting the Start Button, then click on Control Panel and open, you should see 'Network' (doing this by memory) and open that up, you will see Wired Lan and Wireless Lan.
    If Wireless Lan is disabled, you can right click on wireless lan and enable it, that should work.
    CG
    CG Over An Out

  • AIO Remote wont recognize my network printer deskjet 3050

    AIO remote app (IOS) did not recognize my network printer (Deskjet 3050), other apps (printer pro lite) did recognize the printer flawlessly, both the printer and the iphone are in the same network, I can print from my PC and my mac but not from AIO remote app (not even recognize the printer).
    Can you help me?

    Hello MrCrysis,
    With the Printer Pro Lite app working to printer, this is excellent to hear. Although this is not an HP app. So to explain as to why the AiO Remote app is not recognizing your printer, and not being able to scan. Your printer does not have AirPrint capabilities according to the 'HP Deskjet 3050 (J610) and 3050A (J611) All-in-One Printer Series Product Specifications'. AirPrint is a requirement for the HP AiO Remote app to work, and because the printer does not have AirPrint the app can not see the printer.
    Regards .
    I worked on behalf of HP

Maybe you are looking for