PDA

View Full Version : سوال: آرایه بر روی سرعت سرور تاثیر گذار است؟



KavoshGar_ir
سه شنبه 07 خرداد 1387, 01:44 صبح
1)
دوستان من یک رشته ای را با استفاده از splite به آرایه رشته ای تبدیل کردم و روی این آرایه پردازشهای را در نظر گرفتم!

اگر به طور مثال این آرایه 500 خانه ای ایجاد شده باشد! آیا این پردازشها بر روی سرعت سرور تاثیر منفی می گذارد؟ هر چند فکر می کنم تعریف متغییر از رم سرور استفاده می کند!نظر شما چیست؟

آیا بهتر نیست به جای استفاده از آرایه متغییر را در یک دیتابیس ذخیره و سپس پردازش روی آن صورت گیرد؟


2) برای تعریف رشته های با طول بزرگ دات نت StringBuilder را پیشنهاد داده! چه تفاوتی مابین String و StringBuilder است؟

مهدی کرامتی
سه شنبه 07 خرداد 1387, 02:45 صبح
نه، استفاده از آرایه تاثیر خاصی بر روی سرور نمیگذاره.

Behrouz_Rad
سه شنبه 07 خرداد 1387, 08:13 صبح
2) برای تعریف رشته های با طول بزرگ دات نت StringBuilder را پیشنهاد داده! چه تفاوتی مابین String و StringBuilder است؟

StringBuilder در حالتی که تعداد رشته هایی که به هم متصل میشن از 3 تا بیشتر باشه سرعت بهتری رو نسبت به String ساده ارائه میده.
اگر تعداد عبارات، 3 تا و کمتر باشه، از String ساده استفاده کن.

موفق باشید.

KavoshGar_ir
سه شنبه 07 خرداد 1387, 20:59 عصر
ممنونم جناب آقای کرامتی و بهروز جان! لطف کردید!

به طور کلی چطور می توان پرفرمنس سرور را در اجرای کدها محک زد؟!

به طور مثال چندی پیش به یک سایتی برخورد کردم که قدرت سرور را اندازه گیری می کرد همچنین انلاین و داون شدن آن را مانیتورینگ می کرد! آیا این امکان از طریق نرم افزاری مثلا با کدنویسی در Asp.Net امکان پذیر است؟ یا فقط به مباحث مربوط به شبکه و سخت افزاری مربوط است؟

twelve
سه شنبه 07 خرداد 1387, 21:05 عصر
به طور مثال چندی پیش به یک سایتی برخورد کردم که قدرت سرور را اندازه گیری می کرد همچنین انلاین و داون شدن آن را مانیتورینگ می کرد! آیا این امکان از طریق نرم افزاری مثلا با کدنویسی در Asp.Net امکان پذیر است؟ یا فقط به مباحث مربوط به شبکه و سخت افزاری مربوط است؟
اولا کاش اون سایت رو معرفی میکردی ;-) برای من جالب شد !
اما ظاهرا asp.net نمیتونه باشه ، با استفاده از وب سرویس های و win app این کار رو میکنن و فقط دریافت نتایج و نمایش به عهده asp.net هست!

KavoshGar_ir
سه شنبه 07 خرداد 1387, 21:23 عصر
اولا کاش اون سایت رو معرفی میکردی ;-) برای من جالب شد !
اما ظاهرا asp.net نمیتونه باشه ، با استفاده از وب سرویس های و win app این کار رو میکنن و فقط دریافت نتایج و نمایش به عهده asp.net هست!
برای انلاین و یا دوان شدن سرور این سایته ( http://www.hyperspin.com/en/index.php )

که اینجور که مشخصه از ping روترها و ... استفاده می کند.

برای قدرت سرور هم یک ربوتی بود که متاسفانه آدرس سایتش در ذهنم نیست!

حالا سوال اینجاست که Asp.Net قابلیت مانیتورینگ سرور را هم داراست؟ به عنوان مثال چیزی شبیه به مبحث Connection Statistics




Here’s an example that displays the number of bytes received by the connection since you
enabled statistics:
Hashtable statistics = con.RetrieveStatistics();
lblBytes.Text = "Retrieved bytes: " + statistics["BytesRetrieved"].ToString();

Statistics are provided in a loosely typed name/value collection. That means you need to know
the specific name of a statistic in order to retrieve it. You can find the full list in the MSDN help, but
here are a few of the most useful:

• ServerRoundtrips: Indicates the number of times the connection has made a request to the
database server. Typically, this value corresponds to the number of commands you’ve executed,
but strategies such as command batching can affect it.

• ConnectionTime: Indicates the cumulative amount of time the connection has been open.

• BytesReceived: Indicates the total number of bytes retrieved from the database server (as a
cumulative result of all the commands you’ve executed).

• SumResultSets: Indicates the number of queries you’ve performed.

• SelectRows: Records the total number of rows retrieved in every query you’ve executed.