রাউটারে I/O টাইমআউট কনফিগার করা হচ্ছে

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

এই নথিটি ব্যাখ্যা করে কিভাবে Apigee Edge এর রাউটারে I/O টাইমআউট কনফিগার করতে হয়।

রাউটারের I/O টাইমআউট সেই সময়ের প্রতিনিধিত্ব করে যার জন্য রাউটার বার্তা প্রসেসরের কাছ থেকে একটি প্রতিক্রিয়া পাওয়ার জন্য অপেক্ষা করে, সংযোগ স্থাপন করার পরে এবং মেসেজ প্রসেসরের কাছে অনুরোধ পাঠানোর পরে। রাউটারে I/O টাইমআউটের ডিফল্ট মান হল 57 সেকেন্ড।

রাউটারের জন্য I/O টাইমআউট আপনার প্রয়োজনের উপর ভিত্তি করে 57 সেকেন্ডের ডিফল্ট মান থেকে বাড়ানো বা হ্রাস করা যেতে পারে। এটি নিম্নলিখিত উপায়ে কনফিগার করা যেতে পারে:

  • ভার্চুয়াল হোস্টে
  • রাউটারে

নিম্নলিখিত বৈশিষ্ট্য রাউটারগুলিতে I/O সময়সীমা নিয়ন্ত্রণ করে:

সম্পত্তির নাম অবস্থান বর্ণনা
proxy_read_timeout ভার্চুয়াল হোস্ট

সংযোগ স্থাপন এবং বার্তা প্রসেসরের কাছে অনুরোধ পাঠানোর পরে, রাউটার মেসেজ প্রসেসরের কাছ থেকে একটি প্রতিক্রিয়া পাওয়ার জন্য অপেক্ষা করার জন্য সর্বাধিক সময় নির্দিষ্ট করে।

এই সময়সীমার মধ্যে যদি মেসেজ প্রসেসর থেকে কোন সাড়া না পাওয়া যায়, তাহলে রাউটার টাইম আউট হয়ে যাবে।

ডিফল্টরূপে, এই প্রপার্টিটি রাউটারের conf_load_balancing_load.balancing.driver.proxy.read.timeout প্রপার্টির জন্য সেট করা মান নেয়। ডিফল্ট মান হল 57 সেকেন্ড

যদি এই বৈশিষ্ট্যটি একটি নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য একটি নতুন টাইমআউট মান দিয়ে সংশোধন করা হয়, তাহলে শুধুমাত্র সেই নির্দিষ্ট ভার্চুয়াল হোস্ট ব্যবহার করে API প্রক্সিগুলি প্রভাবিত হয়৷

conf_load_balancing_load.balancing.driver.proxy.read.timeout রাউটার

সংযোগ স্থাপন এবং বার্তা প্রসেসরের কাছে অনুরোধ পাঠানোর পরে, রাউটার মেসেজ প্রসেসরের কাছ থেকে একটি প্রতিক্রিয়া পাওয়ার জন্য অপেক্ষা করার জন্য সর্বাধিক সময় নির্দিষ্ট করে।

এই সময়সীমার মধ্যে যদি মেসেজ প্রসেসর থেকে কোন সাড়া না পাওয়া যায়, তাহলে রাউটার টাইম আউট হয়ে যাবে।

এই রাউটারের সমস্ত ভার্চুয়াল হোস্টের জন্য এই সম্পত্তি ব্যবহার করা হয়।

এই সম্পত্তির ডিফল্ট মান হল 57 সেকেন্ড

আপনি নীচের রাউটারগুলিতে I/O টাইমআউট কনফিগার করার ব্যাখ্যা অনুসারে এই বৈশিষ্ট্যটি সংশোধন করতে পারেন, অথবা ভার্চুয়াল হোস্ট স্তরে proxy_read_timeout বৈশিষ্ট্য সেট করে আপনি এই মানটিকে ওভাররাইট করতে পারেন।

আপনি নিম্নলিখিত স্বরলিপি ব্যবহার করে সেকেন্ড ছাড়া অন্য কিছু হিসাবে এই সম্পত্তির জন্য সময় ব্যবধান সেট করতে পারেন:

ms: milliseconds
s:  seconds (default)
m:  minutes
h:  hours
d:  days
w:  weeks
M:  months (length of 30 days)
y:  years (length of 365 days)
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout রাউটার

সংযোগ স্থাপন এবং প্রতিটি বার্তা প্রসেসরের কাছে অনুরোধ পাঠানোর পরে রাউটার সমস্ত বার্তা প্রসেসরের কাছ থেকে প্রতিক্রিয়া পাওয়ার জন্য মোট কত সময় অপেক্ষা করে তা নির্দিষ্ট করে।

এটি প্রযোজ্য যখন আপনার এজ ইন্সটলেশনে একাধিক মেসেজ প্রসেসর থাকে এবং ত্রুটি দেখা দিলে পুনরায় চেষ্টা করা হয়। এটির নিম্নলিখিতগুলির একটির মান রয়েছে:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout এর বর্তমান মান
  • 57 সেকেন্ডের ডিফল্ট মান

conf_load_balancing_load.balancing.driver.proxy.read.timeout বৈশিষ্ট্যের মতো, আপনি ডিফল্ট (সেকেন্ড) ছাড়া অন্য সময়ের ব্যবধান নির্দিষ্ট করতে পারেন।

আপনি শুরু করার আগে

আপনি এই নথিতে পদক্ষেপগুলি ব্যবহার করার আগে, আপনি নিম্নলিখিত বিষয়গুলি বুঝতে পেরেছেন তা নিশ্চিত করুন:

ভার্চুয়াল হোস্টে I/O টাইমআউট কনফিগার করা হচ্ছে

এই বিভাগটি ব্যাখ্যা করে যে কিভাবে একটি সংস্থা এবং পরিবেশের সাথে যুক্ত ভার্চুয়াল হোস্টে I/O টাইমআউট কনফিগার করতে হয়। I/O টাইমআউট প্রপার্টি proxy_read_timeout এর মাধ্যমে ভার্চুয়াল হোস্টে কনফিগার করা যেতে পারে, যা সেকেন্ডে I/O টাইমআউট মান উপস্থাপন করে।

আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে ভার্চুয়াল হোস্ট কনফিগার করতে পারেন:

  • এজ UI
  • এজ এপিআই

এজ UI

এজ UI ব্যবহার করে ভার্চুয়াল হোস্ট কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. এজ UI এ লগইন করুন।
  2. অ্যাডমিন > ভার্চুয়াল হোস্টে নেভিগেট করুন।
  3. একটি নির্দিষ্ট পরিবেশ নির্বাচন করুন যেখানে আপনি এই পরিবর্তন করতে চান।
  4. নির্দিষ্ট ভার্চুয়াল হোস্ট নির্বাচন করুন যার জন্য আপনি নতুন I/O টাইমআউট মান কনফিগার করতে চান।
  5. বৈশিষ্ট্যের অধীনে, সেকেন্ডের মধ্যে প্রক্সি রিড টাইমআউট মান আপডেট করুন।

    উদাহরণস্বরূপ, আপনি যদি 120 সেকেন্ডের সময়সীমা পরিবর্তন করতে চান তবে নিম্নলিখিত চিত্রে দেখানো হিসাবে 120 টাইপ করুন:

    Proxy read timeout value of 120

  6. পরিবর্তন সংরক্ষণ করুন.

এজ এপিআই

এজ এপিআই ব্যবহার করে ভার্চুয়াল হোস্ট কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. নিচের মত গেট ভার্চুয়াল হোস্ট API ব্যবহার করে বর্তমান ভার্চুয়াল হোস্ট কনফিগারেশন পান:

    পাবলিক ক্লাউড ব্যবহারকারী

    curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    ব্যক্তিগত ক্লাউড ব্যবহারকারী

    curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    কোথায়:

    {organization-name} হল সংগঠনের নাম

    {environment-name} হল পরিবেশের নাম

    {virtualhost-name} হল ভার্চুয়াল হোস্টের নাম

    ভার্চুয়ালহোস্ট কনফিগারেশনের নমুনা

        {
          "hostAliases": [
            "api.myCompany,com"
          ],
          "interfaces": [],
          "listenOptions": [],
          "name": "secure",
          "port": "443",
          "retryOptions": [],
          "sSLInfo": {
            "ciphers": [],
            "clientAuthEnabled": "false",
            "enabled": "true",
            "ignoreValidationErrors": false,
            "keyAlias": "myCompanyKeyAlias",
            "keyStore": "ref://myCompanyKeystoreref",
            "protocols": []
          },
          "useBuiltInFreeTrialCert": false
        }
    
  2. বর্তমান ভার্চুয়াল হোস্ট কনফিগারেশন JSON পেলোডে প্রপার্টি proxy_read_timeout যোগ করুন সেকেন্ডে মান সহ properties অধীনে।

    উদাহরণস্বরূপ, I/O টাইমআউটকে 120 সেকেন্ডে পরিবর্তন করতে, নীচে দেখানো হিসাবে properties কোড ব্লক যোগ করুন:

    নমুনা আপডেট করা ভার্চুয়াল হোস্ট কনফিগারেশন

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    
  3. একটি ফাইলে আপডেট করা ভার্চুয়াল হোস্ট কনফিগারেশন সংরক্ষণ করুন। উদাহরণস্বরূপ, virtualhost-payload.json
  4. নিম্নরূপ একটি ভার্চুয়াল হোস্ট API আপডেট করুন ব্যবহার করে পরিবর্তনের সাথে virtualhost কনফিগারেশন আপডেট করুন:

    পাবলিক ক্লাউড ব্যবহারকারী

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    ব্যক্তিগত ক্লাউড ব্যবহারকারী

    curl -v -X POST Content-Type: application/json
    http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    কোথায়:

    {organization-name} হল সংগঠনের নাম

    {environment-name} হল পরিবেশের নাম

    {virtualhost-name} হল ভার্চুয়াল হোস্টের নাম

ভার্চুয়াল হোস্টে I/O টাইমআউট যাচাই করা হচ্ছে

এজ এপিআই ব্যবহার করে ভার্চুয়াল হোস্টে I/O টাইমআউট সফলভাবে পরিবর্তন করা হয়েছে কিনা তা যাচাই করতে এই বিভাগটি ব্যাখ্যা করে।

  1. নীচে দেখানো হিসাবে virtualhost কনফিগারেশন পেতে গেট ভার্চুয়াল হোস্ট API চালান:

    পাবলিক ক্লাউড ব্যবহারকারী

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    ব্যক্তিগত ক্লাউড ব্যবহারকারী

    curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    কোথায়:

    {organization-name} হল সংগঠনের নাম

    {environment-name} হল পরিবেশের নাম

    {virtualhost-name} হল ভার্চুয়াল হোস্টের নাম

  2. যাচাই করুন যে সম্পত্তি proxy_read_timeout নতুন মান সেট করা হয়েছে।

    নমুনা আপডেট করা ভার্চুয়াল হোস্ট কনফিগারেশন

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
    

    উপরের উদাহরণে, মনে রাখবেন যে proxy_read_timeout 120 সেকেন্ডের নতুন মান সহ সেট করা হয়েছে।

  3. আপনি যদি এখনও proxy_read_timeout, তাহলে যাচাই করুন যে আপনি ভার্চুয়াল হোস্টে I/O টাইমআউট কনফিগার করার ক্ষেত্রে বর্ণিত সমস্ত পদক্ষেপ সঠিকভাবে অনুসরণ করেছেন। আপনি যদি কোনো ধাপ মিস করে থাকেন তবে সবগুলো ধাপ সঠিকভাবে পুনরাবৃত্তি করুন।
  4. আপনি যদি এখনও I/O টাইমআউট পরিবর্তন করতে না পারেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

রাউটারে I/O টাইমআউট কনফিগার করা হচ্ছে

এই বিভাগটি ব্যাখ্যা করে কিভাবে রাউটারে I/O টাইমআউট কনফিগার করতে হয়। I/O টাইমআউট রাউটার প্রপার্টি conf_load_balancing_load.balancing.driver.proxy.read.timeout এর মাধ্যমে কনফিগার করা যেতে পারে, যা সেকেন্ডে I/O টাইমআউট মান উপস্থাপন করে।

রাউটারগুলিতে I/O টাইমআউট কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. রাউটার মেশিনে, একটি সম্পাদকে নিম্নলিখিত ফাইলটি খুলুন। যদি এটি ইতিমধ্যে বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    /opt/apigee/customer/application/router.properties
    

    উদাহরণস্বরূপ, vi দিয়ে ফাইলটি খুলতে, নিম্নলিখিত কমান্ডটি প্রবেশ করান:

    vi /opt/apigee/customer/application/router.properties
    
  2. properties ফাইলে নিম্নলিখিত বিন্যাসে একটি লাইন যোগ করুন, time_in_seconds এর জন্য একটি মান প্রতিস্থাপন করুন:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    উদাহরণস্বরূপ, রাউটারের I/O টাইমআউট 120 সেকেন্ডে পরিবর্তন করতে, নিম্নলিখিত লাইনটি যোগ করুন:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    

    আপনি মিনিটের মধ্যে I/O সময়সীমা পরিবর্তন করতে পারেন। উদাহরণস্বরূপ, টাইমআউট দুই মিনিটে পরিবর্তন করতে, নিম্নলিখিত লাইন যোগ করুন:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
    
  4. আপনার পরিবর্তন সংরক্ষণ করুন.
  5. নিশ্চিত করুন যে এই প্রপার্টি ফাইলটি নীচে দেখানো হিসাবে apigee ব্যবহারকারীর মালিকানাধীন:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  6. নীচে দেখানো হিসাবে রাউটার পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. আপনার যদি একাধিক রাউটার থাকে তবে সমস্ত রাউটারে উপরের ধাপগুলি পুনরাবৃত্তি করুন।

রাউটারে I/O টাইমআউট যাচাই করা হচ্ছে

এই বিভাগটি ব্যাখ্যা করে যে কিভাবে যাচাই করা যায় যে I/O টাইমআউট সফলভাবে রাউটারে পরিবর্তন করা হয়েছে।

যদিও আপনি রাউটারে I/O টাইমআউট সেট করতে conf_load_balancing_load.balancing.driver.proxy.read.timeout টোকেন ব্যবহার করেন, আপনাকে যাচাই করতে হবে প্রকৃত সম্পত্তি proxy_read_timeout নতুন মান দিয়ে সেট করা হয়েছে কিনা।

  1. /opt/nginx/conf.d ডিরেক্টরিতে proxy_read_timeout প্রপার্টি অনুসন্ধান করুন এবং নিচের মত নতুন মান দিয়ে সেট করা হয়েছে কিনা তা পরীক্ষা করুন:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. যদি নতুন I/O টাইমআউট মান রাউটারে সফলভাবে সেট করা হয়, তাহলে উপরের কমান্ডটি সমস্ত ভার্চুয়াল হোস্ট কনফিগারেশন ফাইলগুলিতে নতুন মান দেখায়।

    I/O সময়সীমা 120 সেকেন্ড হলে উপরের grep কমান্ড থেকে নিম্নলিখিত নমুনা ফলাফল:

    /opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120;
    /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
    

    উপরের উদাহরণের আউটপুটে, লক্ষ্য করুন যে প্রপার্টি proxy_read_timeout 0-default.conf এ নতুন মান 120 সহ সেট করা হয়েছে যা ডিফল্ট ভার্চুয়াল হোস্টের কনফিগারেশন ফাইল। এটি নির্দেশ করে যে I/O টাইমআউট সফলভাবে রাউটারে 120 সেকেন্ডে কনফিগার করা হয়েছে।

  3. আপনি যদি এখনও proxy_read_timeout প্রপার্টির জন্য পুরানো মান দেখতে পান, তাহলে যাচাই করুন যে আপনি রাউটারে I/O টাইমআউট কনফিগার করার ক্ষেত্রে বর্ণিত সমস্ত ধাপগুলি সঠিকভাবে অনুসরণ করেছেন। আপনি যদি কোনো ধাপ মিস করে থাকেন তবে সবগুলো ধাপ সঠিকভাবে পুনরাবৃত্তি করুন।
  4. আপনি যদি এখনও I/O টাইমআউট পরিবর্তন করতে না পারেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।

এরপর কি?

বার্তা প্রসেসরে I/O টাইমআউট কনফিগার করার বিষয়ে জানুন