আমার বেসিক হেরোকু অ্যাপ্লিকেশনগুলি লোড হতে কেন দুই সেকেন্ড সময় নিচ্ছে?


106

আমি পরিষেবাটি পরীক্ষা করার জন্য দুটি খুব সাধারণ হেরোকু অ্যাপ্লিকেশন তৈরি করেছি, তবে পৃষ্ঠাটি লোড করতে প্রায়শই বেশ কয়েক সেকেন্ড সময় লাগে যখন আমি প্রথমবার এগুলি দেখি:

আমি যা করেছি তা হ'ল একটি সাধারণ সিনাত্রার অ্যাপ তৈরি এবং এটিকে মোতায়েন করা। হেরোকু সার্ভারগুলির সাথে গোলযোগ বা পরীক্ষার জন্য আমি কিছুই করি নি। প্রতিক্রিয়া সময়ের উন্নতি করতে আমি কী করতে পারি? এখনই এটি খুব ধীর এবং আমি কোথায় শুরু করব তা নিশ্চিত নই। প্রকল্পগুলির কোড গিথুবে রয়েছে যদি এটি সাহায্য করে।

উত্তর:


184
  • যদি আপনার অ্যাপ্লিকেশনটি কিছু সময়ের জন্য অব্যবহৃত থাকে তবে এটি আনলোড হয় (সার্ভার মেমরি থেকে)।
  • প্রথম ধাক্কায় এটি লোড হয়ে যায় এবং কারও অ্যাক্সেস না করে কিছু সময় না যাওয়া পর্যন্ত লোড থাকে।

এটি সার্ভারের সংস্থানগুলি সংরক্ষণ করার জন্য করা হয়। যদি কেউ আপনার অ্যাপ্লিকেশন ব্যবহার না করে তবে কেন সংস্থানগুলিকে ব্যস্ত রাখুন এবং যার সত্যিকারের প্রয়োজন তাদেরকে সেগুলি ব্যবহার করতে দেবেন না?
যদি আপনার অ্যাপ্লিকেশনটিতে প্রচুর ট্র্যাফিক থাকে তবে এটি কখনই লোড হবে না।

এই সম্পর্কে একটি সরকারী নোট আছে।


53
এটির সমাধানের সবচেয়ে সহজ উপায় হ'ল আপনার ডায়নোস 2 তে বাড়ানো
চ্যাপ

71
আপনার সার্ভারটিকে অলসতা থেকে বাঁচতে পিং করা আপনার নিজের বাসাতে ক্রপ হচ্ছে। আপনি যে পরিষেবাগুলির কথা বলছেন তা নিখরচায় । তাদের সম্পদ সংরক্ষণ করা দরকার। যদি প্রত্যেকে তাদের সার্ভারে পিং দেয় তবে কোনওটিই অদলবদল হয় না এবং সরবরাহকারীকে স্কেল আপ করতে হয়। এর জন্য অর্থ ব্যয় হয় .... বিদায় নিখরচায় পরিষেবা। আমি মনে করি যে এই উত্তরের পোস্টারটি সার্ভারে পিং করার পরামর্শটি মুছে ফেলা উচিত।
গ্রিনএজজেড

34
আমি আমার হিরোকু অ্যাপ্লিকেশনটি প্রতি 5 মিনিটে বিনামূল্যে পিন করার জন্য আপটাইমবোট ডট কম ব্যবহার করি - এটি আমাকে বলে যে আমার কাছে 200OK আছে (এবং আরও গুরুত্বপূর্ণ বিষয় যখন আমি না করি) এবং এটি অ্যাপটিকে প্রতিক্রিয়াশীল রাখে। আমি এর জন্য ক্ষমা চাই না; আমার কাছে 10 টি হিরকু অ্যাপ রয়েছে, যার বেশিরভাগ দেব বা ডেমো অ্যাপ্লিকেশন, তবে এটি বিশেষত লাইভ / প্রোডাকশন এবং কম ট্র্যাফিক থাকা সত্ত্বেও অনুরোধ করার সময় এটির দ্রুত প্রতিক্রিয়া জানানো দরকার। যদি হেরোকুর ব্যবসায়ের মডেলটির জন্য এটি হুমকি হয়ে থাকে তবে তারা আমাদের এটি করা বন্ধ করে দিত। যখন আমি হাজার হাজার বিশ্বব্যাপী ব্যবহারকারী পেয়েছি তখন আমি অন্য একটি ডিনো স্পিন করব এবং একটি দুর্দান্ত পরিষেবা কী তা প্রদান করা শুরু করব। সুতরাং অপরাধবোধ-ট্রিপ জিনিস দিয়ে ছেড়ে দিন! :)
ED-209

4
আমি টোকনের সাথে আছি। নতুন অ্যাপ্লিকেশনগুলি কীভাবে ব্যবহারকারীদের পাওয়ার কথা বলে যদি সাইটটি এটি শেষ হওয়ার আগেই ছেড়ে দেয় এত ধীর গতিতে লোড হয়?
দেবোরাহ

4
এখন এটি পিছনে তাকালে, নীড় ক্র্যাপিং সত্যই অর্জিত হয়েছিল। ভাগ্যক্রমে হেরোকু সুন্দরভাবে এটি পরিচালনা করেছিলেন। ফ্রি টায়ার আপ আপটাইম দ্বারা সীমাবদ্ধ হওয়ায় আপনি আর চিরতরে ফ্রি ডায়নো রাখতে পারবেন না।
জেনি শোয়ারস

15

আপনি হেরোকু ডাব্লু / বার্নিশ এবং মেমক্যাচে থাকা ক্যাশিং বিকল্পগুলিও তদন্ত করতে চাইতে পারেন। এগুলি ডায়নোমুক্ত থেকে যায়।

উদাহরণস্বরূপ, যদি আপনার কোনও অপরিবর্তনীয় হোমপৃষ্ঠা থাকে তবে আপনি বার্নিশে বর্ধিত সময়ের জন্য সাড়াতে ক্যাশে-নিয়ন্ত্রণ শিরোনাম যুক্ত করে এটি ক্যাশে করতে পারেন। তারপরে আপনার ব্যবহারকারীরা লোড হিট অনুভব করতে পারবেন না যতক্ষণ না তারা পৌঁছানোর পরিবর্তে "কিছু করতে" চান।


4

"স্কেলাবিলিটি: হিরোকু কীভাবে কাজ করে?" - এর টম রবিনসনের উত্তরটি আপনার পরীক্ষা করা উচিত? কোওরে: http://www.quora.com/Scalability/How-does-Heroku-work

হেরোকু বিভিন্ন গ্রাহক / অ্যাপ্লিকেশনগুলির মধ্যে সার্ভার সংস্থানগুলি ভাগ করে দেয়। আপনার অ্যাপটি কম্পিউটিং পাওয়ারের ব্লক বরাদ্দ করা হয়েছে। রিসোর্সের চাহিদার ভিত্তিতে হেরোকু পার্টিশন। যখন আপনার কাছে একটি জনপ্রিয় অ্যাপ্লিকেশন রয়েছে যা আরও পাওয়ার দাবি করে আপনি আরও বেশি 'ডায়নো' (অ্যাপ্লিকেশন পাত্রে) প্রদান করতে পারেন এবং তার বিনিময়ে পাইয়ের বৃহত্তর অংশ পেতে পারেন।

যদিও আপনার ক্ষেত্রে, আপনি একটি নিখরচায় অ্যাপ্লিকেশন চালিয়ে যাচ্ছেন যে অল্প কিছু লোক - যদি আপনার বাইরের কেউ - দেখা / ব্যবহার করছেন। অতএব, হিরোকু আপনার অ্যাপ্লিকেশনটি লোড করে যে সংস্থানগুলি পাচ্ছেন তা হ্রাস করে - এটিকে প্রয়োজনীয়ভাবে হাইবারনেশনে রেখে - আপনার ঠিকানায় কোনও অনুরোধ না করা পর্যন্ত। যখন এটি ঘটে এবং আপনার অ্যাপ্লিকেশনটি দীর্ঘকাল ধরে অলসভাবে চলেছে, তখন আবার লোড হতে সময় লাগে।

আপনার অ্যাপ্লিকেশনটিকে ঘুমিয়ে না যাওয়ার জন্য 1 অতিরিক্ত ডায়নো যুক্ত করুন, যদি সেই পুনরায় লোড সময়টি গুরুত্বপূর্ণ is


3

আমারও একই সমস্যা হচ্ছে। আমি গতরাতে একটি রেল 3 (1.9.2) অ্যাপ স্থাপন করেছি এবং এটি ধীর গতিতে। আমি জানি যে 1.9.2 / রেল 3 হিরোকুর বিটাতে রয়েছে তবে সমর্থন টিকিটটি বলেছে যে তারা আমাকে পাঠিয়েছে এমন কিছু নির্দেশনা ব্যবহার করে এটি ঠিক করা উচিত।

আমি বুঝতে পারি যে দীর্ঘ সময়ের পরে প্রথম অনুরোধটি সবচেয়ে দীর্ঘ সময় নেয়। ইন্দ্রিয় তোলে। তবে কেবল এমন পৃষ্ঠাগুলি লোড করা যেগুলি কখনও কখনও 10 সেকেন্ড সময় নিয়ে কোনও ডিবিতেও সংযুক্ত হয় না খুব খারাপ।

যাইহোক, আপনি যা করতে যাচ্ছেন তা চেষ্টা করতে পারেন। এটি প্রোফাইলটি আমার অ্যাপ্লিকেশন এবং স্থানীয়ভাবে এটি কতক্ষণ নেয় তা দেখুন। যদি এটি 400 মিমি নিচ্ছে তবে কিছু ভুল। তবে আমি যদি স্থানীয়ভাবে 50 মিমি পেতে এবং এটি হিরোকুতে 10 সেকেন্ড সময় নেয় তবে অবশ্যই কিছু ভুল।

স্পষ্টতই, ক্যাচিং সহায়তা করে তবে আপনি কেবলমাত্র 5MB বিনামূল্যে এবং একবারে একবারে একজন ব্যক্তির সাথে সাইটটি ব্যবহার করছেন, এটি এত ধীর হওয়া উচিত নয়।


1

হিরকুর ফ্রি অ্যাকাউন্টের মাধ্যমে আমি যে অ্যাপ্লিকেশনটি দিয়েছি তাতে আমার একই সমস্যা ছিল। এখন ডায়নো যুক্ত করার বিকল্প রয়েছে যাতে আপনার অ্যাপটি কিছুক্ষণ ব্যবহার না করা অবস্থায় লোড না হয়ে যায়, আপনি ক্যাডিংয়ের জন্য রেডিস বা ম্যাক্যাচ ব্যবহার করেও চেষ্টা করতে পারেন। তবে আমি আমার ক্ষুদ্র স্কেল প্রকল্পের জন্য একটি হ্যাকি সমাধান ব্যবহার করেছি, আমি মূলত ওয়েব স্ক্র্যাপটি এটিকে নিদ্রা এবং তড়াসহ একটি অসীম লুপের ভিতরে রেখেছিলাম ওয়েবসাইটটিতে আসলে আরও ভাল প্রতিক্রিয়ার সময় ছিল (আমার ধারণা এটি স্ক্রিপ্টের কারণে অফলোড হচ্ছে না)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.