NAS SQL and Multithreading

DakkonDakkon Member Posts: 192
Someone recently told me that Navision Application Server for SQL is multi-threaded. Is there truth to this? I haven't been able to test this yet and I'm in the middle of a project that could be greatly affected by whether this is true:)
Thad Ryker
I traded my sanity for a railgun :mrgreen:

Comments

  • ara3nara3n Member Posts: 9,257
    It's news to me as well. I haven't heard about it before.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • DenSterDenSter Member Posts: 8,307
    NAS is an unattended NAV client. The NAV client is single threaded. I would say NAS is also single threaded.
  • Miklos_HollenderMiklos_Hollender Member Posts: 1,598
    I don't think so. This is why MSMQ is the suggested channel - 1231312 threads drop in messages, still one single-threaded NAS client can pick them up, because MSMQ does the queueing...
  • DakkonDakkon Member Posts: 192
    Thanks everyone:) (yes I meant multiple database queries at the same time). I figured it was probably still the case that it was sigle threaded. I know the native Nas is single threaded. I was hopefull after hearing from someone that the sql version was multi-threaded, but I thought it might be too much to hope for:)
    Thad Ryker
    I traded my sanity for a railgun :mrgreen:
  • ara3nara3n Member Posts: 9,257
    Just wait for v5. I'm sure they have a multi-threaded middle tier solution.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
  • WaldoWaldo Member Posts: 3,412
    I tested once (about a year ago) the following scenario.

    I created one codeunit for the NAS process. In that codeunit I created 5 timers (the standard navision timers as you know them). I started all 5 timers, calling seperate (5) codeunits.

    In each of these 5 codeunits, I did some transactions, some with insers, some with modifies, some with errors. Some timers at 6 seconds, some at 10, some at 30 ... anyway, all random.

    This was my result checking the event log and inserted/modified data thoroughly:
    - all timers run independently. Timer1 every 30 seconds, timer2 every 6 seconds, and so on.
    - the errors in timer1 didn't cause a rollback on timer3, so all inserts, modifies and deletes were done as supposed to ...
    - all errors rolled back what it had supposed to.

    So, you tell me. Probably I misunderstand the whole idea of "multi-threading", but isn't this a way?

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • WaldoWaldo Member Posts: 3,412
    Well, I tried the sleep as well, and it didn't affect any other "thread" whatsoever... .

    It is very easy to try it out. I don't use this kind of functionality in live database. I was just testing whether it was possible or not ... . It would be great if others try it out and share their remarks about it ... .

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • DenSterDenSter Member Posts: 8,307
    If you really want to know you can download a tool called 'process explorer' from http://www.sysinternals.com/Utilities/P ... lorer.html en see the properties of the application. I haven't tried this myself, but I still think that it is a single thread.
Sign In or Register to comment.