2009-08-13 6 views
0

J'essaye de servir le format PDF (en utilisant le serveur Tomcat + Servlet Normal Streaming). La cuisson à la vapeur est stable, il n'y a pas de bogue et il gère le service parallèle. Mais pas aussi vite que Google DOC PDF Streaming.Google Docs PDF Streaming est plus rapide que Java servlet Stream?

Ma question est comment ont-ils fait aussi vite?

Quel serveur ils utilisent (Apache + PHP)? ou Python?

S'il vous plaît suggérer quelle technologie je peux utiliser pour accélérer le serveur qui est aussi bon que google.

(je sais un facteur principal est la bonne configuration matérielle ainsi qu'une connectivité. Ma question est en dehors de cela)

+2

Comment avez-vous testé votre code? Est-il plus lent que Google Docs lorsque vous l'exécutez depuis _local_ machine? Si c'est le cas, le problème est probablement lié à votre code, sinon il est probable que cela soit dû à des problèmes de connectivité. De toute façon, il n'y a pas assez d'informations dans votre question pour fournir une réponse raisonnable. – ChssPly76

+0

En fait, j'ai suivi la mise en mémoire tampon pendant le service. suivi le code de http://stackoverflow.com/questions/55709/streaming-large-files-in-a-java-servlet – Niger

+0

Cela ne répond pas à ma question. Votre code est-il plus lent que Google Docs lorsque vous l'exécutez localement? Je doute vraiment que la différence de vitesse puisse être causée par la pile technologique. – ChssPly76

Répondre

1

Google est probablement pas générer le fichier PDF à la volée. Je devine que vous êtes.

+0

Droit Matt. Je génère un PDF à la volée. Mais je ne considère pas le temps de générer le PDF. Je considère le moment où il commence à servir après la génération de PDF. Je donne ce que S3, laissez-moi vérifier S3 URL – Niger

+0

Désolé, je pensais que la question liée à ci-dessus a été posée par vous. J'ai enlevé la question sur S3 de ma réponse. –

+0

Aucun problème. Maintenant, j'ai appris AWS. Merci Matt – Niger

0

Ils utilisent probablement la compression. Prend plus de CPU, mais envoie un peu moins de données sur le fil - d'où il vous arrive plus rapidement.

+0

La CPU affiche 0.1% d'utilisation – Niger

+0

Cela ne signifie pas qu'il n'y a pas de compression - un CPU multi-core moderne peut faire de la compression sans faire de vagues. Vous devez mesurer le nombre d'octets que vous recevez (ou vérifier les en-têtes http dans la réponse et voir si Google Docs l'envoie compressé). – Gandalf

Questions connexes