मुझे सच में नहीं पता कि इस प्रश्न के साथ कहां से शुरू किया जाए, लेकिन जिस साइट पर मैं काम कर रहा हूं, उसमें कुछ वास्तव में धीमी पृष्ठ लोड है। विशेष रूप से एक निर्माण करने के बाद, लेकिन हमेशा नहीं। वास्तव में इसे आने से पहले मुझे आमतौर पर पृष्ठ को 5-10 बार रीफ्रेश करना होता है। मुझे लगता है कि मैं यह देखने की कोशिश कर रहा हूं कि मुझे कहां देखना शुरू करना चाहिए।एएसपी.नेट एमवीसी 3 साइट लोडिंग बेहद धीमी है
ASP.NET MVC 3 Ninject AutoMapper इकाई की रूपरेखा कोड पहले 4.1 एसक्यूएल सर्वर 2008 उस्तरा
अद्यतन
कुछ प्रश्नों के संबंध में, यह हर पर इस लंबी लोड हो रहा है क्या कर सकते हैं पेज, लेकिन इसके बाद यह सभी पृष्ठों पर काफी तेज़ी से लोड हो जाता है।
इसे पोस्ट करने और आपके उत्तरों को प्राप्त करने के बाद मैंने एप्लिकेशन शुरू किया और यह अभी भी लोड हो रहा है और शायद तब तक लोड नहीं होगा जब तक कि मैं ब्राउज़र पर पुनः लोड नहीं करता।
कोई कैशिंग नहीं, और ईएफ मॉडल विशाल नहीं हैं।
मैं 6 जीबी मेमोरी और आई 7 प्रोसेसर के साथ रेजर और विजुअल स्टूडियो 2010 का उपयोग कर रहा हूं।
मैं आईआईएस एक्सप्रेस और डीबगिंग के दौरान डिफ़ॉल्ट वेब सर्वर का उपयोग कर रहा हूं। यह मुख्य सर्वर पर आईआईएस 7 पर भी करता है।
मैं एमवीसी प्रोफाइलर और झलक देख सकता हूं कि मैं क्या देख सकता हूं।
नीचे मेरे पास कुछ कोड है जब यह मुखपृष्ठ पर हिट करता है। मैं कहूंगा कि जब मैं पहली बार सर्वर शुरू करता हूं तो यह कभी लोड नहीं होता है। मैंने var मॉडल पर ब्रेक पॉइंट डाला जो कभी हिट नहीं होता है। अगर मैं पेज को फिर से लोड करता हूं तो यह करता है।
public ActionResult Index()
{
var model = new HomeViewModel();
model.RecentHeadlines = _headlineService.GetHeadlines(1, Config.RecentHeadlinesPageSize, string.Empty);
return View(model);
}
नीचे मेरा डेटाकॉन्टेक्स्ट सेटअप भी है।
public class DatabaseFactory : Disposable, IDatabaseFactory
{
private DataContext _dataContext;
public DataContext Get()
{
return _dataContext ?? (_dataContext = new DataContext());
}
protected override void DisposeCore()
{
if (_dataContext != null)
_dataContext.Dispose();
}
}
public class Disposable : IDisposable
{
private bool isDisposed;
~Disposable()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (!isDisposed && disposing)
{
DisposeCore();
}
isDisposed = true;
}
protected virtual void DisposeCore()
{
}
}
public class UnitOfWork : IUnitOfWork
{
private readonly IDatabaseFactory _databaseFactory;
private DataContext _dataContext;
public UnitOfWork(IDatabaseFactory databaseFactory)
{
_databaseFactory = databaseFactory;
}
protected DataContext DataContext
{
get { return _dataContext ?? (_dataContext = _databaseFactory.Get()); }
}
public void Commit()
{
DataContext.Commit();
}
}
कुछ और विवरणों की आवश्यकता है। क्या यह पहला पृष्ठ मारने के लिए है? हर पृष्ठ? केवल कुछ पेज? लगातार या sporadically होता है? – Lester
आपका ईएफ मॉडल कितना बड़ा है? क्या आपके आवेदन में कोई कैशिंग है? क्या यह विशेष रूप से बिल्ड या हमेशा के बाद होता है जब आप पहली बार निर्माण (एप्लिकेशन पुनरारंभ) के बाद एप्लिकेशन तक पहुंचते हैं? –
यह धीमी मशीन के कारण भी हो सकता है। आपके पास कितनी मेमोरी है? कितने सीपीयू कोर? क्या यह एक लैपटॉप है, या एक वर्कस्टेशन है? – danludwig