Ταυτόχρονη εκτέλεση χιλιάδων script

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
nikos_90
Δημοσιεύσεις: 34
Εγγραφή: 16 Ιουν 2010 16:07

Ταυτόχρονη εκτέλεση χιλιάδων script

Δημοσίευση από nikos_90 » 12 Ιαν 2014 04:58

Θέλω να δημιουργήσω μια εφαρμογή η οποία να τρέχει ταυτόχρονα χιλιάδες scripts. Multithreaded όμως, οχι το ένα μετα το αλλο.
Έχεις υλοποιήσει κανεις κάτι τέτοιο;
Είδα για ένα extension της php, το php threads αλλα αναρωτιέμαι πόσο βαρύ θα είναι για τον σερβερ

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Ταυτόχρονη εκτέλεση χιλιάδων script

Δημοσίευση από giannis17 » 12 Ιαν 2014 12:45

Ο πιο σωστός τρόπος να κάνεις κάτι τέτοιο είναι με την Java. Όχι ότι δεν θα γίνει με κάποια άλλη γλώσσα αλλά ανάλογα με το πόσο βαριά είναι τα script που πρόκειται να τρέχουν με την Java θα μπορείς να μοιράσεις το workload μέσω ενός απλού applet ανάμεσα στους χρήστες και τον server. Scripts δηλαδή που αφορούν το συγκεκριμένο χρήστη και δεν περιέχουν επικίνδυνα δεδομένα μπορούν να τρέχουν μέσα στο applet που θα τρέχει στο PC του χρήστη αντί τον server γλυτώνοντας έτσι σημαντική ισχύ από τον server σου.

Όλες οι υπόλοιπες γλώσσες θα τρέχουν αναγκαστικά όλα τα script στον server το οποίο συνήθως έχει μεγάλες απαιτήσεις σε υπολογιστική ισχύ, πάντα βέβαια ανάλογα με το βάρος και την ποσότητα των script που τρέχουν εκείνη τη στιγμή.

Ένας απλοϊκός τρόπος να υπολογίσεις στο περίπου την ισχύ που χρειάζεσαι είναι να βρεις πόσα ms κάνει ένα script για να εκτελεστεί μετά υπολογίζεις πως μπορούν τα τρέχουν πραγματικά ταυτόχρονα 2 ανά πυρήνα και από εκεί και μετά ξεκινάς τους πολλαπλασιασμούς, όταν φτάσεις τα 150ms είσαι στο όριο της καθυστέρησης.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

nikos_90
Δημοσιεύσεις: 34
Εγγραφή: 16 Ιουν 2010 16:07

Ταυτόχρονη εκτέλεση χιλιάδων script

Δημοσίευση από nikos_90 » 12 Ιαν 2014 13:58

Νομίζω ότι αυτό δ είναι σωστό για την εφαρμογή που θέλω γιατί τα script θα εκτελούνται όταν οι χρήστες δ είναι ονλινε. Οπότε όλο το workload θα πέφτει στον σερβερ

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ταυτόχρονη εκτέλεση χιλιάδων script

Δημοσίευση από alou » 12 Ιαν 2014 14:45

Ανάλογα την εφαρμογή και τις ανάγκες, πιθανώς αξίζει να ψάξεις και non-blocking I/O λύσεις τύπου node.js αντί για multithreading.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Ταυτόχρονη εκτέλεση χιλιάδων script

Δημοσίευση από Rapid-eraser » 13 Ιαν 2014 14:54

Καλησπέρα ,
μπορείς να πας σε μία λύση τύπου ActiveMQ , RabbitMQ, ZeroMQ
που κάνουν την ζωή σου πιο εύκολη χωρίς να αλλάξεις την γλώσσα που έχεις επιλέξει να εργαστείς.

Ανάλογα με το τι θες να κάνεις φυσικά υπάρχει η καλύτερη αρχιτεκτονική και το καταλληλότερο framework/lib/server
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες