PDA

View Full Version : مشاوره برای بالا بردن سرعت این سایت



ali_mnkt
دوشنبه 04 دی 1391, 18:40 عصر
سلام دوستان

می خواستم نظرتون رو در مورد سایت زیر بدونم چه از لحاظ طراحی و چه از لحاظ کارائی ؟

در ضمن به نظر سایت کنده کسی می تونه بگه که چه کاری برای بالا رفتن سرعتش می شه کرد ؟

http://alian29t.ir/

malloc
دوشنبه 04 دی 1391, 18:46 عصر
سایت قشنگیه.
بنظر من که سنگین نیست.

ظاهرشو با چی درست کردی؟؟

amirreyhaneh
دوشنبه 04 دی 1391, 21:44 عصر
سلام دوست عزیز
ظاهر سایت رو با چی طراحی کردی؟
منوها را با چی ساختی؟
ممنون

website.expert
دوشنبه 04 دی 1391, 22:13 عصر
من تو وب تازه کارم،
ولی فکر کنم شما کلاً به جای اینکه با css کار کنید از table استفاده کردید.
که زیاد توصیه نمیشه.
فکر کنم اگه از css استفاده می کردید بهتر بود و فکر کنم تو سرعت هم تاثیر داشت.

aminmorteza
دوشنبه 04 دی 1391, 22:24 عصر
سلام دوست عزیز شما باید سایتون رو بهینه بکنید سایت رو میتونی از لحاظ بهینه بودن یا با افزونه yslow یا اینکه یا این سایت http://gtmetrix.com بررسی بکنه نمره 70 بهت داد. من خودم سایت رو بهنیه کردم الان نمره اش رسیده به 83 که دارم باز هم میبرمش بالا.باید تعداد درخواست ها رو به سمت سرور کم بکنه 39 درخواست به سمت سرور فرستاده میشه . در کل سایت جالبی هستش من خوشم امد موفق باشید.

malloc
دوشنبه 04 دی 1391, 22:36 عصر
سلام دوست عزیز شما باید سایتون رو بهینه بکنید سایت رو میتونی از لحاظ بهینه بودن یا با افزونه yslow یا اینکه یا این سایت http://gtmetrix.com بررسی بکنه نمره 70 بهت داد. من خودم سایت رو بهنیه کردم الان نمره اش رسیده به 83 که دارم باز هم میبرمش بالا.باید تعداد درخواست ها رو به سمت سرور کم بکنه 39 درخواست به سمت سرور فرستاده میشه . در کل سایت جالبی هستش من خوشم امد موفق باشید.
داداشی دمت گرم بابت سایت خوبی که معرفی کردی
میشه یه توضیحی راجعبش بدی؟؟
و اینکه بنظرت حاصلی که از این سایت میاد بیرون میتونه متغیر باشه؟؟؟

یعنی منظورم اینه که اگه من سایتمو رو یه سرور توپ آپلود کنم و همون سایتو رو یه سرور Free آپلود کنم نتیجه هر دوتا یکی میشه یا اون اولیه رتبه ی بهتری میگیره


و اینکه میتونید تو سایت زیر سایتتونو از لحاظ سئو تست کنید
http://seo.bjo.ir/

ali_mnkt
دوشنبه 04 دی 1391, 23:53 عصر
سلام دوست عزیز
ظاهر سایت رو با چی طراحی کردی؟
منوها را با چی ساختی؟
ممنون

سلام منوی سایت با telerike

ali_mnkt
دوشنبه 04 دی 1391, 23:56 عصر
سایت قشنگیه.
بنظر من که سنگین نیست.

ظاهرشو با چی درست کردی؟؟

یعنی چی ظاهرشو با چی درست کردم ؟ طراحی با html و photoshope

mahdidabaghi
سه شنبه 05 دی 1391, 00:30 صبح
سایت قشنگیه
فقط سعی کنید از div استفاده کنید.هم سرعت رو بالاتر میبره و هم seo رو بهینه تر میکنه.
درباره قسمت آمار سایت شما از وب سرویس خاصی استفاده کردین یا که خودتون کد نویسی رو انجام دادین؟
اگه مورد دوم پاسخ شما هست در صورت امکان اون کد رو تو این تایپیک بذارین
با سپاس

sh-eng
سه شنبه 05 دی 1391, 08:29 صبح
سرعتش خوبه ظاهرشم خوبه اگه گرافیک سایت های خوبو بهتر بررسی کنی بیشتر پیشرفت می کنی

bftarane
سه شنبه 05 دی 1391, 09:01 صبح
در پست 5 اين تاپيک نوشته

باید تعداد درخواست ها رو به سمت سرور کم بکنه
چطور ميشه اين کار رو انجام داد؟
چه مسائلي بايد رعايت بشه؟

aminmorteza
سه شنبه 05 دی 1391, 10:17 صبح
سلام ببین دوست عزیز شما وقتی سایتون را با اون سایت تحلیل میکنید مواردی رو برای بهینه سازی وب سایت نوشته که باید رعایت بکنید اولین و مهترین اونها اینه که باید تعداد درخواست به سمت سرور رو کم بکنید شما وقتی سایتی رو باز میکند مرورگر برای هر فایلی که تویه سایت گذاشته شده باید یه درخواست به سمت سرور ارسال کنه از جمله فایل های جاوااسکریپت ,تصاویر , css و غیره.... برای کاهش درخواست به سمت سرور باید فایل های جاواسکریپت و css رو یکی بکنید یعنی فقد یک فایل css , javascript داشته باشید تصاویر رو هم باید با فوتوشاپ به یک تصویر تبدیل بکنید و توسط css ازش استفاده کنید و غیره ... موارد دیگه ای که باید رعایت کنید حذف فاصله خالی فایل های css , javascript هستش که اصطلاحا بهش minify کردن میگن که میتونید این کار رو با microsoft Ajax minifier انجام بدهید.و مواردی دیگه ای مثل expire header که تویه سایت dotnettips.info مثال هایی ازش زده شده که میتونید استفاده کنید و خیلی موارد دیگه که باید برید دنبالش.......
موفق باشید

ali_mnkt
سه شنبه 05 دی 1391, 15:12 عصر
سلام ببین دوست عزیز شما وقتی سایتون را با اون سایت تحلیل میکنید مواردی رو برای بهینه سازی وب سایت نوشته که باید رعایت بکنید اولین و مهترین اونها اینه که باید تعداد درخواست به سمت سرور رو کم بکنید شما وقتی سایتی رو باز میکند مرورگر برای هر فایلی که تویه سایت گذاشته شده باید یه درخواست به سمت سرور ارسال کنه از جمله فایل های جاوااسکریپت ,تصاویر , css و غیره.... برای کاهش درخواست به سمت سرور باید فایل های جاواسکریپت و css رو یکی بکنید یعنی فقد یک فایل css , javascript داشته باشید تصاویر رو هم باید با فوتوشاپ به یک تصویر تبدیل بکنید و توسط css ازش استفاده کنید و غیره ... موارد دیگه ای که باید رعایت کنید حذف فاصله خالی فایل های css , javascript هستش که اصطلاحا بهش minify کردن میگن که میتونید این کار رو با microsoft Ajax minifier انجام بدهید.و مواردی دیگه ای مثل expire header که تویه سایت dotnettips.info مثال هایی ازش زده شده که میتونید استفاده کنید و خیلی موارد دیگه که باید برید دنبالش.......
موفق باشید

دوست عزیز شما گفتید که باید تصاویر را یکی کنیم و توسط css از اونها استفاده کنیم . می تونی توضیح بیشتری بدی و یا منبه معرفی کنی ؟

ali_mnkt
سه شنبه 05 دی 1391, 15:14 عصر
درباره قسمت آمار سایت شما از وب سرویس خاصی استفاده کردین یا که خودتون کد نویسی رو انجام دادین؟
اگه مورد دوم پاسخ شما هست در صورت امکان اون کد رو تو این تایپیک بذارین
با سپاس

بله خودم نوشتم . توی همین سایت نمونه کد های زیادی هیت و من هم از اونها استفاده کردم می تونی یه search بزنی

aminmorteza
سه شنبه 05 دی 1391, 22:14 عصر
سلام با استفاده از background-position: -100px -108px; شما میتونید اون قسمت از عکسی رو که شامل تمام عکس های وب سایت هستش رو نمایش بدهید. بهش css sprite میگن .تویه موتور جستجوی گوگل سرچ بکنید نحوه استفاده از css sprite براتون یه سری مطالب میاره که میتونید استفاده کنید موفق باشید

ali9698
سه شنبه 05 دی 1391, 23:02 عصر
سایتت سنگین نیست و به نظر من سرعتش که خوبه. از نظر ظاهری هم برای یه سایت دانشگاه خوبه. البته فکر کنم از table استفاده کردی که برای بالا رفتن سرعت بهتره از div استفاده کنی. البته کار با div سخت تره از table

farhadziaee
چهارشنبه 06 دی 1391, 11:58 صبح
برای بالا بردن سرعت سایت چند کار میشه انجام داد:
1- انتخاب هاست قدرتمند
2- استفاده از div , span به جای table
3- القای style های تکراری در css
4- آپلود تصاویر با سایزهای مختلف و کاربرد مناسب آن
5- استفاده از ajax برای لود کردن تبلیغات
6- خلاصه سازی مطالب در صفحات پر بازدید و استفاده از لینک ادامه مطالب
7- عدم استفاده از کتابخانه های jquery , javascript در مواقع غیر ضروری
8- بازبینی کلاسهای css و ادغام کلاسهای مشابه و حذف کلاسهای بلا استفاده
9- فشرده سازی فایل های CSS , JS
10- در صورتی که از کد های جاوا اسکریپت استفاده میکنید : حذف کاراکترهای "اینتر" "فاصله" "تب" در کدها
11- انتخاب فرمت کم حجم مناسب برای تصاویر سایت
12- استفاده از کدینگ مناسب متن
و....

همچنین بهترین حجم صفحات سایت برای موتورهای جستجوگر حد اکثر 33 کیلوبایت است. که در http://seo.bjo.ir بررسی کن

neda555
چهارشنبه 06 دی 1391, 12:38 عصر
وقتی تعداد بازدید در یک زمان از سایت بالا باشه چه راهکار هایی برای پیشگیری از مشکل وجود داره؟

actros
چهارشنبه 06 دی 1391, 22:29 عصر
1- مهمترین مشکل سایت شما پدیده Page Bloat ئه یا همون ViewState زیاد و مدیریت نشده.هر جا که به ViewState نیاز نداری،این خاصیت رو False کن.کلا این خاصیت در مواقعی مورد نیازه که مقدار یک کنترل در حین postback تغییر می کنه مثل dropdownlist وقتی خاصیت AutoPostback اش True باشه یا تو رویداد textchanged یک textbox کد نوشته باشی
2- به واسطه استفاده از ajax م متعاقب اون ScriptManager تعداد زیادی(13 تا) فایل axd. داری.با true کردن خاصیت EnableCdn تعداد این فایل ها رو به 3 یا 2 کاهش میدی
3- اگه از ajaxControlToolkit استفاده می کنی به جای ScriptManager از ToolkitScriptManager استفاده کن
4- id کنترل ها رو تا جایی که می تونی کوتاه کن.مخصوصا ContentPlaceHolder رو.id یک Gridview میتونه یک فقط یک حرف باشه (به کسی هم بر نمیخوره :دی)
5- تو page اصلا از خاصیت Style استفاده نکن.هر چی استایل داری ببر تو CSS
6- از ابزار هایی مثل combineAndMinify (http://combineandminify.codeplex.com/)استفاده کنید تا css ها js هاتون یکپارچه،فشرده و کش بشه
7- به هیچ وجه از GridView استفاده نکن.Listview همه کارای اون رو + خیلی کارای دیگه انجام میده.بواسطه ساختار Template اش تسلط کامل رو html تولید خواهی داشت.
8- از Caching استفاده کن و ....

website.expert
چهارشنبه 06 دی 1391, 23:47 عصر
.id یک Gridview میتونه یک فقط یک حرف باشه

ببخشید بعد اونوقت شما فکر پشتیبانی نیستید؟!
اگه 10تا از این آیدی ها باشه طرف کارش ساختس که!

صرفه جویی کم مصرف کردن نیست درست مصرف کردنه! :لبخند:

mahdidabaghi
پنج شنبه 07 دی 1391, 00:00 صبح
بله خودم نوشتم . توی همین سایت نمونه کد های زیادی هیت و من هم از اونها استفاده کردم می تونی یه search بزنی
مهندس حرف شما درست که تو همین سایت سرچ کنم نمونه های مختلفی هست و لی دوستان واسه هر کدوم از نمونه ها چندتا باگی اکتشاف کردند.شما اگه لطف کنی و سورس آماری که استفاده کردی رو بذاری یه دنیا ممنون میشم

actros
پنج شنبه 07 دی 1391, 00:10 صبح
.id یک Gridview میتونه یک فقط یک حرف باشه
ببخشید بعد اونوقت شما فکر پشتیبانی نیستید؟!
اگه 10تا از این آیدی ها باشه طرف کارش ساختس که!
صرفه جویی کم مصرف کردن نیست درست مصرف کردنه! :لبخند:

پشتیبان سورس صفحه رو در اختیار داره و می بینه چی مال چیه دیگه :دی
اگه id کنترل های دیتاسورس رو یک کلمه می کردم حرف شما درست بود.چون پیدا کردنش کمی سخت میشه ولی کلا مگه چند تا کنترل تو صفحه دارم؟؟
خوب حالا یه حرف نه دیگه بیشتر از 2 تا راه نداره. gv بسه :لبخند:

malloc
پنج شنبه 07 دی 1391, 00:29 صبح
مهمترین مشکل سایت شما پدیده Page Bloat ئه یا همون ViewState زیاد و مدیریت نشده.هر جا که به ViewState نیاز نداری،این خاصیت رو False کن.کلا این خاصیت در مواقعی مورد نیازه که مقدار یک کنترل در حین postback تغییر می کنه مثل dropdownlist وقتی خاصیت AutoPostback اش True باشه یا تو رویداد textchanged یک textbox کد نوشته باشی

دوست عزیز بیشتر توضیح میدی راجعبه view state. واقعا واسم سواله . الان من یه وب سایت نوشتم که کلا یه بار هم با مقدار viewstate کار نکردم

actros
پنج شنبه 07 دی 1391, 01:55 صبح
دوست عزیز بیشتر توضیح میدی راجعبه view state. واقعا واسم سواله . الان من یه وب سایت نوشتم که کلا یه بار هم با مقدار viewstate کار نکردم
خیلی ساده هر جا به مقدار کنترل قبل از postback احتایج نداری (اکثر مواقع) خاصیت ViewState کنترل رو false کن
با یه سرچ ساده میتونی کلی مطلب در موردش پیدا کنی(چطوری باید state ها رو مدیریت کرد ؟ چطور میشه فشرده اش کرد؟ یا حتی به انتهای صفحه فرستادش :دی ) البته رعایت گزینه اول برای عموم کافیه و نتایج بسیار خوبی به همراه داره.به نظر من تا نداشتن تسلط کافی بهتره سراغ مباحثی نظیر فشرده سازی و جابه جا کردنش نرید

خلاصه مطلب: http یه پروتکل Stateless ئه یعنی مقدار صفحه و کنترلها رو نگه نمیداره. NET. برای حفظ مقادیر صفحه و کنترلها بین postback ،مقادیر اونهارو در فیلدی Hidden بنام VIEWSTATE__ ذخیره می کنه(البته تبدیل به base64 شدش رو.که با ابزارهایی مثل Fritz Onionمیشه دکودش کرد) تا مثلا اگه شما تو رویداد textchanged یک textbox کدی نوشتی،مقدار قبلی textbox برای مقایسه با مقدار جدید موجود باشه.اگه نباشه چطوری میخای بفهمی قبلش چه مقداری داشته؟

همه اینا بحث های جالبیه ولی شما به عنوان برنامه نویس به محض استفاده از کنترل سروری (دارای تگ Runat=server) خاصیت EnableViewState اش رو false کن.مگر اینکه طی postback ها به مقدار قبلی اون کنترل احتیاج داشته باشی.
متاسفانه خیلی کم دیدم دوستان تو پروژه هاشون این مساله رو رعایت کنن.حتی خیلی از کتاب های برنامه نویسی هم توجهی به این قضیه نمی کنن.تو بخش مربوطه در موردش توضیح میدن ولی هیچ جای کتابشون رعایت نمی کنن.
بدی مساله اینجاست که خصوصیت EnableViewState به صورت پیش فرض true ئه در حالی که بیشتر مواقع نیازی بهش نداریم.درواقع بیشتر حجم ViewState رو کنترلهایی تولید می کنن که هیچ نیازی بشهون ندارن و تنها به علت true بودن پیش فرض این خصوصیت اقدام به تولید state می کنن.نتیجه کار میشه یه زنگوله که از این صفحه به اون صفحه دنبال خودمون می بریم.
ای کاش حداقل موقع drag کردن کنترلها، عبارت "EnableViewState="true ذکر میشد تا کاربران متوجهش میشدن.

من تو صفحات سایت هام به روش زیر عمل می کنم
صفحه:
ViewStateMode="Disabled"
EnableViewState="true"

کنترل هایی که به ViewState نیاز دارن :
ViewStateMode="Enabled"
EnableViewState="true"
نکته 1 : مقدار پیش فرضش ViewStateMode در سطح صفحه Enabled و در سطح کنترل Inherit ئه.در نتیجه اگر این خاصیت در یکی از سطوح صفحه یا کنترل مقدار دهی نشه، خصوصیت EnableViewState تعیین کننده نحوه رفتار viewState در اون صفحه خواهد بود.
نکته 2: خصوصیت ViewStateMode صفحه یا کنترل تنها زمانی می تونه تاثیر گذار باشه که خصوصیت EnableViewState مقدار True داشته باشه.اگر false باشه، enabled بودن خصوصیت ViewStateMode چه در سطح صفحه و چه در سطح کنترل هیچ تاثیری نخواهد داشت :دی

در پایان باید بگم ViewState رو تو 3 سطح میشه مقدار دهی و کنترل کرد
1- در سطح سایت (از طریق we.config) که اصلا توصیه نمیشه
2- در سطح page
3- در سطح کنترل

malloc
پنج شنبه 07 دی 1391, 09:25 صبح
داداشی خیلی Like داری.ممنون که وقت گذاشتی و توضیح دادی

واینکه من فکر میکنم منظور شما اینه که مثلا این خاصیت و برای labelها false کنیم . چون هر button یا LinkButton یا textbox یا مشابه اینهارو مقادیرشونو تو پست بک نیاز داریم دیگه

malloc
پنج شنبه 07 دی 1391, 10:19 صبح
از ابزار هایی مثل combineAndMinify (http://combineandminify.codeplex.com/)استفاده کنید تا css ها js هاتون یکپارچه،فشرده و کش بشه

دوست عزیز اینه که شما گذاشتی وب سایته (منظورم کدهای یه برنامه ای هست که با asp.net نوشته شده) و نمیشه نصبش کرد و ....

چطوری باهاش css یا jquery رو فشرده کنیم

saeed_sho
پنج شنبه 07 دی 1391, 10:27 صبح
اگه بجای پیج در سطح مستر پیج بزنیم چی؟

actros
پنج شنبه 07 دی 1391, 13:34 عصر
داداشی خیلی Like داری.ممنون که وقت گذاشتی و توضیح دادی
واینکه من فکر میکنم منظور شما اینه که مثلا این خاصیت و برای labelها false کنیم . چون هر button یا LinkButton یا textbox یا مشابه اینهارو مقادیرشونو تو پست بک نیاز داریم دیگه
button و LinkButton ات هم نیازی به نگه داشتن state اشون در طی postback ها ندارن هم چنین tetxtbox ات.مگر این تو رویداد textchanged اش کد نوسته باشی
حتی میتونی مال GridView و ListView رو هم Flsae کنی (اگه دیدی به مشکل برخوردن دوباره True شون کن )

دوست عزیز اینه که شما گذاشتی وب سایته (منظورم کدهای یه برنامه ای هست که با asp.net نوشته شده) و نمیشه نصبش کرد و ....
چطوری باهاش css یا jquery رو فشرده کنیم
سمت چپ دانلود رو ببین
راه ساده تر و بهترش نصب از طریق Nuget ئه .دستور Nuget اش :Install-package combineandminify
انشاا.. که باهاش آشنایی داری


اگه بجای پیج در سطح مستر پیج بزنیم چی؟
don't do that
مثل این می مونه تو وب کانفیگ flase کرده باشیش

neda555
جمعه 08 دی 1391, 11:08 صبح
سلام من واسه دیتالیست false کردم قالبم مشکل پیدا کرد !!! از وسط صفحه رفت کنار صفحه دوباره true کردم درست نشد!

actros
جمعه 08 دی 1391, 18:07 عصر
سلام من واسه دیتالیست false کردم قالبم مشکل پیدا کرد !!! از وسط صفحه رفت کنار صفحه دوباره true کردم درست نشد!

ViewState ارتباطی با دیزاین نداره
جای DataList از Listview استفاده کن (تمپلیتهای Insert , Update - Select - alternate رو به محض ساختن میتونی پاک کنی.چیز که مینمونه همون DataList میشه)

behzad_vb.net
پنج شنبه 14 دی 1391, 22:15 عصر
در پست 5 اين تاپيک نوشته

چطور ميشه اين کار رو انجام داد؟
چه مسائلي بايد رعايت بشه؟

باید کش سیستم فعال بشه + کوکی روی سیستم افراد ایجاد کنه و همین طوری کش روی سیستم افراد

jozef_rezaei
شنبه 16 دی 1391, 11:26 صبح
سلام با افزونه yslow در فایر فاکس هم می تونی کارای خوبی بکنی خودش به سایتت گرید میده و مشخص می کنه به چه دلایلی سرعت پایین می ره یا رفته فقط کافیه به اون گوش بدی و عمل کنی

8611670474
یک شنبه 25 فروردین 1392, 10:44 صبح
برای فشرده سازی فایل های css از :

http://www.minifycss.com/css-compressor

و برای فشرده سازی فایل های js از :

http://jscompress.com

اینا فقط نمونه است.از این دست سایت ها زیاده.
در ضمن برای اینکه تعداد در خواستها کم شه ، می تونید فایلهای css و js را با هم ادغام کرد.بقیه موارد هم که دوستان ذکر کردند.