Encapsulation vs. performance

We are creating a J2EE application with an O-R mapper to solve the persistence problems. We plan to create Java objects which encapsulate certain aspects by creating a service interface. These services use persistent objects backed by some database tables.
Now we have some decisions which need information of all kinds of services. With SQL you would do a big join over a lot of tables and get a small result. Using OO you would ask service A getting 5000 objects and merge it with the result of service B getting 6000 objects...
I don't have to mention that the OO version is unbearably slow. The SQL version is quite fast but breaks encapsulation. The writer of the query has to know the implementation details of all services.
Is there any solution? Somthing like the service provides a part of a query and the caller "joins" them with its own query?

>
Is there any solution? Somthing like the service
provides a part of a query and the caller "joins"
them with its own query?This is easy to generalize given that a service does know the attibutes.
Each attribute generates the following java properties...
           class Attribute
               String op1;
               String op2;
               Operand operand;
This is wrapped in a service type
          class SingleServiceQuery
                String serviceName
                Collection of Attributes
          class  ServiceQuery
                Collection of SingleServiceQuery
In the database layer you have a generalized routine to map the serviceName to the database, and attribute types and names.
You can derive this dynamically or simply insist that the service descriptor itself provide (even do it the database if you want.)
Commonality is based on common attribute names.
The query is built dynamically.

Similar Messages

  • Event handling across unrelated classes

    I have a widget type of package that holds some classes that are basically JPanels with appropriate components on them. Specifically, JCheckBox, JComboBox, that kind of thing. These JPanels are used by multiple applications that describe some graphics, so one JPanel allows a user to set properties on Lines, one JPanel allows a user to set properties on Areas, that kind of thing. Several of these are put together in a JTabbedPane, which is another class in this package (this thing can be customized for what is needed).
    The applications themselves use what they need for their particular thing. Here's the question. I designed this thinking that I can have these pre-created panels of what I need, and add the listeners in the application. For example, something like this:
    tabbedPanePanel.getLinePanel().getColorCombo().addItemListener(new ItemListener......);
    When I do this as described in the application, when the colorCombo box is changed, it doesn't trip the event (I was in debug tracing through). Obviously my design is flawed, but I don't know how to change it to make it work. There are two things I need help with improvement.
    First, how can I use these re-usable widgets, when the actions are different depending on the application, and the items that the actions would affect are specific to the applications?
    Second, what would a better design paradigm be for better encapsulation, and performance for these actions (item listeners and such) and the widgets themselves?
    Thank you,
    Valeri

    Think in terms of gathering data instead of actions. That is, each panel gets some user input. Put all the user input in some sort of data object, and provide a method that returns the data object. E.g. Imagine a color panel that lets the user enter R, G, and B:
    public class ColorPanel extends JPanel {
             // TextFields....
            public Color getColor() {
                     // returns a color based on the values in the text fields
    }It is important not to put any OK or Cancel buttons in the panels. You save the OK and Cancel buttons for another main panel that is application specific. When the OK button is pressed, you collect the data and apply it.

  • IPV6 BGP and Neighbor Discovery

    My understanding of IPv6 may not be accurate, so if there are any incorrect statements, please correct them.
    We have a requirement that prohibits FE80::/10 addresses from passing from end sites to the provider network.  FE80::/10 are the IPv6 link-local addresses.  Since link-local addresses are required Neighbor Discovery Protocol, this blocks those operations that are part of it. 
    The sites use BGP with the provider network, so can IPv6 BGP work without link-local addresses?  Is Neighbor Discovery necessary for reachability between BGP peers?

    (The below messgage is just to address the concern whether blocking LL breaks all ND, it does not tie into rest of BGP configuration) 
    Larry,
    Speaking of ND only... RFC (4861) only mandates that source IP is assigned address
    http://tools.ietf.org/html/rfc4861#section-4.3
    It does not mandate link-local, I have not read the updated RFC.
    I did a simple test with two devices with assigned IP addresses.
    Spoke2#ping vrf VRF 2001:db8::1 re 1Type escape sequence to abort.Sending 1, 100-byte ICMP Echos to 2001:DB8::1, timeout is 2 seconds:!Success rate is 100 percent (1/1), round-trip min/avg/max = 9/9/9 msSpoke2#*Nov 27 13:27:43.246: IPv6-Fwd: Destination lookup for 2001:DB8::1 : i/f=Ethernet0/0, nexthop=2001:DB8::1*Nov 27 13:27:43.246: IPv6-Fwd: SAS picked source 2001:DB8::FFFF for 2001:DB8::1 (Ethernet0/0)*Nov 27 13:27:43.246: ICMPv6: Sent echo request, Src=2001:DB8::FFFF, Dst=2001:DB8::1*Nov 27 13:27:43.246: IPV6: source 2001:DB8::FFFF (local)*Nov 27 13:27:43.246:       dest 2001:DB8::1 (Ethernet0/0)*Nov 27 13:27:43.246:       traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating*Nov 27 13:27:43.246: IPv6-Fwd: Created tmp mtu cache entry for 2001:DB8::FFFF 2001:DB8::1 1E000001*Nov 27 13:27:43.246: IPv6-Fwd: Encapsulation postponed, performing resolution*Nov 27 13:27:43.250: ICMPv6: Sent N-Solicit, Src=2001:DB8::FFFF, Dst=FF02::1:FF00:1*Nov 27 13:27:43.250: IPV6: source 2001:DB8::FFFF (local)*Nov 27 13:27:43.250:       dest FF02::1:FF00:1 (Ethernet0/0)*Nov 27 13:27:43.250:       traffic class 224, flow 0x0, len 72+0, prot 58, hops 255, originating*Nov 27 13:27:43.250: IPv6-Fwd: Sending on Ethernet0/0*Nov 27 13:27:43.255: IPv6-Fwd: Destination lookup for 2001:DB8::FFFF : Local, i/f=Ethernet0/0, nexthop=2001:DB8::FFFF*Nov 27 13:27:43.255: IPV6: source 2001:DB8::1 (Ethernet0/0)*Nov 27 13:27:43.255:       dest 2001:DB8::FFFF (Ethernet0/0)Spoke2#*Nov 27 13:27:43.255:       traffic class 224, flow 0x0, len 72+14, prot 58, hops 255, forward to ulp*Nov 27 13:27:43.255: ICMPv6: Received N-Advert, Src=2001:DB8::1, Dst=2001:DB8::FFFF*Nov 27 13:27:43.255: IPv6-Fwd: Sending on Ethernet0/0*Nov 27 13:27:43.255: IPv6-Fwd: Destination lookup for 2001:DB8::FFFF : Local, i/f=Ethernet0/0, nexthop=2001:DB8::FFFF*Nov 27 13:27:43.255: IPV6: source 2001:DB8::1 (Ethernet0/0)*Nov 27 13:27:43.255:       dest 2001:DB8::FFFF (Ethernet0/0)*Nov 27 13:27:43.255:       traffic class 0, flow 0x0, len 100+14, prot 58, hops 64, forward to ulp*Nov 27 13:27:43.255: ICMPv6: Received echo reply, Src=2001:DB8::1, Dst=2001:DB8::FFFF
    M.
    Message was edited by: Marcin Latosiewicz, edited for clarity.

  • How do I improve performance while doing pull, push and delete from Azure Storage Queue

           
    Hi,
    I am working on a distributed application with Azure Storage Queue for message queuing. queue will be used by multiple clients across the clock and thus it is expected that it would be heavily loaded most on the time in usage. business case is typical as in
    it pulls message from queue, process the message then deletes the message from queue. this module also sends back a notification to user indicating process is complete. functions/modules work fine as in they meet the logical requirement. pretty typical queue
    scenario.
    Now, coming to the problem statement. since it is envisaged that the queue would be heavily loaded most of the time, I am pushing towards to speed up processing of the overall message lifetime. the faster I can clear messages, the better overall experience
    it would be for everyone, system and users.
    To improve on performance I did multiple cycles for performance profiling and then improving on the identified "HOT" path/function.
    It all came down to a point where only the Azure Queue pull and delete are the only two most time consuming calls outside. I can further improve on pull, which i did by batch pulling 32 message at a time (which is the max message count i can pull from Azure
    queue at once at the time of writing this question.), this returned me a favor as in by reducing processing time to a big margin. all good till this as well.
    i am processing these messages in parallel so as to improve on overall performance.
    pseudo code:
    //AzureQueue Class is encapsulating calls to Azure Storage Queue.
    //assume nothing fancy inside, vanila calls to queue for pull/push/delete
    var batchMessages = AzureQueue.Pull(32); Parallel.ForEach(batchMessages, bMessage =>
    //DoSomething does some background processing;
    try{DoSomething(bMessage);}
    catch()
    //Log exception
    AzureQueue.Delete(bMessage);
    With this change now, profiling results show that up-to 90% of time is only taken by the Azure Message delete calls. As it is good to delete message as soon as processing is done, i remove it just after "DoSomething" is finished.
    what i need now is suggestions on how to further improve performance of this function when 90% of the time is being eaten up by the Azure Queue Delete call itself? is there a better faster way to perform delete/bulk delete etc?
    with the implementation mentioned here, i get speed of close to 25 messages/sec. Right now Azure queue delete calls are choking application performance. so is there any hope to push it further.
    Does it also makes difference in performance which queue delete call am making? as of now queue has overloaded method for deleting message, one which except message object and another which accepts message identifier and pop receipt. i am using the later
    one here with message identifier nad pop receipt to delete message from queue.
    Let me know if you need any additional information or any clarification in question.
    Inputs/suggestions are welcome.
    Many thanks.

    The first thing that came to mind was to use a parallel delete at the same time you run the work in DoSomething.  If DoSomething fails, add the message back into the queue.  This won't work for every application, and work that was in the queue
    near the head could be pushed back to the tail, so you'd have to think about how that may effect your workload.
    Or, make a threadpool queued delete after the work was successful.  Fire and forget.  However, if you're loading the processing at 25/sec, and 90% of time sits on the delete, you'd quickly accumulate delete calls for the threadpool until you'd
    never catch up.  At 70-80% duty cycle this may work, but the closer you get to always being busy could make this dangerous.
    I wonder if calling the delete REST API yourself may offer any improvements.  If you find the delete sets up a TCP connection each time, this may be all you need.  Try to keep the connection open, or see if the REST API can delete more at a time
    than the SDK API can.
    Or, if you have the funds, just have more VM instances doing the work in parallel, so the first machine handles 25/sec, the second at 25/sec also - and you just live with the slow delete.  If that's still not good enough, add more instances.
    Darin R.

  • COMMIT Performance and LUW concept in Function Calls

    Hi,
    I have a FM used in Web-Service comprising of around 8700 lines of code. It has, at several times, called different function modules.
    My Concern:
    At one point, a function module is used which creates an IBASE, which is further processed in the FM by updating its products. Earlier, BAPI_TRANSACTION_COMMIT was tried with WAIT= 'X' but the creation was not synchronous. Thus, code would not go further, as condition for ibase created failed. It means that "commit work and wait" inside the BAPI_TRANSACTION_COMMIT does not make the DB updation synchronous. Thus, a wait of 10 Seconds was put which seems to be working fine for last 6 months.
    1. What did not work with BAPI_TRANSACTION_COMMIT ?
    2. Does writing "commit work and wait" outside the FM BAPI_TRANSACTION_COMMIT different from writing it inside ?
    3. When we move to FM call in a program, we enter a new context. Does a new dialog step is created ?? If I fire a commit work in the called FM, will it also commit the DB changes in the calling program ?
    4. how much impact COMMIT WORK statement put on performance, especially when it is too frequently used, and when the data changed above is not accessed by the further code ?
    5. In what condition commit work/wait upto n seconds combination becomes necessary
    Regards,
    Chitwanjit Singh

    sometimes a perforance hit it worth the maintability factor.I disagree, strongly. The developer's Prime Directive is to make the user's experience a good one. Inflicting poorly performing code on the user in the name of maintinability is not on.
    Q: Why does the code have to be maintained so much?
    A: Because the users' keep complaining about how slow it runs....
    [SOAPBOX]
    Of course in the real world things get confused and it can be quite difficult to distinguish programmers' issues - encapsulation, flexibility, maintainability - from users' issues - correctness, completeness, performance.
    But the relative worth of these things is easy to assess. A highly-modular parameter driven architecture that delivers the wrong answer and takes an age to do it ain't worth jack. Even if it is so maintainable that it's easy to fix every bug in it.
    [SOAPBOX]
    "Whatever waits for us behind those doors, we have a better chance of survival if we stick together." Gladiator
    Cheers, APC

  • Query - Performance plzz help

    Hi All,
    I would like to tune the following query in a better manner
    SELECT hou.NAME organization_name
           ,haou.name parent_org_name
           ,msi.secondary_inventory_name sub_inventory_code
           ,msi.availability_type nettable_sub_inventory
           ,msib.segment1 item_name
           ,msib.description item_description
           ,mc.concatenated_segments category_name    
           ,msib.primary_uom_code item_uom_code
           ,XXTEST_TEST_ONHAND(msib.organization_id,msib.inventory_item_id,msi.secondary_inventory_name) AVAILABLE_ONHAND
           ,NVL((SELECT SUM(quantity_shipped - quantity_received)
                 FROM rcv_shipment_lines rmlv
                 WHERE rmlv.to_organization_id = msib.organization_id
                   AND rmlv.item_id = msib.inventory_item_id
                   AND rmlv.to_subinventory = msi.secondary_inventory_name
                   AND source_document_code IN ('REQ','INVENTORY')
                   AND rmlv.shipment_line_status_code in ('PARTIALLY RECEIVED','EXPECTED')),0) intransit_qunatity
           ,msib.organization_id
           ,msib.inventory_item_id 
           ,mic.category_set_id    
    FROM mtl_system_items_b msib
         ,hr_organization_units hou
         ,mtl_secondary_inventories msi
         ,mtl_item_categories mic
         ,mtl_categories_b_kfv mc 
         ,per_org_structure_versions posv
         ,per_org_structure_elements pose
         ,hr_all_organization_units haou
         ,per_organization_structures pos
    WHERE hou.organization_id = msi.organization_id
      AND msib.organization_id = hou.organization_id
      AND mic.inventory_item_id = msib.inventory_item_id
      AND mic.organization_id = msib.organization_id
      AND mc.category_id = mic.category_id
      AND mic.category_set_id = FND_PROFILE.VALUE('XXTEST_INV_INVENTORY_CAT_SET')
      AND pos.organization_structure_id = posv.organization_structure_id
      AND posv.org_structure_version_id = pose.org_structure_version_id
      AND haou.organization_id = pose.organization_id_parent
      AND pos.name = FND_PROFILE.VALUE('XXTEST_INV_ORG_HIERARCHY')
      AND pose.organization_id_child = msib.organization_id;  Purpose :
    Actually this is for creating form view , and the custom function is encapsulating a oracle apps API. We can also put the custom function in POST_QUERY of the form block. But I feel it is better to put in view itself. We are expecting that this query will fetch around 500,000 records.
    Expected record count
    mtl_system_items_b - less than 100,000 records
    ,hr_organization_units less than 1000 records
    ,mtl_secondary_inventories less than 1000 records
    ,mtl_item_categories - - less than 300,000 records
    ,mtl_categories_b_kfv - less than 100 records
    ,per_org_structure_versions less than 1000 records
    ,per_org_structure_elements hou less than 1000 records
    ,hr_all_organization_units less than 1000 records
    ,per_organization_structures less than 1000 records
    Vesrion of DB
    10.2.0.4.0

    Aside from what others have said, your WHERE clause isn't doing much filtering mostly joining so I would guess (only a guess) that indexes wouldn't be used.
    Also, you're doing two things in the SELECT that may hurt performance, a function call and another SELECT statement.
    Can you turn that inline SELECT into an outer join in the main query? What does that function call do? Can you embed the logic into your statement? Otherwise it's going to get called 500,000 times.

  • VPN tunnel between 2 RRAS servers, both performing NAT with 2 network connections

    I have a need to configure an IPSEC policy between 2 networks.  Both servers are located at separate offices, are virtual, are 2008 R2 standard,  and only perform the function of NAT between a public IP and the LAN.  They each have 1 network
    adapter with a public address and 1 adapter with an internal LAN address.  I would like to setup an IPSEC policy between these 2 RRAS so that both LAN's can communicate.
    My question's; would this be the best method to get this accomplished?  If not, what are best practices?  Does anyone have documentation for this type of setup?
    I can create a policy between 2 servers, each behind each RRAS vm, but I'd like to keep domain controllers, AD, etc. out of this and not exposed - just have RRAS handle it.

    What you need to do is look for a guide to site to site VPN which you can follow. There are plenty out there of varying degrees of clarity and accuracy.
      The situation briefly is that each site operates normally using its router as a NAT device to provide Internet access for the LAN. In addition, each router is configured to provide a router to router VPN link. Each router has a static route to forward
    traffic for the subnet of the other site through the VPN tunnel.
    The net result is that a client wanting Internet access uses NAT to give it an Internet connection. If instead the client wants to access the other site, the request is sent through the VPN tunnel. There is no confusion because Internet addresses must be
    public and the site addresses are private. This is all transparent to the client because it is all handled by the routers. The client simply sends the packet to the default gateway. 
      The private traffic between sites is encrypted and encapsulated while it is crossing the Internet. The Internet routers see only the public address on the wrapper. The other site sees only the private IP of the packet after it has been unencapsulated
    and decrypted. The two sites behave as if they were linked by an IP router, but the operation is slow because of the delay in getting the packets from site to site.  
    Sorry about the link. http://www.youtube.com/watch?v=m-sakEbVDQ4
    Bill

  • Private - encapsulation or inheritance (but not both)

    Suppose that your class has some internal computation or logic that it performs, and that you wish to encapsulate this in a method that can not be called by other classes.
    You provide public methods that filter, format, or somehow modify the input and/or output of this encapsulated method.
    class pseudoCodeClass {
    private coreLogic(Objects inputs) {
    Maybe some complicated math stuff;
    Or password stuff;
    Or pay out functionality for a slot machine;
    return(stuff);
    public getUserData(inputs) {
    format/check the inputs;
    coreLogic(inputs);
    format the output;
    Now, how do you leveradge the power of OO inheritance to extend the internal logic that you encapsulated? If you make the interal logic private, then it's encapsulated, but you lose the power of OO inheritance, or you can make it protected and lose the encapsulation. I thought an OO language was supposed to have encapsulation and inheritance, not encapsulation or inheritance. (And, yes I realize that there is some techincal sense in which private methods are still inherited, but I'm talking about the general OO concept of inheritence where it includes overriding or extending.)
    Suppose you want to:
    class pseudoCodeSubclass extends pseudoCodeClass {
    private coreLogic(inputs) {
    super.coreLogic(inputs);
    additional more specific code; // The whole point of OO inheritence
    You can't extend super.coreLogic through your access to super.getUserData because it does all sorts of filtering and formating that is not a part of the internal logic that you wish to extend/override. And, providing other more public accessor methods to the core logic just defeats the encapsulation.
    I have seen many discussions of this, but none with any answers to my satisfaction. One line of answers is that you don't want encapsulated stuff to be part of your object's contract. Some times people with this sort of answer even suggest coppying the code from the super class into the subclass. People with this sort of answer don't seem to even want the option to use inheritence because of the obligation that might go with it. But without the option of inheriting encapsulated logic, they are forced to either use cut and paste (in an OO language that seems wrong to me) or to abandon encapsulation all together. Being forced into those 2 extreems doesn't seem to me like it would simplify future support of your class, and future support seems to be the primary point of the contract line of response.
    The way some people argue about this, I amost want to say - Look! In C you can encapsulate everything you want, and never have to worry about inheritance. (But you still shouldn't have to cut and paste.)
    Another line of response that I have seen is that private methods should only be used in breaking up code that would have gone into a single method. In other words, the private methods aren't really 'units of program logic' they are just a mater of organizational convenience. So if you had:
    public oneBigMessyMethod() {
    100 lines of A;
    100 lines of B;
    100 lines of C;
    you could maintain it as:
    public oneBigMessyMethod() {
    a();
    b();
    c();
    private a() {
    100 lines of A;
    private b() {
    100 lines of B;
    private c() {
    100 lines of C;
    I agree private works well in this situation. Presumably since a(), b() and c() are divided up for convenience rather than because of distinct logical function, you wouldn't want to extend just a() with inheritance. But this also seems to dodge the question. Just because sometimes you might not want encapsulated functionality to be available for extention, does not mean that you would never want it. I think that I'd also have to disagree with the permise that encapsulation is only for hiding stuff that is just a convention of convenience. The main point of encapsulation is to hide information or functionality. If encapsulation is only used for the convenient breakdown of your primary functionality, then all of your primary functionality is public, package or protected. That does make it inheritable. But, now all of the primary functionality is a part of the contract for that class.
    Is there an answer to this issue that does not ignore the value of either encapsulation or inheritance?
    There is one way that I can see to do exactly what I think should be possible. That is to put only classes from the same hierarchy in a package. Then both package and protected effectively provide encapsulation with the ability to inherit (and you do still have the option to use private or final if there is a case where you want to disable inheritence).
    What I'd like to know is - What do people actually do? In the real world, do people:
    1) use private + cut and paste
    2) use package/protected + self discipline
    Where 2 is that you drop encapsulation within your package but then excercise self dicipline and just don't call/access stuff that you intend to be for that class only...
    Or is there some 3rd thing that I'm missing? I've tried to think how maybe you could design your objects in such a way that you'd never need to inherit/extend something that you would also want to encapsulate. But I just don't see how that's possbile.
    So, what do people do?
    Chris

    First of all, you have got to understand that I am not
    suggesting that Private and Final should be changed or
    removed from java. It looks to me like there should
    be an additional access option (and there was
    originaly).
    I understand that if a class inherits something, it
    could expand the access or put public accessor methods
    around it. Obviously with ultra sensitive code this
    would be a nightmare. So private and final are very
    important. But if the very possibility of another
    class expanding a given level of access is a reason
    for not even having that level of access, then why do
    we have package and protected?
    There are a great number of places in common coding where that access does restrict usage in a usable way.
    >
    If the only re-use of your code that you allow is
    through the public interface, what do you even need an
    OO language for? Just for the polymorphism and a
    different way to organize your code?
    Not sure what you mean by that but see below.
    But as I've said. I've seen this whole thing argued a
    number of times. But what I haven't seen is any
    explanation of what people who take the poslition that
    I'm taking actually do when they write code. Because
    I can sit here with a bunch of other people and say 'I
    wish Java had this or that'. And then of couse a
    bunch of people will resopond and say 'no that's dumb'
    or 'I don't see the point'. But at the end of the
    day, Java still is what it is. So, arguing about what
    it 'should be' is not going to effect how anyone
    codes.
    Sure it can. That is why java now has assert().
    So, what I started out wanting to know is how people
    actually code. Particularly people who wish that Java
    had a subclass only access modifier.
    I don't wish that.
    Perhapse I should also be asking about how things are
    done by people who see this level of access as
    unnececary. How they code is easy enough to
    understand. Making everything that is not intended to
    be accessed by any other class private is easy enough
    to do. But what would be interesting to know is how
    do you design your classes to leveradge inheritance if
    you do this. Maybe there is some way of desinging
    around ever having 'internal functionality' that you
    would want to extend and I'm just not getting it.
    There are three broad classifications of objects.
    1. Those that only use encapsulation
    2. Correct inheritence hierarchies
    3. Incorrect inheritence hierarchies
    The first of those, which I consider most classes to fall into, do not need this.
    The third area occurs when programmers use inheritence as a convenience mechanism to propogate behavior amoung different classes rather than using encapsulation as should be done. They don't understand the difference between "is-a" relationships (design) and coding convienence. I would estimate that at least 50% of existing object hierarchies fall into this area. Since in this case the entire design is wrong an extension is not needed.
    The second area is the only correct area where this might be needed. Since I personally believe that very few classes belong in hierarchies and this proposed extension would only be useful in a sub fraction of those. Since the correct usage is so small I don't think it would be useful addition to the language.

  • CAT4900M and NetApp - Performance issue

    Hi,
    I'm struggling with a performance issue between our two NetApp Fas3170-devices.
    The setup is quite simple: Each NetApp is connected via two TenGig interfaces to a CAT4900M. The 4900M's are also connected via two TenGig interfaces. Each pair of connections are bundled into an Layer2-etherchannel, configured as a dot.1q trunk. Mode is set to 'ON' on both the 4900 and the NetApp. According to NetApp documentation, this configuration is supported. Across each etherchannel, the vlans 219 and 220 are allowed. Two partitions are configured on the NetApp's, one being active in our primary datacenter and another in our secondary datacenter. Vlan219 and Vlan220 are configured for each the two partitions, using HSRP for gateway redundancy.
    None of the interfaces nor the etherchannels shows any signs of misconfiguration. All links are up and etherchannels working as expected, well almost. Nothing indicates packet loss, crc-errors, Input/Output queue-drops or anything the would impact performance. Jumboframe is not configured, although this has been discussed.
    The problem is, that we're unable to achieve satisfactory performance, when for instance, performing a volume copy between the two NetApp partitions. Even though we have a teoretical bandwidth of 20Gbps end-to-end, we never climb above 75-80 Mbytes of actual transfer-rate between the two NetApps. So performancewise, is almost looks as if we're "scaled" down to a 1Gig link. No QoS or other kind of ratelimiting has been implemented on the 4900's, so from a network point of view, the NetApps can go full-throttle. NetApp sw has been updated and configurations for both NetApp and 4900's have been revised by NetApp engineers and given a "clean bill of health".
    The configuration for the 4900->NetApp etherchannel/interfaces is as follows:
    interface TenGigabitEthernet1/5
    description *** Trunk NetAPP DC1 ***
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 219,220
    switchport mode trunk
    udld port aggressive
    channel-group 2 mode on
    spanning-tree bpdufilter enable
    interface TenGigabitEthernet1/6
    description *** Trunk NetAPP DC1 ***
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 219,220
    switchport mode trunk
    udld port aggressive
    channel-group 2 mode on
    spanning-tree bpdufilter enable
    interface Port-channel2
    description *** Trunk Etherchannel DC1 ***
    switchport
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 219,220
    switchport mode trunk
    spanning-tree bpdufilter enable
    spanning-tree link-type point-to-point
    Configuration for 4900->4900 interfaces/etherchannel is as follows:
    interface TenGigabitEthernet1/1
    description *** Site-to-Site trunk ***
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 10,219,220
    switchport mode trunk
    udld port aggressive
    channel-group 1 mode on
    interface TenGigabitEthernet1/2
    description *** Site-to-Site trunk ***
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 10,219,220
    switchport mode trunk
    udld port aggressive
    channel-group 1 mode on
    interface Port-channel1
    description *** Site-to-Site trunk ***
    switchport
    switchport trunk encapsulation dot1q
    switchport trunk allowed vlan 10,219,220
    switchport mode trunk
    spanning-tree link-type point-to-point
    Vlan10 used for mngt-purpose.
    Does anyone have similar experiences or suggestions as to why we're having theese performanceissues?
    Thanks
    /Ulrich
    Message was edited by: UHansen1976

    Hi,
    Thanks for your reply.
    I take it, that you mean baseline performance between the two NetApp's. Well, that's really out of my hands, as another department is responsible for the NetApp's. I'm not aware of any baseline performance, nor have I seen any benchmark tests or anything, that could give me hint.
    Just as you suggest, I've gone through the switch-setup systematically. Basically, starting with the physical layer and working my way up. So far, I've found nothing that would indicate a physical problem. The switchport/etherchannel setup has been verified by my peers and also verified by NetApp according to the configuration on the NetApps, as well as the various best-practice documentation availible. Futhermore, I haven't seen any signs of packets drops, crc-errors, massive re-transmissions or anything like not, neither on the switches nor the NetApps.
    Recently we had a status-meeting with our NetApp-partner and it looks to me like they're persuing the logical setup on the NetApps, as the're apparently a number of settings etc. that needs adjustment. Also, we're waiting for NetApp tech-support to comment on the traces, config-dump etc. we've send to them.
    /Ulrich

  • Design Patterns, OO Design, and J2ME performance

    Hello- I am a J2ME newbie. I am a design patterny/OO kind of guy using J2SE. I'm trying to create a facade for the business logic on a project I'm working on which will work on both J2ME and J2SE. I have come up with an acceptable design, but I am afraid that the bytecode may end up being way too large for J2ME. For example, I used the command pattern for some functionality, which results in many small Command classes, which is nice for extensibility and functional encapsulation, but creates extra bytecode. Another example is I like to throw specific business exceptions, however, those also require a separate class for each exception. Another example is I like to use TypeSafe enumerations, again, new, unnecessary classes.
    I am aware of some workarounds (create a generic business exception, just put info into the message, don't use the command pattern, use bytes for non-typesafe constants), but I find myself resisting due to my hardcore OO/best practices tendencies. I guess J2ME is a whole different programming paradigm. How are you guys dealing with these issues? The most important issues with J2ME programming are small footprint and high performance, right? I guess I could write more procedural-ish code, but I am interested in any compromises that the OO guys here have come up with. Also, what size is an acceptable library/sdk in J2ME?
    thanks,
    Abraham

    I'm not an OO guy, but I can definitely say that you'll will have to find some comprmises in your designs (the generic business exeption is a very good example).
    Since you are making business apps, you do get some leeway on two issues:
    * As opposed to games, where every cycle counts, for a business app maintainability and scalability are you usually more important than performance, so OO techniques will often be a better choice than a slightly faster implementation.
    * You probably have more control over the devices you will be targetting. The most common limitation for MIDlet size these days is 64KB, so a library that more than 20-30KB probably won't be any good on these phones. But if you know your apps will be run on higher end phones you can make it a lot bigger, since they can often have MIDlets that are up to several MB in size.
    shmoove

  • Stored Procedures VS Indexed Views - Performance?

    Hey folks,
    In the past, one of the factors I'd consider when choosing to use a Stored Procedure over a View was the fact that the Stored Procedure would get optimized by storing the query execution path (I'm a developer so I understand this at a higher level than a
    DBA would).  But I've recently become aware of the fact that you can now Index your Views.  This has now raised new questions for me as to when I'd get better performance out of the Indexed View versus the Stored Procedure?
    Take for example the following:
    SELECT colA, colB, sum(colC), sum(colD), colE
    FROM myTable
    WHERE colFDate < '9/30/2011'
    GROUP BY colA, colB, colE
    The date will be different every time it's run, so if this were a view, I wouldn't include the WHERE in the view and instead have that as part of my select against the View.  If it were a stored procedure, the date would be a parameter.
    If this were an Indexed View, should I expect to get better performance out of it then a stored procedure that's had an opportunity to cache the execution path?  Or would the proc be faster?  Or would
    the difference be negligible?  I know we could say "just try both out" but there are too many factors that could falsely bias the results, so I'd like to hear more of the theory behind it and what the expected outcomes are instead.
    Thanks!

    Very cool.  Thanks Dan.  One question though.  You said "
    If you are using SQL Server Enterprise Edition, you do not need to select from the view directly. "  I'm not sure what you mean here.  Where would I selecting from if not from the view?
     Thanks again!
    What I mean is that if your query is semantically similar to the same query encapsulated in the view, the optimizer may be able to use the view index even though you specify the table in the query.  For example, each of the queries below will scan
    the view index in Enterprise (or Developer) edition instead of the underlying table:
    CREATE VIEW dbo.vw_myTable
    WITH SCHEMABINDING
    AS
    SELECT colFDate, colA, colB, SUM(colC) AS colC, SUM(colD) AS colD, colE, COUNT_BIG(*) AS countbig
    FROM dbo.myTable
    GROUP BY colA, colB, colE, colFDate
    GO
    CREATE UNIQUE CLUSTERED INDEX cdx_vw_myTable ON
    dbo.vw_myTable(colA, colB, colE, colFDate);
    GO
    SELECT colA, colB, SUM(colC), SUM(colD), colE
    FROM dbo.myTable
    WHERE colFDate < '20110903'
    GROUP BY colA, colB, colE;
    GO
    SELECT colA, colB, SUM(colC), SUM(colD), colE
    FROM dbo.vw_myTable
    WHERE colFDate < '20110903'
    GROUP BY colA, colB, colE;
    GO
    SELECT colA, colB, SUM(colC), SUM(colD), colE
    FROM dbo.vw_myTable WITH (NOEXPAND)
    WHERE colFDate < '20110903'
    GROUP BY colA, colB, colE;
    GO
    Dan Guzman, SQL Server MVP, http://www.dbdelta.com

  • Cisco 871W Wireless Performance

    I have a newly configured 871W router that is giving me terrible performance via wifi.  Via ethernet I am getting normal 100Mbit speeds.  The router is configured for 54Mbit/sec, my computer thinks it is connected at 54Mbit/sec (see attached photo). 
    iperf client & server output:
    client:~ jsimon$ iperf -c 10.0.20.100
    Client connecting to 10.0.20.100, TCP port 5001
    TCP window size:  129 KByte (default)
    [  4] local 10.0.30.207 port 55307 connected with 10.0.20.100 port 5001
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0-10.0 sec  20.5 MBytes  17.2 Mbits/sec
    jsimon@server:~$ iperf --server
    Server listening on TCP port 5001
    TCP window size: 85.3 KByte (default)
    [  4] local 10.0.20.100 port 5001 connected with 10.0.30.207 port 55307
    [ ID] Interval       Transfer     Bandwidth
    [  4]  0.0-10.3 sec  20.5 MBytes  16.8 Mbits/sec
    See my running config:
    wifi871a#show run
    Building configuration...
    Current configuration : 5145 bytes
    version 12.4
    service nagle
    no service pad
    service tcp-keepalives-in
    service tcp-keepalives-out
    service timestamps debug datetime msec localtime show-timezone
    service timestamps log datetime msec localtime show-timezone
    service password-encryption
    hostname wifi871a
    boot-start-marker
    boot-end-marker
    logging message-counter syslog
    logging buffered 51200 warnings
    enable secret 5 $1$NJNA$p4/81Kkji2yMuC8UE21td1
    no aaa new-model
    crypto pki trustpoint TP-self-signed-2242084313
    enrollment selfsigned
    subject-name cn=IOS-Self-Signed-Certificate-2242084313
    revocation-check none
    rsakeypair TP-self-signed-2242084313
    crypto pki trustpoint TP-self-signed-2631278149
    enrollment selfsigned
    subject-name cn=IOS-Self-Signed-Certificate-2631278149
    revocation-check none
    rsakeypair TP-self-signed-2631278149
    crypto pki certificate chain TP-self-signed-2631278149
    dot11 syslog
    dot11 ssid 10fir
    vlan 30
    authentication open
    authentication key-management wpa
    guest-mode
    wpa-psk ascii 7 xxxxxxxxxxxxxx
    ip source-route
    ip dhcp excluded-address 10.10.10.1
    ip dhcp excluded-address 10.0.30.1 10.0.30.199
    ip dhcp pool sdm-pool
       import all
       network 10.10.10.0 255.255.255.248
       default-router 10.10.10.1
       lease 0 2
    ip dhcp pool Users
       import all
       network 10.0.30.0 255.255.255.0
       default-router 10.0.30.1
       domain-name 10fir.com
       dns-server 4.2.2.2
       lease 0 3
    ip cef
    ip domain name 10fir.com
    ip name-server 8.8.8.8
    ip name-server 4.2.2.2
    no ipv6 cef
    multilink bundle-name authenticated
    archive
    log config
      hidekeys
    bridge irb
    interface FastEthernet0
    switchport access vlan 30
    spanning-tree portfast
    interface FastEthernet1
    switchport access vlan 30
    interface FastEthernet2
    switchport access vlan 30
    spanning-tree portfast
    Interface FastEthernet3
    switchport access vlan 30
    spanning-tree portfast
    interface FastEthernet4
    ip address 10.0.20.20 255.255.255.0
    duplex auto
    speed auto
    interface Dot11Radio0
    no ip address
    no dot11 extension aironet
    encryption mode ciphers aes-ccm
    encryption vlan 30 mode ciphers aes-ccm
    broadcast-key change 3600
    ssid SSID
    speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
    station-role root access-point
    no cdp enable
    interface Dot11Radio0.30
    encapsulation dot1Q 30
    no cdp enable
    bridge-group 30
    bridge-group 30 subscriber-loop-control
    bridge-group 30 spanning-disabled
    bridge-group 30 block-unknown-source
    no bridge-group 30 source-learning
    no bridge-group 30 unicast-flooding
    interface Vlan1
    description $ETH-SW-LAUNCH$$INTF-INFO-HWIC 4ESW$
    no ip address
    ip tcp adjust-mss 1452
    shutdown
    interface Vlan30
    description Users Network
    no ip address
    no ip redirects
    no ip unreachables
    no ip proxy-arp
    ip nat inside
    ip virtual-reassembly
    bridge-group 30
    bridge-group 30 spanning-disabled
    interface BVI30
    description Wifi Bridge
    ip address 10.0.30.1 255.255.255.0
    ip virtual-reassembly
    router eigrp 10
    network 10.0.0.0
    no auto-summary
    ip default-gateway 10.0.20.1
    ip forward-protocol nd
    ip route 0.0.0.0 0.0.0.0 10.0.20.1
    no ip http server
    ip http authentication local
    no ip http secure-server
    ip http timeout-policy idle 5 life 86400 requests 10000
    ip dns server
    control-plane
    bridge 30 route ip
    line con 0
    privilege level 15
    login local
    no modem enable
    line aux 0
    line vty 0 4
    privilege level 15
    login local
    transport input telnet ssh
    scheduler max-task-time 5000
    end

    Also if I setup another router on the same frequencies I get perfect performance.
    Another 871W or something else.
    If it's another router model, I think you need to look at this.  I have a strange feeling you're hitting the limit of the hardware.  Not the wireless capabilities, but the router itself.

  • 1310 Wireless Bridge Poor performance

    Hello I am getting really bad performance on a bridge i am trying to get up,
    Laptop - Switch - AIR-BR1310G-E-K9-R attena-ed  ----------------  
    attena-ed AIR-BR1310G-E-K9-R switch laptop.
    When doing an FTP Transfer i get a poor 1MB, these are currently in a lab enviroment, this is a far cry from what i am hoping for,
    can anyone see an issue
    show run
    Building configuration...
    Current configuration : 1892 bytes
    version 12.3
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    hostname site1
    enable secret 5 $1$XQ0Z$Fzjg/dJ/I1sY5bLjss0l4/
    clock summer-time BST recurring last Sun Mar 1:00 last Sun Oct 2:00
    ip subnet-zero
    ip domain name xxxxxx
    ip ssh time-out 60
    ip ssh authentication-retries 2
    ip ssh version 2
    aaa new-model
    aaa authentication login xxxxx
    aaa session-id common
    dot11 ssid XXXXXX
       max-associations 1
       authentication open
       authentication key-management wpa
       infrastructure-ssid
       wpa-psk ascii xxxxxxxxxxxxxxxxxxx
    username Cisco password 7 047802150C2E
    username xxxxxx
    bridge irb
    interface Dot11Radio0
    no ip address
    no ip route-cache
    encryption mode ciphers tkip
    encryption vlan 1 mode ciphers aes-ccm tkip
    ssid xxxxx
    speed basic-1.0 basic-2.0 basic-5.5 basic-6.0 basic-9.0 basic-11.0 basic-12.0 basic-18.0 basic-24.0 basic-36.0 basic-48.0 basic-54.0
    no power client local
    power client 50
    power local cck 50
    power local ofdm 30
    channel 2452
    station-role root bridge
    cca 75
    concatenation
    distance 1
    antenna receive right
    antenna transmit right
    antenna gain 13
    world-mode dot11d country GB outdoor
    infrastructure-client
    bridge-group 1
    bridge-group 1 spanning-disabled
    interface FastEthernet0
    no ip address
    no ip route-cache
    full-duplex
    bridge-group 1
    bridge-group 1 spanning-disabled
    hold-queue 80 in
    interface BVI1
    ip address 192.168.1.1 255.255.255.0
    no ip route-cache
    ip http server
    no ip http secure-server
    ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
    control-plane
    bridge 1 route ip
    line con 0
    line vty 0 4
    end
    show run
    Building configuration...
    Current configuration : 1815 bytes
    version 12.3
    no service pad
    service timestamps debug datetime msec
    service timestamps log datetime msec
    service password-encryption
    hostname xxxxx
    enable secret 5 $1$SN2n$CLPRLRzAjlUD47jR1ugca.
    clock summer-time BST recurring last Sun Mar 1:00 last Sun Oct 2:00
    ip subnet-zero
    ip domain name xxxxxx
    ip name-server 1.1.1.1
    ip ssh time-out 60
    ip ssh authentication-retries 2
    ip ssh version 2
    aaa new-model
    aaa authentication login xxxxx
    aaa session-id common
    dot11 ssid xxxxx
       max-associations 1
       authentication open
       authentication key-management wpa
       infrastructure-ssid
       wpa-psk ascii xxxxx
    username Cisco password 7 062506324F41
    username xxxxx
    bridge irb
    interface Dot11Radio0
    no ip address
    no ip route-cache
    encryption mode ciphers tkip
    encryption vlan 1 mode ciphers aes-ccm tkip
    ssid xxxxxx
    parent 1 003a.9a21.a8b0
    speed basic-1.0 basic-2.0 basic-5.5 basic-6.0 basic-9.0 basic-11.0 basic-12.0 basic-18.0 basic-24.0 basic-36.0 basic-48.0 basic-54.0
    station-role non-root bridge
    antenna receive left
    antenna transmit right
    antenna gain 13
    world-mode dot11d country GB outdoor
    infrastructure-client
    bridge-group 1
    bridge-group 1 spanning-disabled
    interface FastEthernet0
    no ip address
    no ip route-cache
    full-duplex
    bridge-group 1
    bridge-group 1 spanning-disabled
    hold-queue 80 in
    interface BVI1
    ip address 192.168.1.2 255.255.255.0
    no ip route-cache
    ip http server
    no ip http secure-server
    ip http help-path http://www.cisco.com/warp/public/779/smbiz/prodconfig/help/eag
    control-plane
    bridge 1 route ip
    line con 0
    line vty 0 4
    end
    Regards Neil

    Hi Scott,
    Yes they are very close together, about a meter to be exact,
    Sorry im by no means clued up on wireless, so im guessing your after these
    e#show dot11 associations all-client
    Address           : 003a.9a21.b4c0     Name             : xxxxxx
    IP Address        : 192.168.1.2        Interface        : Dot11Radio 0
    Device            : 11g-bridge         Software Version : 12.3
    CCX Version       : NONE
    State             : Assoc              Parent           : self
    SSID              : xxxxxxxx        VLAN             : 0
    Hops to Infra     : 1                  Association Id   : 4
    Clients Associated: 1                  Repeaters associated: 0
    Tunnel Address    : 0.0.0.0
    Key Mgmt type     : WPA PSK            Encryption       : TKIP
    Current Rate      : 54.0               Capability       : WMM ShortHdr ShortSlot
    Supported Rates   : 1.0 2.0 5.5 6.0 9.0 11.0 12.0 18.0 24.0 36.0 48.0 54.0
    Voice Rates       : disabled
    Signal Strength   : -31  dBm           Connected for    : 135 seconds
    Signal to Noise   : 67  dBm            Activity Timeout : 30 seconds
    Power-save        : Off                Last Activity    : 0 seconds ago
    Apsd DE AC(s)     : NONE
    Packets Input     : 101726             Packets Output   : 198208
    Bytes Input       : 10283192           Bytes Output     : 257691877
    Duplicates Rcvd   : 0                  Data Retries     : 10049
    Decrypt Failed    : 0                  RTS Retries      : 0
    MIC Failed        : 0                  MIC Missing      : 0
    Packets Redirected: 0                  Redirect Filtered: 0
    Session timeout   : 0 seconds
    Reauthenticate in : never
    the above is after issuing the power statements
    interface Dot11Radio0
    no ip address
    no ip route-cache
    encryption mode ciphers tkip
    encryption vlan 1 mode ciphers aes-ccm tkip
    ssid xxxxxx
    speed basic-1.0 basic-2.0 basic-5.5 basic-6.0 basic-9.0 basic-11.0 basic-12.0 basic-18.0 basic-24.0 basic-36.0 basic-48.0 basic-54.0
    no power client local
    power client 1
    power local cck 1
    power local ofdm 1
    station-role root bridge
    cca 75
    concatenation
    distance 1
    antenna receive right
    antenna transmit right
    antenna gain 13
    world-mode dot11d country GB outdoor
    infrastructure-client
    bridge-group 1
    bridge-group 1 spanning-disabled
    interface Dot11Radio0
    no ip address
    no ip route-cache
    encryption mode ciphers tkip
    encryption vlan 1 mode ciphers aes-ccm tkip
    ssid xxxx
    parent 1 003a.9a21.a8b0
    speed basic-1.0 basic-2.0 basic-5.5 basic-6.0 basic-9.0 basic-11.0 basic-12.0 basic-18.0 basic-24.0 basic-36.0 basic-48.0 basic-54.0
    no power client local
    power client 1
    power local cck 1
    power local ofdm 1
    station-role non-root bridge
    antenna receive right
    antenna transmit right
    antenna gain 13
    world-mode dot11d country GB outdoor
    infrastructure-client
    bridge-group 1
    bridge-group 1 spanning-disabled
    end
    or
    show int dot 0
    Dot11Radio0 is up, line protocol is up
      Hardware is 802.11G Radio, address is 003a.9a21.a8b0 (bia 003a.9a21.a8b0)
      MTU 1500 bytes, BW 54000 Kbit, DLY 1000 usec,
         reliability 255/255, txload 21/255, rxload 1/255
      Encapsulation ARPA, loopback not set
      ARP type: ARPA, ARP Timeout 04:00:00
      Last input 00:07:23, output 00:00:00, output hang never
      Last clearing of "show interface" counters never
      Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 36
      Queueing strategy: fifo
      Output queue: 0/30 (size/max)
      5 minute input rate 105000 bits/sec, 224 packets/sec
      5 minute output rate 4630000 bits/sec, 440 packets/sec
         231658 packets input, 14164388 bytes, 0 no buffer
         Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
         0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
         0 input packets with dribble condition detected
         448016 packets output, 581607544 bytes, 0 underruns
         16 output errors, 0 collisions, 4 interface resets
         0 babbles, 0 late collision, 0 deferred
         0 lost carrier, 0 no carrier
         0 output buffer failures, 0 output buffers swapped out
    I can serperate them by atlease 10 meters down the hallway... , What is the likely hood of actually getting 54.0 when they are deployed, Distance no more that 1Km) how do these stats look?
    Neil

  • JSTL Query Performance

    I have a simple JSP page that performs a SELECT query and displays the returned results. There are only ten records being returned, yet it takes about five seconds to finish loading every time (even on reloads). The actual data is very little (literally, a few sentences), so I don't know what's causing this slow performance. Any help would be appreciated.
    The code:
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
    <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt" %>
    <%@ include file="include/header.jspf" %>
    <sql:setDataSource var="datasource"
    driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"
    url="jdbc:microsoft:sqlserver://localhost;DatabaseName=testDB"
    user="sa" password="" />
    <sql:query var="wines" dataSource="${datasource}">
         SELECT categories.catcode, brand, intro, catname
         FROM products, categories
         WHERE products.catcode =  categories.catcode
         AND categories.catcode = 1
    </sql:query>
    <c:forEach items="${wines.rows}" var="row">
            <p><c:out value="${row.catname}" /></p>
         <p><c:out value="${row.brand}" /></p>
            <p><c:out value="${row.intro}" /></p>
    </c:forEach>
    <%@ include file="include/footer.jspf" %>

    Not at all.
    You use the alternative setDataSource argumernt, specifying a datasource, or a JNDI name for the datasource, rather than the connection info you have right now.
    Yes, you have to configure a JNDI datasource on your server (not completely trivial) but once that is done, you're away laughing.
    <sql:dataSource="myDataSource"/>
    Examples of tomcat setup and JSTL here:
    http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
    With regards to using the JSTL sql tags, my understanding is that it is not recommended. JSPs should not include database code - that should be encapsulated in a DataAccessObject (dao). However if you DO use it (for prototyping, or small basic apps) then you should use the JNDI approach rather than specifying connection details.

  • Encapsulation dot1q is not working?, 2600 Cisco router

         I am trying to config a 2620 Cisco router to perform subintreface (F0/0.1) for Vlan Trunk Protocol, however when I try to configure the encapsulation dot1q, I continue to receive error massage with ^ symbol below the 'c' See below, the platform version is a 12.3(26) which should be acceptable to perform an (encapsulation dot1q). The Ethernet is a fast-Ethernet 10/100 port. I also try the ISL, I receive the same massage.
    Can anyone suggest what could be the problem!! 
    Thank you all!!!!!
    Router#config t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)#int f0/0
    Router(config-if)#no ip address
    Router(config-if)#no shutdown
    Router(config-if)#int f0/0.1
    Router(config-subif)#encapsulation dot1q 1                     
    ^ % Invalid input detected at '^' marker. Router(config-subif)#
    ==================================================================================================== Router#show version
    Cisco Internetwork Operating System Software IOS (tm) C2600 Software (C2600-I-M), Version 12.3(26), RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2008 by cisco Systems, Inc. Compiled Mon 17-Mar-08 15:23 by dchih ROM: System Bootstrap, Version 12.1(3r)T2, RELEASE SOFTWARE (fc1) Router uptime is 5 minutes System returned to ROM by power-on System image file is "flash:c2600-i-mz.123-26.bin" cisco 2620 (MPC860) processor (revision 0x600) with 28672K/4096K bytes of memory . Processor board ID JAD05440GAN (1508240486) M860 processor: part number 0, mask 49 Bridging software. X.25 software, Version 3.0.0. 1 FastEthernet/IEEE 802.3 interface(s) 1 Serial network interface(s) 32K bytes of non-volatile configuration memory. 8192K bytes of processor board System flash (Read/Write)
    Configuration register is 0x2102
    Router#
    ==================================================================================================
    Router#sh flash
    System flash directory:
    File  Length  Name/status  
    1  7754580  c2600-i-mz.123-26.bin [7754644 bytes used, 633960 available, 8388604 total]
    8192K bytes of processor board System flash (Read/Write)
    Router#

    jesse rodriguez wrote:I am connected through the console, Here are the output.Router#config t Enter configuration commands, one per line.  End with CNTL/Z. Router(config)# Router(config)# Router(config)#int f0/0 Router(config-if)#no ip address Router(config-if)#no shutdown Router(config-if)# *Mar  1 00:01:36.891: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state t o up Router(config-if)# Router(config-if)#int f0/0.1Router(config-subif)#enc ? % Unrecognized commandRouter(config-subif)#en? % Unrecognized command Router(config-subif)#en ? % Unrecognized command Router(config-subif)#enJesse
    It's possible your feature set it not good enough to run trunking.
    Trunking apparently requires a minimum of the IP PLUS feature set according to this document
    http://www.cisco.com/en/US/tech/tk389/tk815/technologies_configuration_example09186a00800949fd.shtml
    table 2 shows a minimum IOS of 12.0(1)T and IPPLUS/IPPLUS on the 2620 - so your IOS revision is OK, but maybe your feature set is not.
    You can figure which feature set you have by going here
    http://tools.cisco.com/ITDIT/CFN/Dispatch?act=rlsSelect&task=search&searchby=image
    and entering your image name (assuming it's not been stuffed with) which you can find by doing "show flash" or "dir"
    If you don;t have the right feature set, then you're out of luck unless you can upgrade/change the IOS image the router is booting with.
    Cheers.

Maybe you are looking for

  • I don't need the full package. Is there an easy way to change from the full to photographer's package?

    I'm trying to save money and realize that I don't need the full package. I wanted to just change over to photographer's pack with just Lightroom and Photoshop but I seem to be missing the way to do that through my account. Is there an easier way?

  • Adobe forms+BADI

    Hi, if we selected  ' Fixed term' from contract type drop down , make Contract end date mandatory. Ex: if Contract type = ' fixed term'. Contract end date sholud be mandatory. for  this I have written code in BADI Check method. For event triggering w

  • Call Specs for Java Classes

    I have loaded some interdependent java classes in Oracle successfully, Not sure about how to write call specs for these as one method of class A needs an object of class B as input parameter. TIA PM

  • Compaq Presario Bios Password Error

    Help!!!!  I need to reset my admin password for my bios.  I have the error message: System Disabled [ 51194371 ] Thanks, This question was solved. View Solution.

  • Older photoshop elements programs

    Can custom print sizes be made, like on the older photoshop elements programs? I have owned Adobe Photoshop Elements 2.0 and 6, I loved working with the both of the programs! Any information would help a lot? Thank You! grantes