Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
godilya
Starting Member
3 Posts |
Posted - 2011-04-25 : 12:57:05
|
| Hi, Today I finished my database program V1.0.I want to compare it to the SQL database and see the differences, here is the test that I been running today.I created 100 threads: 33 reading threads, 33 updating threads and 34 adding threads, that write new raws.After each thread run I put a sleep of 100 milliseconds.I was running this test for 8 hours, starting from 0 raws and going to 51M raws size. The reading speed in all the time was below 100 milliseconds. RAM started from 20M and grow to 1.5G. The CPU was a bit crazy it started from 10% then grow to 20 - 40, then when there were about 5M raws it starting to go down and long time been stable on 15% - 30% and at the end when my RAM was close to it's limit, it was going 30% - 60%, that was it's max.My testing machine is:Win 7 64 bit,Intel 4G RAM,2.5GHzPlease tell me what do you think about it, may be you can even run this test with SQL and tell me his performance. I really don't know if 51M raws is a lot, it sounds like a lot to me, but I never been testing those things before.Starting database developer,Ilya. |
|
|
tkizer
Almighty SQL Goddess
38200 Posts |
|
|
nigelrivett
Master Smack Fu Yak Hacker
3385 Posts |
Posted - 2011-04-25 : 13:53:07
|
| Depends on what you are aiming at.SQL Server tends to suffer from blocking so althought the total time for inserts might be low the time for individual inserts yends to be high. It sounds like you are testing total so you need to be sure that is what is important to your system.Also what are you reading and updating? Is the server having to do any disk access and isthis representative of a live situation?==========================================Cursors are useful if you don't know sql.SSIS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
godilya
Starting Member
3 Posts |
Posted - 2011-04-25 : 14:26:49
|
| @nigelrivettThe reading and writing is from the server disk, my goal is to maximize the reading speed, and when I been trying to accomplish it I found that I am having high writing speed as well, now I want to know: did I found some thing new, does my system is better then SQL? |
 |
|
|
nigelrivett
Master Smack Fu Yak Hacker
3385 Posts |
Posted - 2011-04-25 : 14:33:25
|
| I doubt it. It sounds like you are doing single row inserts which isn't the sort of thing that sql is meant for. I also suspect that whatever method you are using will be converted into sql at some point for the server to create a query plan to execute.I also don't think the server would be able to write at that speed if it purges cache between each io - depends on the hardware of course..==========================================Cursors are useful if you don't know sql.SSIS can be used in a similar way.Beer is not cold and it isn't fizzy. |
 |
|
|
godilya
Starting Member
3 Posts |
Posted - 2011-04-25 : 15:20:50
|
| I am not doing single raw insert, I wouldn't call my self database developer if it was the case...You can insert many raws at once, that what I did in my test, when I were inserting 34 raws at once every 100 milliseconds, I didn't build a calculation tool yet, to tell you how much time it took to the insert to be complete but I will in several days.About converting to SQL, well of course not. I created a new program for database which is not SQL. It is working in a different way.It is a library that you access directly from your source, so your execution plan is your code.My only question is, how can I create a test of reading, writing and updating speed of SQL in order to compare it with my own db. |
 |
|
|
|
|
|
|
|