2017-02-10 7 views
9

नहीं कहा गया है कुछ दिन पहले मैंने स्वत: पूर्ण सुझावों के लिए एक प्रणाली लागू की जो भाषा के आधार पर एक शब्दकोश के साथ काम करता है। यहां बताया गया है कि यह कैसे काम करता है: JQuery UI स्वत: पूर्ण -> .php फ़ाइल पर कॉल करें -> VB6 COM dll फ़ंक्शन पर कॉल करें -> .sqlite फ़ाइल पर कॉल करें और टाइप किए गए अक्षरों के आधार पर परिणाम ढूंढें -> परिणाम परिणाम php -> वापसी परिणाम जे एस।स्क्लाइट और विंडोज़: इस ऑपरेशन को पूरा करने के लिए पर्याप्त संग्रहण उपलब्ध नहीं है और CoInitialize को

यह काफी तेज़ काम करता है, जैसा कि प्रत्येक ऑपरेशन को पूरा करने के लिए औसत ~ 7 (मिलीसेकंड) लेता है। चरम घंटों के दौरान, Google Analytics ~ 1200 ऑनलाइन उपयोगकर्ताओं को दिखाता है, और आम तौर पर हम प्रत्येक दिन इस विशेष समारोह में ~ half a million कॉल प्राप्त करते हैं।

Not enough storage is available to complete this operation. 

CoInitialize has not been called. 

कुछ जानकारी जो मदद मिल सकती है:

क) इन संदेशों को शिखर के दौरान ज्यादातर दिखाई

दिन इस स्वत: पूर्ण सुझाव प्रणाली ऑनलाइन चला गया से मैं दो बहुत ही विशिष्ट त्रुटि संदेश के सैकड़ों देख शुरू कर दिया आगंतुकों horus

बी) वे हमेशा विशिष्ट कार्य के साथ नहीं दिखते हैं, बल्कि दूसरों पर भी (लेकिन उपर्युक्त प्रणाली को लागू करने से पहले कभी नहीं किया गया)

ग) मैंने पहले ही अन्य सामान के लिए (के रूप में ज्यादा नहीं "वास्तविक समय" SQLite डेटाबेस का इस्तेमाल किया, लौटने परिणामों में जब कोई उपयोगकर्ता प्रकार) लेकिन कभी ऐसी समस्या

घ) SQLite के आकार में दिखाई दिया फाइल 3 टेबल के साथ ~ 350 एमबी है, उनमें से एक ~ 2,2 मिलियन प्रविष्टियां है, दूसरे में 1,6 मिलियन हैं और अन्य ~ 16 वीं और प्रविष्टियां हैं और सभी आवश्यक कॉलम अनुक्रमित हैं।

ई) जाहिर है इस डेटाबेस केवल पढ़ने के संचालन

च) एक बार जब प्रणाली अक्षम हो जाता है के लिए प्रयोग किया जाता है, सभी संदेशों को बंद करो।

छ) मैं समारोह/दिन 500,000 के बारे में कॉल) के साथ (प्रत्येक संदेश के लिए इस तरह के त्रुटि संदेश प्रत्येक दिन हजार के बारे में मिल सर्वर सिस्टम दो (x2) बॉक्स है: 3 में कोर I7 4770, 8GHZ, 32 जीबी रैम, विंडोज सर्वर 2012 और आईआईएस।

संदेश यादृच्छिक रूप से दिखाई देते हैं और केवल चरम घंटों के दौरान। मैं विकास मशीन पर समस्या को दोहराना नहीं कर सकता। अब तक इंटरनेट खोजना निष्फल रहा है। इसके कारण और हल करने के तरीके के बारे में कोई भी विचार स्वागत से अधिक होगा।

धन्यवाद।

+2

पूछना होगा, बीच में एक vb6 कॉम घटक क्यों है? PHP आसानी से SQLite से चैट कर सकते हैं। –

+0

इस प्रकार सभी शब्दकोष शुरू हो गए हैं, सभी ऑपरेशन vb6 com dll में होते हैं, वहां ऐसी चीजें हैं जिन्हें PHP पर पोर्टिंग करने में बहुत समय की आवश्यकता होती है (जो शायद थोड़ा धीमा हो जाएगा)। php में इस विशेष फ़ंक्शन को पुन: कार्यान्वित करना मेरा अंतिम उपाय होगा – MIrrorMirror

+0

आपके SQLite डेटाबेस कनेक्शन के लिए cache_size और page_size मानों का उपयोग क्यों किया जा रहा है? –

उत्तर

1

तथ्य यह एक क्षणिक समस्या है जो केवल पीक उपयोग समय पर होती है, यह एक स्पष्ट स्पष्ट संकेत है जो स्मृति से बाहर चल रहा है - शायद आपका वीबी डीएलएल (यह संभवतः एकमात्र जगह है जहां CoInitialize कहा जा रहा है)।

मैंने कई सिस्टम चलाने के साथ समान समस्याएं देखी हैं और "सिस्टम हैंडल" से बाहर निकलने के लिए जीतें - मुझे एक W2K उन्नत सर्वर बॉक्स मिला है जिसे मैं डेस्कटॉप मशीन के रूप में उपयोग कर रहा हूं (क्योंकि एम $ नहीं है एक एएस इंस्टेंस से डेस्कटॉप पर एक अपग्रेड पथ प्रदान करें) आम तौर पर एक दर्जन एक्सप्लोरर विंडोज़, 8-10 टैब के साथ विनएससीपी, कई पुटी सत्र, कई डॉस बॉक्स, रिमोट डेस्कटॉप कनेक्शन, 4 विंडोज़ में 184 टैब के साथ फ़ायरफ़ॉक्स, थंडरबर्ड 40 देखना ईमेल खाते, WinAmp, और कुछ अन्य - और पेंटशॉपप्रो और PhpED बस उपर्युक्त सिस्टम हैंडल सीमा के कारण एक ही समय में चलना चाहते हैं।

आपकी समस्या को इस मुद्दे पर अधिक रैम फेंककर बस तय किया जा सकता है, लेकिन आपको शायद कुछ प्रदर्शन जांच करनी चाहिए, और सिस्टम सेटिंग्स को ट्विक करने के लिए जांचना चाहिए।

संबंधित मुद्दे