Performance of XI Interfaces

Hi experts,
I am doing performance testing for this synchronous interface
SOAP -> XI -> RFC -> XI -> SOAP
Sometimes I encounter this problem when a request takes more than 10sec to get a response.
When I go into SXMB_MONI and look at the performance header and I noticed that the HTTP_SEND alone takes nearly 10sec. :
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--  Call Adapter
  -->
- <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
- <SAP:RunTimeItem>
  <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.424</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041742.424</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.424</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041742.439</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.721</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_RECEIVER_DETERMINATION</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041742.721</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.721</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_INTERFACE_DETERMINATION</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041742.721</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.721</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_RECEIVER_MESSAGE_SPLIT</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041742.736</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_MAPPING_REQUEST</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041742.736</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_MAPPING_REQUEST</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041746.658</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_OUTBOUND_BINDING</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041746.658</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_OUTBOUND_BINDING</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041746.658</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_CALL_ADAPTER</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041746.674</SAP:Timestamp>
  </SAP:RunTimeItem>
<b>- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">HTTP_SEND</SAP:Name>
  <SAP:Timestamp type="begin" host="ootspdbs02">20070413041746.674</SAP:Timestamp>
  </SAP:RunTimeItem>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">HTTP_SEND</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041756.721</SAP:Timestamp>
  </SAP:RunTimeItem></b>
- <SAP:RunTimeItem>
  <SAP:Name type="PLSRV">PLSRV_CALL_ADAPTER</SAP:Name>
  <SAP:Timestamp type="end" host="ootspdbs02">20070413041756.721</SAP:Timestamp>
  </SAP:RunTimeItem>
  </SAP:PerformanceHeader>
My questions are:
1. What is this HTTP_SEND doing?
2. How can I improve the performance in this case?
Please help.
Thank you.
Ron

> HI,
> See the below links
> Soap over HTTP:
> http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc4783
> 83526
> Regards
> Chilla
Thanks chilla, I think I understand what a SOAP request over HTTP means.
But how is this used in our context?

Similar Messages

  • Advice on constructing a test engine and formatting a spreadsheet test file to perform command line interface testing on a product through telnet or serial interface

    Advice on constructing a test engine and formatting a spreadsheet test file to perform command line interface testing on a range of products through telnet or serial interface and output pass/fail results.

    If I understand correctly, you want to do the following:
    1. Create one or more tab-delimited files that specify a series of query strings (that LabVIEW will send to your products) and expected reply strings (that LabVIEW will look for in response to each query)
    2. Run your LabVIEW program (the test engine) and have it execute one or more test scripts from file using either TCP/IP or serial communication to your units under test
    3. Track how many of the queries are met with the expected response, and output an indication of whether each step passed or failed
    If this is close to correct, then I've attached a sample test file and LabVIEW VI as an example; I chose the TCP/telnet method because it allowed me to use the ni.com Web site to simulate my tes
    t hardware. If you happen to own the LabVIEW Internet Toolkit, there's a VI called "Telnet Play Script" in the Telnet palette that does something fairly similar using TCP. The same general model would also work for Serial communications.
    Hope it helps,
    John Lum
    Attachments:
    test_engine.zip ‏24 KB

  • Advice on constructi​ng a test engine and formatting a spreadshee​t test file to perform command line interface testing on a product through telnet or serial interface

    Advice on constructing a test engine and formatting a spreadsheet test file to perform command line interface testing on a range of products through telnet or serial interface and output pass/fail results.

    Hello j. smith,
    TestStand gives you the ability to create "sequence files" which are lists of tests to be run sequentially or in parallel. These tests can be written in any language: LabVIEW VIs, C/C++ DLLs, EXEs, ActiveX objects, .NET Assemblies, etc.
    You can run your TestStand sequence files from a command-line prompt using the following syntax:
    \bin\SeqEdit.exe" /quit -run
    This will launch the TestStand Sequence Editor (and optionally prompt you for TestStand login information if you have this configured), run your sequence file, then exit.
    If you're using the TestStand process model, it can output your results to a report file or database if you configure this. To use a TestStand process mo
    del to execute your sequence file, use the following syntax:
    \bin\SeqEdit.exe" /quit -runEntryPoint
    Here's an example:
    C:\>"C:\Program Files\National Instruments\TestStand 3.0\bin\SeqEdit.exe" /quit -runEntryPoint "Single Pass" "C:\Program Files\National Instruments\TestStand 3.0\Examples\Demo\C\computer.seq"
    Note that multiple sequences and sequence files can be specified on the command line.
    TestStand supports remote sequence execution using DCOM (Distributed COM), which is an east way to remotely execute tests. But as for running tests or commands through a telnet or serial interface, you would have need to check Windows documentation on how to execute command-line remotely like this.
    David Mc.
    NI Applications Engineer

  • Customizing performance threshold for interface utilization in LMS 4.0

    Am running LMS 4.0, i want to customize performance threshold for interface utilization from the default 40% to x%, please help.

    Based on your other post, I think you're talking about Device Fault management.  You can go to Monitor > Fault Settings > Setup > Threshold Settings, and select the DFM > System Defined Groups > Interface and the interface type you want, then edit the thresholds for this group.  Change the default utilization threshold from 40% to your desired value.  Save your changes, then go to Monitor > Fault Settings > Setup > Apple Changes to apply them.

  • Get a better performance with audio interface?

    Hi all.
    I got a silly question. I run Logic 7 on a Powerbook G4 12" with 1.33 Ghz and (only) 768 Mb RAM and a (hard to built in) 160 Gb Harddrive.
    After having often the "Disk is too slow..." message I was thinking about buying a external audio interface (presonus firebox).
    My simple question is: does an external audio interface give Logic (or CoreAudio) more free DSP-Power? So that maybe I got a better performance? Or do I need to get something like a TC Powercore Firewire?
    An answer would be great ... otherwise I have to sell my nice and small 12incher and buy an Intelbook ...
    Thanks. Frank.
    Powerbook G4 12" 1.33 Ghz Mac OS X (10.4.8)

    A new audio interface won't help.
    You should start by getting an external 7200 RPM Firewire drive to put your audio on. That right there will help, especially with higher track counts.
    Secondly, get more RAM. 768 of RAM is borderline for Logic. I always recommend at least 1 gig. Go ahead and max out that Powerbook to 2 gig of RAM, if you can.
    All that to say, an Intel mac would be a huge improvement over the Powerbook. And if you do go that route, still get an external FW drive for audio, and as much RAM as you can afford.

  • Performance of ITS interface to SRM

    We have a Windows OS server with two instances of WAS: one for SRM and the other for XI. SRM web interface via ITS works fine when XI Java stack is down. Once the XI Java stack is started, the SRM web interface suffers
    significant performance deterioration. We can still access SRM via SAP client GUI but the SRM web interface experiences major delays. It appears that when XI Java stack is started, it hogs the resources commonly used by ITS (interfacing to SRM) and the Java stack.

    Hello Amjad.
    What are the hardware specifications for the server?
    Best regards,
    Jacob

  • Recommend Performance monitor for interface

    Hi,
    I am configuring my network monitoring application to monitor my Cisco Routers and I am looking for recommended (best practice) thresh hold values for following the interface parameters (Ethernet interface):
    Bandwidth Utilization (%)
    Error rate (%)
    Package discarded (%)
    Any help, documents or advice  would be appreciated
    Regards,
    Screech

    Here is my 2 cents
    Don't think there is a one size fits all
    Trunks and other connection between network devices
    Bandwidth  Utilization 60% on full duplex 40% on half
    Error rate  0
    Package discarded 0
    These interface should be absolutely clean, and you beter check Transmit load and Receive Load rather then Utilization
    Userports
    Bandwidth  Utilization 60%  on full duplex 40% on half
    Error rate  5
    Package discarded 5
    Server ports
    Bandwidth  Utilization 60%  on full duplex 40% on half
    Error rate  1
    Package discarded 1
    I would say it is pointless to poll and monitor all ports for bandwith utilisation all the time.
    Using rmon or something else to set (a couple of) thresholds and monitor that  is a much better idea
    Not sure about a tool that could used for that however.
    Cheers
    Michel

  • ODI PErformance on Specific Interface

    Hi
    I have migrated an Interface from Dev to QA, Which is worked fine initially until before i killed that particular interface session. After that interface has been taking too much time to load data.
    I have executed the same interface in DEv by changing repository connections pointing to QA. It ran fast, time difference is about 30 mins. And this is happenning to only one interace. Rest of the interfaces in QA are running fine.
    I looked at the pending sessions, for that particular interface and could n't find any in the work repository.
    Any clues to troubleshoot this issue..

    Daniel,
    I happened to have this code, which I posted in the past. simplified
    You could ignore the creation of package and you could include the functionality of procedure A into procedure B in the following example,-- create a SQL type
    SQL> create or replace type numTyp as table of number
      2  /
    Type created.
    SQL> create or replace package test_pkg as
      2    procedure B;
      3  end;
      4  /
    Package created.
    SQL> create or replace package body test_pkg as
      2 
      2       numArray numTyp := numTyp(); -- initialize
      3 
      3       procedure A Is -- Fills the array
      4       Begin
      5           numArray.extend(2);
      6           numArray(1) := 10;
      7           numArray(2) := 20;
      8       End;
      9   
    10       procedure B Is
    11       Begin
    12          A; -- call to procedure A
    13          For rec in (select empno from my_emp where deptno IN
    14                       (Select a.column_value  val
    15                          From THE ( select cast(numArray as numTyp) from dual ) a))
    16          loop
    17             dbms_output.put_line(rec.empno);
    18          end loop;
    19       end;
    20  end;
    21  /
    Package body created.
    SQL> exec test_pkg.B;
    7782
    7839
    7934
    7369
    7876
    7902
    7788
    7566
    PL/SQL procedure successfully completed.Not a great example, but it shows how to use SQL type nested tables to use in SQL join operations. Hope it helps.
    Thx,
    Sri

  • Dynamic Receiver Determination [W/O using BPM] Sync interface

    I have been exploring options w.r.t. performance sensitive service interface.
    This has following issues :
    1. Gets a org code looking up instance and route the msg. accordingly to an RFC and get response back.
    2. Prominent answer would be Enhanced receiver determination step but that doesnt work in sync case.
    3. Classic Receiver Determination needs the condition to be evaluated in source msg. which is not going to happen.
    4. Use BPM i designed one but performance its not all acceptable it has a round trip of 10Sec.
    are there any ways to overcome this ?

    Hi Bujji,
    can you explain the point 1.
    <i>1. Gets a org code looking up instance and route the msg. accordingly to an RFC and get response back.</i>
    Thanks and Regards,
    Himadri
    null

  • Performance Problem with Adobe Print Forms (Non-Interactive)

    Hi Team,
    I have a <b>Web Dynpro ABAP</b> application with a print button which actually launces an Adibe print form (NOT Interactive) for the WDA data context. The scenario is for a Purchase Order in the ERP system. The problem is regarding performance when the line items are more then 150. The Adobe form is very simple WITH NO scripting and a plain tabular display of the line items. It takes around 4 minutes to load the form which has only 5 pages and is causing the WDA application to time out. Following are the configuration/Design details:
    ADS Version: 705.20060620101936.310918
    Adobe Reader 7.0, Version 7.0.9
    Adobe Live Cycle Designer 7.1, Version 7.1.3284.1.338866
    <b>FORM Element in WDA</b>:
    displayType = activeX (Should this be native for performance improvements?)
    "enabled" is not checked
    readOnly = 'X'
    <b>SFP Settings for the template Form</b>
    Layout Type in Properties = Standard Layout (Should this be xACF or ZCI for performance improvements?
    Interface type for the Form Interface = XML Schema-Based Interface
    <b>We are on 2004s release SP10</b>
    <b>Specific Questions:</b>
    1) Any recommendations for the above settings to improve performance?
    2) The form design is very simple with no complexity. The Table element is very basic and as per the blogs given in SDN. NO Scripting is performed.
    Any help, recommendations would be greatly appreciated.
    Regards

    Hi Sanjay,
    i would suggest you to have ZCI layout (native).
    Set the form properties to be cached on server (refer performance improvements in the Adobe LC Designer help).
    The performance will also depend on the ADS and also the network, including the R/3, as all these components come into picture.
    Hope these points, if you have not checked already, will help you.
    - anto.

  • Performance problem in File to ABAP Proxy scenario

    Hi gurus,
        I have a scenario where the sender is sending a file and the receiver is ABAP Proxy.The file is a simple DAT file containing banking data.The file sample is as belo
    00000MM21901 PYM0901021531     
    704401020100005510000040000D0002
    704401020127147391000033500D0003
    704401020127147391000045000D0004
    704401020109341157000038800D0005
    70420!!!!10200000182174D
    704401021100006040000015158D0001
    704401021100006040000005034D0002
    7042010210000020192D
    The above file need to be split and mapped to the fields of the ABAP Proxy after doing some validations.
    Is Receiver Determination using mapping required? What is the most efficient way of splitting the file?
    Please give your replies keeping better performance of the interface in mind.What is the best way of doing the validations?
    regards
    Debansu

    Hi Satish,
        As you can see in my question above,the sender side contains a flat file(the file format is given in the question),I need to split the file into strings which can then be mapped to specific fields of the ABAP Proxy.A sample output of the xml file that is passed on to the ABAP proxy after mapping transformations is given below:
    <BATCH_TOTAL_RECORD_420>
      <BATCH_REPORT_DISTRICT>70</BATCH_REPORT_DISTRICT>
      <KEY_VALUE>420</KEY_VALUE>
      <BATCH_NUMBER>1021</BATCH_NUMBER>
      <BATCH_TOTAL>0000020192</BATCH_TOTAL>
      <FILLER_BATCH_TOTAL_SIGN>D</FILLER_BATCH_TOTAL_SIGN>
      <FILLER />
      </BATCH_TOTAL_RECORD_420>
    - <BATCH_TOTAL_RECORD_420>
      <BATCH_REPORT_DISTRICT>70</BATCH_REPORT_DISTRICT>
      <KEY_VALUE>420</KEY_VALUE>
      <BATCH_NUMBER>9999</BATCH_NUMBER>
      <BATCH_TOTAL>0000202366</BATCH_TOTAL>
      <FILLER_BATCH_TOTAL_SIGN>D</FILLER_BATCH_TOTAL_SIGN>
      <FILLER />
      </BATCH_TOTAL_RECORD_420>
    I hope now you can provide me some answers.
    Regards
    Debansu

  • Performance of ccBPM

    Hi,
    I am currently working in a maintenance project and I have to improve the performance of XI interfaces.
    I need some clarity on the below.
    There are many ccBPM's used to collect messages for say 30 mins and perform a mapping and then write a single file onto a FTP server.
    Is it a good idea to remove such ccBPM's and write all the messages on the FTP server as individual files (I could use an external script to append all these individual files later). As I understand that in large landscapes if the files created are more then it will add up to performance bottlenecks because of concurrent file connectivity issues.
    Could any of you provide a tangible comparision between these two approaches.
    Also can you let me know how can i check the performance of a ccBPM (memory usage, processor usage etc).
    And any other interface level improvement suggestions are welcome

    Hi Varun,
    When you are facing the perfromance issues hav you identified the all reasons??its is true that BPM will take more resources to execute the scenario.May be some other reasons also create performance issues.
    coming to your requirement,it is really good idea to remove BPM,you can place files individually and using script append it,but it depends on hopw efficiently your script program will work.
    BPM patterns will take more resources compare to othe BPM Scenarios.
    Check your Integration Engine ,Adapter engine,Bussiness Process engines Processing Time,check in rwb perfromce monitoring section.then you will get some fair idea.
    and search in sdn ,you will find many docs on how to improve performace.
    Regards,
    Raj

  • Performance in BPM

    Hello Everyone
    I have scenario, where in ECC is sending PAYEXT IDOC's to PI, and PI collects the IDOC's. As soon as summary IDOC(EUPEXR) is recieved in PI the collection of PAYEXT stops and we have a workflow starting in ECC.  This is accomplished by using a FORK and the 2 channel in work will have an infinite loop.
    The performance of the interface is pretty good for upto 1000 IDOC's, but in case of payroll when they are 3000 IDOC's that have to be transmitted as a single batch. The PI server takes 5-6 minutes to collect the PAYEXT IDOC's, which is delaying the start of workflow.
    I have implemented message package with multiple queues, the timing has come down from 45 mins to 6 minutes.
    Can anyone suggest anything else to further improve the performance?
    --Prashanth

    the timing has come down from 45 mins to 6 minutes.
    6 minutes is not bad
    Which PI version are you using?
    As soon as summary IDOC(EUPEXR) is recieved in PI the collection of PAYEXT stops and we have a workflow starting in ECC
    What is the condition there to trigger the workflow?
    Regards,
    Prateek

  • Seperating management and normal service on two different LAN interfaces

    We would like to keep administration and general service of Windows Servers seperate on two different LAN interfaces "A" and "B" (on "dual home" machines i.e. machines with two network interfaces).
    Is this feasible so that no administration can be performed on LAN Interface A, all regular Services runs over LAN Interface A and all administration has to be done over B?
    Reasoning for this is security - only certain people and machines would be granted access to the management LAN.
    Any ideas how this is best achieved?
    Thanks in advance
       

    Hi,
    We can use the firewall to achieve your goal.
    Firstly, disable all the port in firewall of LAN B.
    Enable the port which used by the services in firewall of LAN B.
    After that all traffic from LAN B, which is not related to the services will be denied on the server.
    This is the general method of protecting the server on internet. (It is usually to be performed by a hardware firewall).
    Best Regards.
    Steven Lee
    TechNet Community Support

  • Applied changes on interfaces not processed as updated on scheduler

    Dear Gurus,
    Scenario
    =====
    Having problems in implementing a change in specific interface from a package.
    How i do it:
    1. Done specific changes to an interface from package A(version 001).
    2. Test loading and verified loading successful on return rows.
    3. Generate a new scenario for package A(version 002).
    3. Hence, I have this package B that only perform scheduled loading tasks.
    But when Package is executed overnite ( assuming interfaces had been updated, from the ETL diagram had applied changes of package A scenario version had been updated to the new version(002)
    nothing actually perform on the interface changed. Checked on edited interfaces is changed as last saved.
    Questions
    ======
    -Would updating the agent schedule update the version changes to be executed as well? or
    -Is there something else that had been missed by me as far as the 3 steps as mentioned above?
    Help and pointers are deeply appreciated :)
    Regards,
    Terri

    Dear Santos,
    Sorry for the late reply..
    Well let me roughly explain on my scenario in a clearer basis sorry.. :)
    Current Implementation:
    Package Transaction A & B and Package ETL
    Package Transaction below are the functions:
    -created several interfaces to perform Loading to sql db(no problems)
    -Question arise ere.. say i have modified the interface in this package and applied changes.
    Do i need to regenerate this package scenario?
    Package ETL
    -A Package created to synchronize scenario processes on a daily basis
    -So in the diagram would have scenario from Scenario Transaction A connects to Scenario Transaction B where agent schedule
    is applied on this Package ETL to process daily updates.
    -Questions arises here again.. coz once done the changes on say Package Transaction A on interfaces assumingly done correct steps by applyin changes to interfaces. Do i need to regenerate a scenario for this Package ETL say pre change package ETL is version 001 n post change on specific interface; should i create a new scenario with version 002?
    Other probs with ODI
    -Regenerate Scenario crashes Dun know wut's wrong?
    -Cant seem to remove previous Scenarios?
    I know its preety much long winded.. but i'm such a novice in odi..
    pointers and advises are truely appreciated :)
    Regards,
    Terri

Maybe you are looking for

  • Animated Gif Repaint

    I knew I was going to end up here eventually, stupid animated gifs. First of all, I get weird drawing artifacts on an animated gif on jkd 1.5, I upped this to 1.6 and everything is cool with displaying the gif. It could be because I'm running JBuilde

  • Third-party plug-in Digieffects

    For the third-party partner Digieffects (mentioned under In Depth on the Adobe website) what happens to the purchased plug-in (such as Phenomena) once the Adobe apllication plan is canceled?

  • Need Some Sample Report

    Dear Members Can any one send me sample reports of .AP Trailbalance Report .Transactions Available for Reconciliation Report To the following mail.id [email protected] Thanks Padarthy Edited by: padarthy on Sep 17, 2009 4:35 AM

  • How can i message out the unexisted material group name.

    Selection screen: material group s_maktl is a range, "AA_1" to "ZZ_9". I check the existence of material group in table T023. select * into table i_t023 where maktl in s_maktl. Example, 'UU_3" is not in table. But how can i tell "UU_3" is not existed

  • HOW MANY GB's DO I NEED?

    I'm going to be a junior in high school next year and I was planning on buying a MacBook Air. But I don't know if I should get a 128GB or 256GB? I was hoping it would last me through college too if possible. I'll mostly use it for some internet surfi